Actions represent things that transform objects in time. If you think about what it means to perform work, all you are doing is transforming some object (e.g. a draft document) into some new object (e.g. a final document). Actions are a generalization of this process.
Depending on the context, you can think of an action as a task that you assign to someone or an automated process that occurs with no human intervention. By standardizing the specific work to be done, you can define standardized, well documented processes or seamlessly automate the work using bots or integrations!
Every action in Aarkc has one or more action type. These action types define the default properties, inputs objects, and output objects.
Inputs define the objects required to perform the action or do the work. For example, if proofreading a document, the draft document is the input object.
Outputs define the objects that will be generated by performing the action. For example, if proofreading a document, the final document is the output object. You can also think of this as a task deliverable.
Actions may be assigned to users, freelancers, or bots. This allows you to easily outsource or automate the work.
Actions may be assigned a status to denote whether it is completed or not.
Actions may have some associated properties. These properties (in addition to the input objects) should provide all of the context necessary to perform the work.