In Mechanic, an action is an instruction for performing work that has an effect. Actions are generated by tasks, in response to events. Each action has a type, specifying the class of operation to be performed, and options, providing specifics about what that operation will do.
Actions are defined by tasks using action objects, which are simple JSON objects specifying an action's type and options. Action objects can be constructed using the action tag.
Actions are performed asynchronously, which means their results are only accessible after the conclusion of the related task and action run (See Responding to action results).
An action type determines the class of operation to be performed. While actions may vary greatly, there are only a few action types: