An Action is a component that is executed as part of a running Flow. An Action can accept an optional input from the Flow, and returns the result of the execution (succeeded or failed), along with an optional output, back to the Flow.

Every Action is responsible for defining the format of its input and output, both of which can be complex objects, the only requirement is that they can be serialized to JSON.

Actions make use of the event-driven architecture pattern for the execution process to receive events containing the optional input and send events containing the optional output.

Actions can be related to a specfic source system, e.g. Unit4 Student Management, to all source systems in a Unit4 eco-system, e.g. Digital Assistant Push Text, or be independent of the Unit4 eco-system, e.g. REST Request, allowing the Extension Kit to work with external Cloud Services like LogicApps, Zapier, or IFTTT.

Actions do not require any specific configuration to be executed in a Flow, they rely entirely on input data to perform the operation.