The Approval element is used to create document routes. It represents those steps of a process where an employee, for example, a manager, approves or rejects a document. QuickBPM automatically assigns a task to review the document and creates an approval sheet which contains the name and the resolution of the decision-maker.
How to set up approval
To open the settings, double-click on the Approval shape on the process diagram.
Make sure that you have added a process context variable that will store the object of approval.
The General tab features general information about the approval task:
Name* – enter a name that will be displayed in the process diagram. We recommend choosing a short yet informative name to make the process diagram easy to read.
Task name* – enter a text that the task executor will see in their task list or on the task page. You can add a context variable to the name to make it more detailed. To do that, click on the + sign in the right corner of the field.
Item to send for approval* – specify the context variable that will store the file or app item that is sent for approval.
Approval type – this option appears only if a user group or a department is specified as executor in swimlane settings. The task will be assigned to all the users who belong to the user group or department, and the system's behavior will depend on how you set up the connectors and the approval type:
Parallel – the approval task will be simultaneously assigned to all executors included in the swimlane. Depending on connector settings, QuickBPM will either wait until every executor reviews the document or the process will go to the next step as soon as one of the executors approved or rejected the document.
Sequential – the task will be assigned consequently to all the executors one by one. The process will go to the next step only when all the employees will accomplish the task. With connector settings, you can define how the system must behave if someone rejects the document.
Please note that in a dynamic swimlane the tasks will be assigned in the same order as users were specified in the user-type variable. In a static swimlane, the sequence is random.
Leave only actual participants – remove from the approval sheet those users who were assigned with the approval task but had neither approved nor rejected the document.
The following examples will help you understand how to use approval types in different cases.
In a certain company, every new contract has to be approved by the accountant, legal officer, and security officer. It is important not to delay the process, so the approval task must be assigned to all the approvers at the same time. In order for the process to continue, the decision of every approver is required. Select the Parallel approval type, then set up the connector, specifying the approval percentage equal to 100. In this case, all the approvers will receive the Approve contract task, and the process won't go further until all of them complete the task.
Let's take a look at the work of the Legal Department. Any legal employee can verify customer contracts and analyze the legal effects of the contract's clauses. It does not matter who exactly verifies and approves the contract, but it is important to start work as soon as possible. Select the Parallel approval type. In connector settings, set the approval and rejection percentage more than zero. The approval task will be assigned to each employee of the Legal Department. The person who is free at the moment will start working on it. As soon as this person approves or rejects the contract and clicks a corresponding button on the task form, QuickBPM will cancel this task for all the other employees. You can read more about connector settings further down below.
Let's say, at a certain step of a process several managers have to read and approve a report before the process will go further. Select Sequential approval. QuickBPM will assign the approval task to one manager, and as soon as he or she completes it, the system will assign the task to the next manager. In connector settings, you can specify how you want the system to behave in case one of the managers rejects the report.
On this tab, you can set the due date for the task as well as specify the system behavior in case the task is not completed on time.
There are two ways to set the deadline:
- Exact time – specify the number of days, hours or minutes that the executor has to complete the task. The business calendar can be taken into account;
If the approval task belongs to a swimlane with multiple executors, each of the executors will have the specified number of days, hours, and minutes to complete the task.
- Variable – sometimes it is needed to complete the approval by a certain moment, for example, by the date when an employee has to get back to the customer with a reviewed document. By this time all the approvers have to either approve or reject the document. In this case, you can use a context variable of the date/time type to define the deadline for the approval task.
If the approval task belongs to a swimlane with multiple executors, and a variable is used to define the deadline, all the executors will have to complete their tasks by this moment, otherwise, the task will be overdue.
In the Notification field, you can select users who will be notified if the executor fails to complete the approval task on time. You can select the current user, a context variable (for example, the process initiator), user group or org chart item.
The Interrupt field allows you to specify which path the process flow should take if the executor fails to complete the task on time.
QuickBPM will automatically route the process by the selected path if the executor does not approve or reject the document before the deadline. The corresponding connector on the process diagram is marked with the timer icon.
These settings help you timely react to any delays.
Here you can define the approval logic: specify the conditions that define which connector the process flow should take. Do not forget to specify a default connector, it is necessary to avoid creating a bottleneck. If none of the specified conditions is met, the process still needs to go further using the default connector.
Please note that the approval task form has only two buttons: Approve and Reject, regardless of how many outgoing connectors the activity's shape has on the process diagram.
To open a connector's settings, click on its name. The settings window contains two tabs: General and Conditions.
Give a short and informative name and describe the connector. The name that you specify in this tab will be displayed on the process diagram.
Specify the conditions under which the process should go down this connector.
You can set up multiple conditions and use a Logical operator to check them. If the result is True, then the process flow will follow this connector:
- AND – the result is True if both conditions are met;
- OR – the result is True if at least one condition is met;
- NAND – the result is True if at least one of the conditions is not met;
- NOR – the result is True if both conditions are not met.
Please note that the conditions are checked in the same order as they are listed in the connector's settings.
Operand 1, 2 – here you have to select a process context variable or a certain value, for example, the approval or rejection percentage.
Operation – here you define the comparison operator that will be used to check the conditions by comparing its operands.
If the swimlane where the approval task is located implies several executors, the conditions of the connector are checked each time one an executor completes the task.
For illustration, let's take a look at the following contract approval route.
Here is a list of all process steps and their executors:
- the initiator prepares the contract and sends it for approval;
- the contract goes to the legal department, where any legal employee can review the document and either approve it or send it back for editing;
- after a legal employee approves the contract, it is sent to the Head of Sales;
- if the document needs editing, it is sent back to the initiator. Once it is edited, it is sent to approvers once again;
- if the contract is approved, the initiator invites the customer to sign the contract.
- if the legal department employees fail to review the contract on time, the CEO will be assigned with a task to supervise the contract's approval.
As you can see from the diagram, the approval in this process is done in two stages. The approval logic is different on each stage, so the settings of outgoing connectors will also be different.
The first task, Approve contract, has four outgoing connectors:
Default connector with no name,
Supervise approval (the one designated by a timer icon on the diagram).
We have selected parallel execution, so all the legal department employees will receive the contract for approval at the same time. Once an employee reviews the contract and makes a decision, we want QuickBPM to cancel the task for the rest of the users. We can achieve this by configuring the connector settings.
Approved. Let's configure the Approved connector. In condition settings, specify the approval percentage > 0. Now, as soon as one employee clicks Approve, QuickBPM will cancel the task for all the other employees, and the process will go to the next step (Approval by the Head of sales).
Rejected. Do the same for the Rejected connector and set the approval percentage >0. If the legal officer reading the document decides that it does not correlate with certain legal requirements, he or she will reject the contract's approval. The initiator will be assigned with the Edit contract task, and the approval task assigned to all the other legal department employees will be canceled. Here is how the connector settings shall look in this case:
Default connector. Apart from the Approved and Rejected connectors, the task also has a default connector. On the process diagram, this connector is marked with a diagonal line. A default connector allows the process to continue even if none of the conditions are met. Note that you cannot specify conditions for a default connector.
Supervise approval. The fourth outgoing connector is marked with the timer icon. It means that if the executor fails to either approve or reject the document on time, the process will take this path, and the system will assign the CEO with a task to supervise the approval. This can be configured on the Deadline tab.
The second Approve contract task is located in a swimlane with only one executor. This means that the Parallel or Sequential approval types are not applied here.
The condition for the Approved connector is Approval percentage > 0, therefore, the process will take this path only if the Head of Sales approves the document. The Rejected connector is the default connector.
As soon as QuickBPM assigns the executors with the task to approve the document, an approval sheet is created on the document's page. The approval sheet contains information about the approvers, their decision, and the date and time the decision was made.
Until the decision on the document is made, there will be a question mark icon next to the approver's name.
When the approval process is completed, you will see the final decision on the contract's page.
If any changes are made to the document later on, for example, the text of the status is modified, the approval sheet is archived. To view the archived sheets, click on the Archive link on the right pane of the document's page. Please note, that if the document's status changes, the approval sheet is not archived.
You can download the approval sheet as an xls file, if necessary. To do that, click on the document icon on the right pane next to the approval decision.
Also, if there are multiple approval sheets, open the list of all sheets and click on the document icon there. This can be done with the archived approval sheets, too.
The downloaded sheet can then be printed and, for example, attached to the document's hardcopy. The xls sheet shows the document's name, the list of approvers and their decisions, as well as decision time and comments.