Business process designer > BPMN processes > Graphical elements / Task


task 13A task is performed by an employee as a part of a business process. Tasks are assigned automatically in the order they appear in the process diagram. They represent the steps that the process participants have to complete to achieve a specific outcome.

For example, in the order management process, employees will fill out the order form, check stock availability, pick and pack the order, etc.


Configure a user task

There are five tabs with settings: General, Form, Deadline, Schedule in Calendar, and Connectors.

You can add a template for the task name, select multiple-instance execution, change the form, specify a deadline, etc.

Double-click on the task shape in the process diagram to open the settings window.

General tab

The General tab contains the main information about the task:



  • Name*. Specify the name of the task on the process diagram. Keep it short so that the diagram is easy to read.
  • Task name. Select the Generate name from template option to include context variables into the name that the user will see in their task list and on the task page.
    • Template*. Click the {+} icon in the right corner of the field and select a variable. You can also include conditions and functions like in app item name templates. This will allow you to create a more informative name for the task. If If this option is not used, the text specified in the Name* field will be displayed in the task list and on the form.
  • Notification. When this option is selected, the executor will be notified about the assigned task. For the executor to additionally receive email notifications about new tasks, they need to enable this option in their profile settings.
  • Reassignment. Use this setting to allow or forbid an employee to reassign a task to other users.
  • Task author. Select who will be specified as the task author:
    • Current user. The person who started the process instance is specified.
    • Context variable. Select a Users variable of the One type from the process context. The employee stored in this variable will be specified as the task author. For example, it can be the user who belongs to the swimlane where the previous tasks are located.
    • System. The task will be assigned by the user selected as the system supervisor.
  • Description. Choose a String type variable from the process context to display an expanded description of the task. The value of the variable can be assigned within the script written TypeScript. For example, you can place the Script activity before the task in the process diagram.
  • Priority. Select a Number type variable from the process context to display the urgency of the task. The variable can be filled with any numerical value within the script written in TypeScript.
  • Multiple instance task. This setting is available only if a swimlane represents a group of users or a department. The task will be assigned to all employees within the group or department, but the system’s behavior will depend on the option selected:
    • First Response. All the executors represented by the swimlane will be simultaneously assigned with the task. Once somebody starts working on the task or marks it as completed, it will disappear from the task list of the other executors. You can additionally set up the task using one of the following options:
  1. Hide the "Start Task" button. In this case, only transition buttons will be displayed on the task form. Any employee from the group will be able to complete the task without actually starting working on it. This option is best for quick tasks.
  2. Hide transition buttons. There will only be one button displayed on the form: Start Work. After the employee clicks on it, the task will be assigned to him or her individually, and transition buttons will appear on the form.
  3. Show all buttons. The Start Work button and the transition buttons will be all displayed on the form. One of the employees from the group will be able to assign the task to themselves or mark it as completed right away.
    • Parallel. The task will be assigned simultaneously to all executors specified in the swimlane settings. The process will continue only after all executors complete the task.
    • Sequential. The task will be assigned to the executors of the swimlane one by one. The process will continue only after all executors complete the task.

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

If you select the Parallel or Sequential option, you need to specify the default transition, and the conditions, if necessary. To learn more, see Connectors.

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

Note that in a dynamic swimlane, the tasks are assigned in the same order as the variable storing the executors was filled in. In a static swimlane, the order is random.

Take a look at the following examples to better understand how different types of multiple instance tasks work.

начало примера

Example 1

Consider the operation of a warehouse. Any warehouse employee can prepare goods for shipping. It does not matter who exactly will be doing the packaging; what really matters is that the task is completed as fast as possible. If you select the First Response option, the task will be assigned to all the warehouse employees, and the person who is less busy at the moment will be able to immediately start working on it. As soon as ELMA365 gets confirmation that the employee has started the task (the employee needs to click on the confirmation button on the task page), the task will be cancelled for other executors.

конец примера


начало примера

Example 2

After a meeting, all the participants should receive the minutes of meeting. It is important that every employee who attended the meeting receives and reads this document, but the order in which people complete this does not matter. If you select the Parallel option, all meeting participants will be assigned with the task Read minutes of meetings, and until each of them completes the task, the process will not continue.

конец примера

начало примера

Example 3

Suppose that several managers need to read and approve a report before the process continues. If you select the Sequential option, the system will first assign the task of reviewing the report to one manager, and after he or she approves the document, to another. In the connectors settings, you can specify how the system should behave if someone from the approvers rejects the report. To find out how to do it, see Connectors.

конец примера

Form tab

On this tab you can configure how the task form will look.


Drag the variables from the Context column to the Name on form column. To create a new variable, click + Add. Each variable represents a field on the task form.

Specify which variables are required required, and which are read-only read only. Read-only fields can be hidden from the form if empty. Just click on the field's name in the list to open its settings and check the Hide if the field is empty box.

task 4

This setting is not available for fields of the App type.

If you have added an App-type variable, you can add fields of this app to the form. To do this, click on the app's name in the Name on form column. In the pop-up window, go to the Properties tab, select the required fields and click Save.


The fields will be added to the form.


If the fields are editable, but the user doesn’t have sufficient access permissions to edit app items, they will still be able to edit these app fields on the task form. The user is not granted direct access to the app and will not be able to edit the item after filling out the form.

To change the design of the standard task form, create a template in the low-code designer. To learn more, see Forms tab.

Deadline tab

For some tasks, it is crucial to meet deadlines and stay on schedule. This is especially true for customer communications. Quickly handled requests and timely delivered goods provide your competitive advantage.

On this tab, you can customize the deadlines for the task, as well as determine what happens if the task is not completed on time.

task 7

There are two ways to set the task deadline:

  • Exact time. Specify how many minutes, hours or days will be spent on the task. The deadline can be specified taking into account the setting of the business calendar.
    task 8
  • Variable. Sometimes it is impossible to determine how much time it requires to complete the task, but it is important that the work is done by a specific date. For example, an employee specifies the leave start and end dates, and the accountant must calculate the vacation pay and give the money 3 days before the employee takes his or her vacation. In this case, the task deadline time can be determined by the context variable.
  • Use the Change time option to add or subtract days, hours or minutes from the time stored in the variable. Select Add or Subtract, enter the number of days, hours and/or minutes, and specify the the business calendar must be taken into account. The deadline will be changed accordingly.

Sometimes tasks are not completed on time despite the deadlines. In this case, control tools are needed to timely respond to the situation and take necessary measures.

In the Notification field, you can specify the employees who will receive a notification if the executor does not meet the deadline. You can add a current user, a context variable (for example, the Initiator), a user group or an org chart item to determine the notification recipient.

task 10

In the Interrupt field, define the next process step in case the executor does not complete the task in time.

task 11

The process will automatically go down the selected connector if the task deadline is not met and the executor does not confirm that the task has been completed. In the process diagram, such connector has a clock icon.

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

The connector specified in the Interrupt field does not appear as a button on the task page.

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


For example, for a company, it is very important to meet the order processing deadlines. Warehouse employees must timely check stock availability and, if necessary, purchase the missing goods. This task is limited in time. If the employee does not meet the deadline, the task will be automatically assigned to the purchasing manager to deal with the situation.

Schedule in Calendar tab

This tab appears if a deadline is set for the task. On the tab you can enable the task to appear in the executor’s calendar.


  • Start date, End date. Specify the variables of the Date/Time type that store the start and end dates of the task from the process context. These variables determine the period during which the event will be displayed in the user’s calendar. Variable values can be assigned within a script written in TypeScript. For example, you can place the Script activity before the task in the process diagram.
    To avoid overloading the calendar, you can schedule a task in it only for specific days. For example, if the task’s duration is one week, you can display it in the calendar only for the last three days of that period. To do this:
  1. Add Date/Time type variables to the process context, where the values for the task deadlines in the calendar will be recorded.
  2. On the process diagram, place a script that calculates the values of these variables before the Task item.
  3. On the current tab, link the Start date and End date fields with these variables.
    • Place. Choose a String type variable where the event location is stored.
    • External participants. Specify which clients from the Contacts app will participate in the task. For this, select an App type variable that stores the Contacts app of the CRM workspace and can store Many values. You can choose an existing variable from the dropdown list or create a new one.

Connectors tab

On this tab, you can configure all the outgoing task connectors: edit the name, add a confirmation box, change the button color, etc. To open these settings, click on the name of a connector. To learn more, see Connectors.

task 12


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