---
# System prepended metadata

title: Controller WorkFlows

---

# Controller WorkFlows


### Events are triggered:
- From other events
- From UIX/UX (roots-react-native)
    - scan QR code
        - goal_code
    - tap button in chat or other screen
        - type of button (i.e. accept mediate, accept offer, accept credential, ect)
    - text entry in chat
        - text entered as command
        - text entered as basicmessage
- From Libs/SDKs (RootsID, Prism, Aries, etc)
    - incomming DIDComm message
    - VDR async responses (i.e. DID creation)
    - NFC scan
    - BLE


### Event handlers excecutes a function with logic than can call
- Other events
- Publish Generic Messages to UI/UX
    - display a text
    - display an action button of type xxx
- Calls to the Store (store/retrieve)
- Call functions from the libraries/SDKs
    - send a DIDComm message
    - create/update a DID
    - verify a VC
    - create a VC
    - call a more advance function on an SDK

### Protocol
- Collection of event handlers
- It's an extension of DIDComm protocols
- It's defined in a `.ts` file, or a collection of `.ts` files in a folder for more complex protocols
- Event handlers are async, so do not return any value





