Skip to content

Workflow Definitions

What is a Workflow Definition?

A workflow definition is a collection of task definitions that need to be tracked against a specific Subject and performed by the same logical team. A workflow definition may contain every task related to a workflow, or may represent a smaller workflow in the context of a wider workflow (i.e. you may choose to break up a large workflow into multiple workflow definitions).

What is a Task Definition?

A task definition is a template of an actionable output from a Workflow that requires completion by a user or automated system in order to fulfill the workflow requirements.

All tasks will have a required Name, Key, and Task Type. You will also have the option to enter an Owner and Owner Type. If the type is Manual you will also have the option to enter a Description and Assignee. If included, the Assignee should reference a specific user.

The task definition describes triggers and mutations which will create or update a task instance.

Task Keys

Each task definition has a key. See Task Keys for more.

Task Types

Each task definition has one of the following task types:

State

State can be used to store extra details within a task. See Task State for more.

Filters

Filters can be added to tasks to determine if the task should be created. These should be an XPath expression that results in either true (if the task should be created) or false (if it shouldn't).

Due dates

Each task definition can have an associated due date that can be set to it. See Task Due Date for more.

Exclusive

If a task has exclusive set to true, then only one instance of that task will be created for each unique pair of subject ID and correlation ID. Completed tasks are included in that, so even once a task has been finished, no more instances of that task will be created for that combination of subject ID and correlation ID. Changing either or both of the subject/correlation ID will result in another task instance being created.

When exclusive is false, a task instances will be created every time it is triggered, regardless of whether there are existing instances.