Workflows are designed to be layered. Best practice for building workflows is to utilize the start entities and start conditions to build layers and exceptions. Doing this makes managing and editing workflows simpler.
Workflow Engine Logic
- Evaluate all workflows with a priority based on Start Entities and/or Start Conditions in order lowest to highest.
- Evaluate workflows with Start Entities and/or Start Conditions
- Workflows with no Start Entity or no Start Condition WILL NOT be evaluated and will follow default
- If a submission does not meet criteria of any workflow it will follow the Default workflow
Default Workflows
Every Form in Omnidek must have a default workflow. When a new form is saved a workflow is created by default. The workflow is called Default Workflow and is made up of a start node and end node.
A Default Workflow CANNOT have:
- Priority
- Start Condition
- Start Entity
Setting A Workflow as Default
Every form must have a default workflow. To create or select a new workflow to be default, toggle on the Is Default flag.
You cannot delete a default workflow because the delete button will be grayed out and not active. Make another workflow default, then the old default workflow's delete button will be active.
Editing A Workflow
Changes that can be made when submissions in progress:
- Add/remove a Coordinator
- Add/remove a Start Entity
- Edit a Node Name
- Add/remove Filters on a Node
- Enable/disable Notify all participants in the End Note
- Enable/disable Notify form submitter in the End Note
- Add/remove Notify specific entities in the End Node
Changes that CANNOT be made when submissions in progress:
- Add/remove a Node
If modifications need to be made to a workflow, a coordinator can manage submissions in progress in bulk.
Start Node
The Start Node is the green circle with a flag at the to of a Form Designer. It has various properties in the panel to the right: Coordinators, Start Entities, Priority, and Start Condition. The Start Node has configurations that allow for certain conditions to be read when a submission is started. These configuration works together to allow for more specified routing within the system.
Coordinators
A role assigned to a user from a workflow that gives access to specific actions on the submissions. Coordinators can approve/reject on behalf of any user on any node. They also have access to the Submissions in progress window. When criteria on a submission isn't met for a workflow, it will call in all coordinators to handle the workflow.
Adding a Coordinator
- Select or multiselect users from the Coordinators dropdown.
- Click the Add Users button.
- Notice the users are listed below.
Start Entities
A user, user question, crowd, or organization that is applied to the start node to indicate to the workflow engine to pickup that particular workflow.
Example: If an HR Organization is applied to a workflow start entity, any submission started by any user within the HR Organization will follow the specified workflow.
Adding Start Entities
- Select the Entity Type from the dropdown: crowds, organizations, user, or user questions.
- Select the Entity from the multiselect dropdown.
- Click the Add Entities button.
- Notice the entities listen below.
Priorities
A priority is a numeric value assigned to workflows to distinguish their order or importance in being picked up by the workflow engine. Smaller values have a higher priority.
A workflow must have a start entity or start condition if there is a priority set.
Best Practice: set priority levels with room for changes. Set highest priority starting with 10, next 20, and so on. If a future workflow needs to be highest priority it can be set to 9 without disrupting the sequence of other workflows.
Start Conditions
Start conditions work the same as normal condition nodes in workflow. Users must select a condition type and condition. Conditions are compromised of system data and form data that the workflow engine uses to select route paths.
Setting a Start Condition
- Select a Condition Type as AND or OR. This evaluates whether the conditions added must all be met to meet criteria AND or one of the listed conditions OR.
- Select Form Question from the dropdown below Conditions.
- Select Operator from the dropdown. Each question or system field from above(#2) has a unique set of operators.
- Click Add Condition.
- Notice the condition/s are added below.
Workflow Nodes
There are various types of nodes used for building custom workflows.
Approval | Requires any one of the entities (user, crowd, organiztions) listed to satisfy the approval of that node. Only needs approval from one user in the list of entities. |
Conditional And | Evaluates the set conditions. The AND means each of the criteria set must be met to follow the true path. |
Conditional Or | Evaluates the set conditions. The OR means any of the criteria set can be met to follow the true path. |
Hierarchy | Requires approval from each orgnization moving up the organizational chart until the set End Organization |
Action | An integration node that pushes the data to the available integrations |
Adding A Node
- Click the + below the Start Node or the preceding node.
- Select the node from the Add Node popup.
- Fill out the relevant criteria in the right panel.
End Node
- Select the red circle End Node.
- Decide whether to Notify all participants in the submission when it is complete.
- Decide whether to Notify form submitter when the submission is complete.
- Decide whether to Notify specific entities using a mixture of entity types and entities that a submission is complete.