Business process designer > BPMN processes > Graphical elements / Approval


approval 1The Approval activity 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. A task to review the document is assigned, and an approval sheet is automatically created. It contains the names of the approvers, their decisions, comments, and additional filed. Note that not only documents but also app items and files can be sent for approval.

Set up the Approval activity

All the settings are managed in three tabs: General, Deadline, Schedule in Calendar, Connectors, Custom Statuses, and Signature Settings. Here you can specify the task name, set a deadline, define the approval logic, add the task to the executor’s calendar, enable the signature, etc.    

To open the settings, double-click on the Approval activity on the process diagram.

начало внимание

Make sure that you have added a process context variable that will store the object sent for approval.

конец внимание

General tab


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 {+} icon in the right corner of the field. You can also add conditions and functions, just like for the item name templates. This allows you to generate a more informative name for the task.
  • 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. Determine how the approval task should be assigned and executed:
    • Parallel. The approval task will be simultaneously assigned to all executors included in the swimlane. Depending on the connector settings, there are two options. Either each executor needs to review the document before the process moves on to the next step, or the next step starts as soon as one of the executors approves or rejects 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 complete the task. With connector settings, you can determine what happens if an approver 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 those users who were assigned the approval task but had neither approved nor rejected the document from the approval sheet.
  • Notification. Enable this option if you want the approver to see a notification about the approval task being assigned to them in the activity stream.
  • Notification. Enable this option if you want the approver to see a notification about the approval task being assigned to them in the activity stream.
  • Write the output to a variable. Specify a String type variable that will be used to store the output of the current operation: approved or rejected. The result depends on the button that the approver chooses to click on the task page: Approve or Reject. In case there are multiple approvers and at least one of them rejects the approval, the rejected value is saved to the variable. If approval is interrupted, the terminated value is saved. You can use this variable to display the approval result on the app form as well as in gateways or scripts when configuring a complex approval logic.

The following examples will help you understand how to use approval types in different cases.

Example 1

Example 2

Example 3

Deadline tab


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 calculations can be based on the business calendar.

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 important that the user completes the task before a certain date. For example, an employee can specify the exact date before which others need to read the new internal regulations. By this day, all specified users should have read 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 considered 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), a user group, or an org chart item.

sdai 4

The Interrupt field allows you to specify which path the process flow should take if the executor fails to complete the task on time.

approval 4

This escalation connector is marked with the timer icon on the process diagram. The process takes this path if the set time is over but the executor hasn’t marked the task as completed. The other connectors will not be activated.

For example, let’s say that the employee from the legal department didn’t complete the contract approval task on time. The process flow will take the escalation connector and assign the next task to the CEO.



Schedule in Calendar tab


This tab appears if a deadline is set for the task, and is used to add the task to the executor’s calendar.

To avoid overscheduling, you can schedule the task only for some of the days. Let’s say that the approval deadline is in a week. You can schedule the task to appear in the calendar only on the last three days of the week:

  1. Add Date/Time variables to the context. They will store the start and end days of the period the task will be displayed in the calender.
  2. Add a script on the process diagram before the Approval activity to calculate the values of these variables.
  3. On the Schedule in Calendar tab, select the variables in the Start date and End date fields.


Connectors tab

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.


Note that if an escalation connector is set up, the other connectors can be activated only before the task’s deadline is reached.

начало внимание

By default, the approval task form has only two buttons: Approve and Reject, regardless of how many outgoing connectors the activity has on the process diagram. You can add other buttons for the task by setting up custom approval statuses.

конец внимание

To open the connector’s settings, click on its name.

General tab

approval 6

  • Name. We recommend giving a short and clear name since it will be displayed on the transition button on the task form.
  • Description. In this field, enter the text of the tooltip.

Conditions tab

approval 7

  • App Field. Specify a variable from the process context or a specific value: Approval Percentage, Rejection Percentage, Approval Sheet Is Archived.
  • Operation. Define a comparison operator to check a specific condition.
  • Field Value. Enter the value for comparison.
  • Logical Operator. This is a logical operation used to check multiple conditions. If the overall check result is True, the process continues with this connector:
    • AND. The result is True if both conditions are met.
    • OR. The result is True if at least one condition is met.
    • AND NOT. The result is True if the first condition is met while the second condition is not.
    • OR NOT. The result is True if the first condition is met or the second condition is not.

Please note that conditions are checked in the order they are listed in the transition settings.

For approval tasks assigned to a responsibility area with multiple executors, transition conditions are checked each time one ofthem completes the task.

For more details on using transitions in the process, refer to the Transitions article.

Custom Statuses tab

When creating a custom status in the task, an additional button will appear. With its help, employees will be able to provide custom decisions within the standard approval process.

Depending on what object (app item or file) is stored in the variable specified on the General tab in the Item to send for approval* field, the button will appear on the item’s page or on the file preview page.

For instance, you can add the status Approved with Comments. Employees can approve a document that requires minor edits. The document will continue to move through the process according to the logic defined by outgoing transitions. In the approval list, next to the user's last name who selected this resolution, the status Approved with Corrections will appear.

The final status of the item will depend on whether it is approved or rejected by the approvers.

To configure custom statuses, fill out the fields:


  • Approved, Rejected. Enable the Use a custom status option if you want users to be able to provide an additional decision within the approval or rejection decisions.
  • Button label in the task*. Enter the name for the button that the user will click to make a decision on the app item or file, for example, Approve with Comments. Buttons for additional decisions will be displayed next to the system ones in the approval task.


  • Status label*. Enter the name of the status that will be displayed in the approval sheet after closing the task.


The custom status will be shown in the approval sheet and will also be displayed alongside the system statuses when the sheet is exported.


Signature Settings tab

On this tab, you can enable and set up the use of digital signatures in the Approval task and configure the signing options. If a user clicks Approve, they will see a pop-up with these options:

  • Enable signing. If this option is enabled, the approver can proceed to signing by clicking Next.


  • Sign attributesSign fileSign decision. If these options are enabled, the user will sign attributes, the document file, and the decision.


Specify which options will be enabled.


  • Enable signingYou can disable signing by selecting Do not use. Then the user completing the task will only need to click Approve without having to sign the document.

To make a signing pop-up appear when a user clicks Approve, select one of the following options:

    • Optional. The Sign option is disabled by default. Instead of Next, the user sees the Approve button, and can approve the document without signing it. However, if needed, the user can check the Sign box and then click Next to sign the document.
    • Preferred. The Sign option is by default enabled but the user can disable it.
    • Required. The Sign option is by default enabled, and the user cannot disable it. The task cannot be completed without signing.

When you enable signing, set up the following fields:

  • Sign attributes. Defines whether the approver needs to sign the app item’s attributes:
    • Do not use. The Sign attributes option is disabled. The user cannot sign the attributes.
    • Optional. The option is displayed for the Sign attributes option, but it is not selected by default. The user can select it if needed.
    • Preferred. The option is displayed for the Sign attributes option, and it is selected by default. The user can deselect it if needed.
    • Required. The option is selected by default and cannot be disabled. The user cannot approve the document without singing its attributes.
  • Sign document file. The settings for this field are the same as for Sign attributes.
  • Sign decision. The settings for this field are the same as for Sign attributes. With this option, the user signs a text file generated by the system. It includes the information about the approval task, the item sent for approval, the approver’s decision and comment, and the user who was approving the document.

Found a typo? Highlight the text, press ctrl + enter and notify us