If a workflow describes a process, a task defines an instance of the process. Each task can be understood as an instance of work that lives in a queue (the workflow) waiting to be picked up by a user. Tasks are represented according to its parent workflow's configuration (see Configuration).
Without tasks, we have an empty workflow, which isn't that useful. So, we need to create tasks.
Tasks can be created in two ways:
Manually via New Task. Allows users to create create new tasks from within the UI.
Connections. Sources and destinations that can create or receive tasks programmatically, in-batch or through third party apps. This will be addressed in detail in the next section.
Tasks can be found in each workflow's home screen. A task is characterized by the following properties, regardless of the workflow's configuration:
ID. A unique task identifier.
Status. The task's current status.
Assignee. The task's assignee.
Comments. The task's comment counter.
To work a task, you can either:
Choose Play, which will take you to the first task in the queue.
Select a specific task.
Statuses indicate which stage each task is in within the workflow. It can be either of:
New. All tasks sent into a workflow start here until they get picked up by a user.
Open. Refers to tasks that have been previously assigned to someone but which are currently unassigned.
In Progress. Tasks which are currently assigned to someone.
Completed. Tasks which have been completed.
Assignation is the mechanism that helps avoid duplicative work, by ensuring only one person can work on and submit a given task.
When you load a New or Open task, it will get assigned to you and you can start working on it.
If you load a task In Progress which is not assigned to you, you will not be able to modify it. However, you can pick up the task by reassigning it to you through the left hand side panel:
You can also unassign a task from yourself if you don't intend on completing it, so it can get dispatched to another user automatically.
If you have done some work on a task but don't intend to complete it at that point in time, you can save the task's current state by clicking Save. This will prompt an update to the task in the queue.
Clicking Submit will send the task for completion. If the request succeeds, the task status switches to Complete and the task will be sent to the workflow's registered destinations.
A successful task submission will result in a new task getting dispatched to the user. The criteria for task prioritization is FIFO of New tasks, followed by Open tasks.
Each Task has its own Activity for context as well as commenting functionality to let you communicate with your teammates in-task, so you can ask questions, share context or provide feedback.