Document approval process
Consider a simple Approve Document process that consists of an approval task followed by a manual decision, with options ‘Approve’ and ‘Reject.’
In this process only one person reviews the document and completes the ‘Approve report’ task. This makes sense when there is one author who prepares the document and one other person who reviews it. However, this doesn’t work for scenarios where a document has multiple authors who must all approve the final version.
Signavio Process Governance now includes a ‘multi-user task’ action type - a multi-instance user task - that makes multiple approvals possible. If you update the process model above to support multiple approvals, the ‘Review report’ multi-user task looks like a normal user task, but with the three bars at the bottom that indicate that it is a BPMN multi-instance task.
This ‘multi-instance approval’ process model is the result of making the following changes to the initial document approval process.
- Change the trigger form ‘Author’ field to an ‘Authors’ field that accepts multiple values.
- Replace the user task with a multi-user task, to create multiple approval tasks.
- Reconfigure the exclusive gateway to handle multiple approval decision values.
The next steps are to configure the multi-user task and the gateway.
Multi-user task configuration
The multi-user task’s configuration is similar to user task configuration, but assignment is different and there are additional options to collect data entered in the separate tasks.
On the ‘General’ tab, configure the task assignment. For ‘Create this task for each user in,’ select the ‘Authors’ variable, which should be on the process’ trigger form. This option means that if you start a case with four Authors, then this action will create four ‘Review report’ tasks, each one assigned to one of the authors.
Leave the ‘Execution type’ as ‘Parallel,’ the default, so that all of these tasks are created at the same time and the authors can complete them in any order. The ‘Sequential’ option would only create the tasks one at a time, after the previous one was complete.
On the ‘Form’ tab, you can add a ‘Required changes’ (Text) field to display for whoever works on the ‘Update report’ task, for when the authors do not approve the report. You’ll configure the ‘Approve’ and ‘Reject’ text on the buttons in the next section, when you configure the manual decision.
On the ‘Results’ tab, choose names for the lists that result from collecting the form field values for each author’s task. If there are four authors who choose Yes or No for the ‘Approved’ field, then the result list will be a list of four values, e.g. ‘Yes, Yes, No, Yes’.
Mapping the ‘Approved’ form field to an ‘Approvals’ result list name creates a variable called ‘Approvals.’ This new variable has same time type (Yes/No checkbox) as the form field, but with the ‘Allow entering multiple values’ option.
Now that you’ve configured the multi-user task, the next step is to decide whether the ‘Approvals’ list means that the group has approved the report.
Multi-instance manual decision configuration
The final step in changing the document approval workflow to support multiple approvals is to reconfigure the exclusive gateway for the approve/reject decision. Now, instead of a single manual decision, the decision is based on the consolidated reviews.
On the exclusive gateway’s configuration panel, configure the ‘Manual’ decision conditions for the two outgoing transitions.
For the ‘approve’ case - the transition to the ‘report complete’ end event, configure a condition that requires all users to have selected ‘Approve’. For the other case - the transition to the ‘Update report’ user task, configure a condition that at least one user has chosen the option ‘Reject’.
Now you have a multi-approval workflow, so select ‘Publish changes’ and ‘Start new case’ to try it out.
Accelerate your own multiple approvals
Signavio Process Governance’s usable process modelling make it straightforward to create simple workflows, such as document approval workflows. On top of this, advanced features such as the multi-user task make more sophisticated scenarios using possible.