Skip to main content

Tasks in Processes

This section describes how to create and configure tasks of the main types:

The section also covers modeler settings and Mustache syntax, which are useful when working with tasks.


Note:

When working with roles in business processes (for example, when assigning performers, sending notifications, or extracting role members), the system takes into account not only direct members of the document role or position, but also delegated document role members and delegated position members. Delegated members are processed in the same way as regular members.

2.4.4.4. User Task

A user task in the BPMN system is a type of task performed by a user within a business process. A user task typically represents a specific piece of work that needs to be completed using the system. Within user tasks, you can configure task roles, select a form for the user to work with attributes, set up notifications, and define task deadlines.


To create a user task:

  1. In the navigation panel, select the Studio workspace, then select the Process Library shortcut.

  2. Double-click the business process to which you want to add a user task.

  3. In the toolbar, select the 1 icon, and insert the element at the required location in the process diagram 2.

    Screenshot
  4. Select the added element 1, then in the context menu select the 2 icon.

    Screenshot
  5. In the context menu, select User Task.

    Screenshot
  6. Select the added user task.

  7. Go to the settings menu and fill in the required information about the user task. Use the hints from the sections below to fill in each tab:

    Screenshot
  8. In the toolbar, select the Save button.

2.4.4.4.1. Working with User Task Settings

Settings in the modeler of business process definitions are grouped into sections that can be expanded and collapsed.

Sections are divided into two types:

  • Without the ability to add additional elements 1.

  • With the ability to add additional elements 2. Such sections have a icon that allows you to add an element. For example, in the User Assignment section, you can add multiple assignments — for instance, assign both a performer and a observer to the task.

    Screenshot

If the icon is displayed in a section header, it means the section contains data.

Screenshot

For sections with the ability to add elements, the number of added elements is displayed. In the screenshot below, four user assignments are shown.

Screenshot

2.4.4.4.2. General

Expand the General section and fill in the fields using the hints in the table below.

Screenshot
FieldDescription
NameThe task name, displayed on the process diagram.
IdA unique task identifier, generated automatically.
Subject TemplateThe title template. The text from this setting will be displayed in the standard task attribute Name on the task form.
Supports Mustache syntax, for example: "Complete task by: {{task.dueDate}}" or "Approve order {{formParams.orderNo}}".
Syntax for retrieving attributes:
  • task {{task.code}}, example {{task.dueDate}}
  • document {{instance.code}}, example {{instance.docNumber}}
  • custom attributes {{instance.attrValues.code}}, example {{instance.attrValues.FullName}}
Description TemplateThe description template. The text from this setting will be displayed in the standard task attribute Description on the task form.
Supports Mustache syntax.
Task ClassAllows you to select a task class from a dictionary.

2.4.4.4.3. Terms and Priorities

In the Deadlines and Priority section, you can define the task due date, set a control deadline, and specify the task priority.

Expand the Terms and Priorities section and fill in the fields using the hints in the table below.

Screenshot
FieldDescription
Due DateSets the task due date. You can set the current date with an offset (in minutes, hours, days), a date from a process variable, or a date with an offset based on a working hours schedule.
Follow-Up DateSets the task control deadline. You can set the current date with an offset (in minutes, hours, days), a date from a process variable, or a date with an offset based on a working hours schedule.
PrioritySets the task priority.
A numeric value that will be displayed in the standard task attribute Priority.

2.4.4.4.4. User Assignment

In the User Assignment section, you can specify the task performer, candidate performers, observers, and supervisors.

Expand the User Assignment section and fill in the fields using the hints in the table below.

Screenshot
FieldDescription
RoleSelect the role of the user you want to assign. You can choose one of the following roles:
  • Performer — the user who will perform the task.
    • You can assign no more than one performer.
    • The performer can only be a user (not a group) for administration subjects.
    • Can only be a position (not a department or organization) for organizational units.
  • Candidate — a user or group of users who are granted the right to assign themselves as the performer.
    • You can assign multiple candidates.
    • Any identity type can be used: Users and/or Groups for administration subjects.
    • Any identity type can be used: positions, departments, and/or organizations for organizational units.
    • A macro (for example ${procVar}), or UB organizational units separated by commas (for example code1,code2,ub:id:3000001234).
  • Observer — a user who has access to view the task but does not perform it.
    • You can assign multiple observers.
    • Any identity type can be used: Users and/or Groups for administration subjects.
    • Any identity type can be used: positions, departments, and/or organizations for organizational units.
    • Configured using a participation macro. The participation macro is a comma-separated list (if more than one participant needs to be specified). Each list item is either a string or a reference to a process variable using the format ${procVar}.

      Examples:
      • 010101 — an identifier named "010101", for ORG identifiers, which will be the ORG department code.
      • ub:id:10,usr_010101 — user "admin" and user with login "usr_010101".
      • ORG002,${procVar} — Organization with code "ORG002" and the identifier(s) in the process variable "procVar".
  • Supervisor — a user who has full access to the task and can monitor and manage the execution process.
    • You can assign multiple supervisors.
    • Any identity type can be used: Users and/or Groups for administration subjects.
    • Any identity type can be used: positions, departments, and/or organizations for organizational units.
    • Configured using a participation macro.
Assign FromSelect the source from which the platform should substitute the user for the given role. Choose one of the following options:
  • Process Variable — uses the value of a variable defined in the process. Enter the variable name.
  • Related Object Role — uses the role defined in the object linked to the process. To select this option, make sure you have added a related entity to the process. When using this option, you do not need to additionally pass role attribute values to the process.

    Example: The performer will be the person who has the Manager role in the related document type.

    ℹ️ Note: The role member value will be passed at the time the task is created, not when the process starts. Therefore, if the role value changes during the process before the task is created, the task will use the updated role value.
  • Related Object Attribute — uses the value of one of the standard attributes in the platform that is linked to the object. To select this option, make sure you have added a related entity to the process.
  • Custom Attribute of Related Object — uses the value of a custom attribute created by the user in the related object. The drop-down list will display only those attributes that are present on the document form and can be used for assignment. (For example, reference attributes for position references).
  • Reference — select one of the following references: Our Organization, Department, Position, Executor Group.

    ℹ️ Note: If you selected, for example, the Department reference, the selected department will be set as the task role member — not the subordinate positions. This means the task will be available to all positions within that department, but only the department name will be displayed.
  • Camunda Expression (available only for the Performer role when the Hide Camunda-specific settings option is disabled in Modeler Settings) — uses an expression written in JavaScript.

    Examples: ud:id+${author}

    ℹ️ Note: The Camunda Expression is a deprecated method of passing data; use the other methods listed above instead.
ℹ️ Notes:
  • If the assignment contains an organizational unit, the participant list will include not only direct members but also delegated members. For example, if the Accountant position is specified for a document role and delegation is configured for it, both the primary members of that position and the delegated members will receive the task or notification.
  • If more than one position with document type-level access Role Delegation is defined as performers, the task will be assigned to the position that is processed first.

2.4.4.4.5. Notifications

The Notifications section in the user task settings allows you to configure automatic notifications sent to task performers or candidate performers in certain situations. This helps ensure that users are notified in a timely manner about important events related to the task.


To configure automatic notifications, expand the Notifications section and fill in the fields using the hints in the table below.

Screenshot
FieldDescription
RoleSelect the role of the user to send the notification to. Choose one of the following options:
  • Assignee
  • Potential Assignee
  • Supervisor
  • Watcher
ℹ️ Notes:
  • For the Supervisor and Watcher roles, you can configure only notifications of the Assignment type. Such notifications are not sent by default — only after you configure them.
  • If on the previous tab (User Assignment) you selected an organizational unit containing multiple members for a role (for example, an organization, department, position, or executor group), the notification will be sent to each member of that group.
TypeSelect the notification type:
  • Assignment
  • Due Date
  • Overdue
Assign FromSelect the entity from which you want to generate the email.
  • Email Template
  • Process Variable — this option is useful if you have multiple tasks within one process that send emails and you want to use different templates for them. This option works only with email templates; report templates are not supported. See the Set Template from Process Variable section.
  • Report Template (available only if the Hide the ability to use reports in notifications option is disabled in Modeler Settings) — this functionality is deprecated. You can use Email Templates, which are the modern equivalent of the same functionality. However, if you still want to use this feature, see the Send Email Using Report Template section.
Email Template

field available only if Email Template is selected in the Assign From field
Select the required email template.
ℹ️ Note: You can also create a new email template. To do this, hover over the Email Template field header 1, then in the menu select Create new email template 2.
Screenshot
Process Variable

field available only if Process Variable is selected in the Assign From field
Enter the required process variable. The variable value must be a string and contain the email template code.
Report

field available only if Report Template is selected in the Assign From field
The report code used to build the notification text according to its type. Select the report template. If no value is specified, the default report will be used.
ℹ️ Note: You can also create a new report. To do this, hover over the Report field header, then in the menu select Create new report.
Subject

field available only if Report Template is selected in the Assign From field
The notification subject according to its type.
If no subject is specified, the default email subject will be used.
Supports Mustache syntax, for example: "You have been assigned to approve a document by {{task.dueDate}}".

2.4.4.4.6. Form

A form is an interface that allows users to interact with a task in the process. It is used to enter, view, and edit data required to complete the task. Forms can be simple or complex, and may include various input fields, buttons, and other interface elements.

There are two ways to add a form to a task:

  • Select the default task form. See details in the table.

  • Select a form from the form dictionary (or create a custom one). See details in the table.

    Screenshot

Add default form

FieldDescription
FormSelect Default Form — an automatically generated form based on the process variables associated with this task. It does not require additional configuration and is used when no custom form is selected or available.
Available Task ActionsAllows you to specify action codes that will be available in the user task. Not used if actions are selected in the task form settings.
Variable for Storing Action CodeAllows you to specify the variable code in which the action code executed in the task will be saved. Used, for example, to build operator conditions.
Variable for Storing the User Who Completed the TaskAllows you to specify the variable code in which the ID of the user who completed the task will be saved.
Form Input ParametersAllows you to specify form input parameters — form attribute values that will be set when the task is created.
Form Output ParametersAllows you to specify form output parameters — form attribute values that will be set when the task is completed.
Example: saving a task comment to a variable: taskComment=$comment

Add Task Form from Dictionary

Screenshot
FieldDescription
FormSelect Task Form — select a form from the form dictionary.
Task FormIn the Task Form field, select the required form from the drop-down list.
ℹ️ Note: You can edit an existing task form or create a custom one. To do this, select the Task Form option 1, then hover over the Task Form section header 2. In the window that appears, select the required option 3.
Screenshot
Available Complete ActionsDefine which actions users can perform when working with the user task. Choose one of the following options:
  • From Task Form — this option means that the available actions are defined directly in the task form. The actions the user can perform are integrated into the form you selected for this task. The task form includes buttons or other interface elements that allow users to perform certain actions (for example, confirm, reject, save).
  • Override — this option allows you to manually define the available actions for this task, regardless of what is defined in the task form.
    Example: You want to provide an additional option, such as delegating the task to another employee, which is not available in the standard form. By selecting Override, you add a Delegate action that allows users to transfer the task to another employee.
Variable for Storing Action CodeAllows you to specify the variable code in which the action code executed in the task will be saved. Used, for example, to build operator conditions.
Form Input ParametersAllows you to specify form input parameters — form attribute values that will be set when the task is created.
Form Output ParametersAllows you to specify form output parameters — form attribute values that will be set when the task is completed.
Example: saving a task comment to a variable: taskComment=$comment
Screenshot

2.4.4.4.7. Task Listeners

In the Task Listeners section, you can configure listeners that begin executing an action in response to various events. This enables automation and allows additional actions to be performed in response to those events.

Example: Using a listener, you can configure the system so that when a user deletes a task, their manager automatically receives a notification about this action.


To configure user task listeners, expand the Task Listeners section and fill in the fields using the hints in the table below.

Screenshot
FieldDescription
Event TypeThis field allows you to select the event for which you want to configure the listener. Available event types include:
  • Create — the action is executed when the task is created.
  • Assignment — the action is executed when the task is assigned to a user.
  • Complete — the action is executed when the task is completed.
  • Delete — the action is executed when the task is deleted.
  • Update — the action is executed when the task is updated.
  • Timeout — the action is executed when a timer associated with the task fires (for example, an overdue timer).
ScriptSpecify a JavaScript script that will be executed in response to the event selected above. The Script is the action that will be performed when the event you chose in the previous step occurs.

2.4.4.4.8. Asynchronous Continuations

In the Asynchronous Continuations section, you can configure asynchronous execution of user tasks. "Asynchronous" means that a task can be executed in the background without waiting for it to finish before continuing with other tasks or processes.


To configure asynchronous task execution, expand the Asynchronous Continuations section and fill in the fields using the hints in the table below.

Screenshot
OptionDescription
BeforeThe task will be deferred and will not be executed immediately after the previous step completes. It will be queued for execution separately from the main process flow. This allows other actions to continue without waiting for this task to finish.
Example: You have a task that requires additional preparation before it starts. Using the Before option ensures this task is executed independently of the main flow.
AfterThe process will continue immediately after this task is handed off for execution. The task will be executed independently of the main process, allowing it to continue without delays.
Example: The task involves large volumes of data to be processed. Using the After option ensures that the main process continues without waiting for this data to be processed.
ExclusiveOnly one task or operation is executed at a given moment within a specific context. This is important for avoiding conflicts or ensuring that actions are performed sequentially.
Example: If you have operations that may conflict with each other or must be executed in sequence, this option ensures they are performed one at a time.

2.4.4.4.9. Job Configuration

In the Job Configuration section, you can configure the behavior of user tasks, which helps control their execution and prioritization.


To configure job settings, expand the Job Configuration section and fill in the fields using the hints in the table below.

Screenshot
OptionDescription
Retry Time CycleThis field allows you to specify how often the system should retry executing the task in case of failure or error. Specify the interval after which the task will be retried — for example, every 5 minutes, every hour, etc. Enter a numeric value in Temporal.Duration format.
Example: If a task may fail due to temporary issues (for example, network problems), you can specify a retry time cycle so the system automatically retries at set intervals.
PriorityThis field defines the execution priority of the task in the platform. Tasks with a higher priority are executed before tasks with a lower priority. Priority can be set as a numeric value, where lower numbers represent higher priority.

2.4.4.4.10. Execution Listeners

The Execution Listeners section allows you to configure custom actions that will be executed when the task starts or completes.


To configure execution listeners, expand the Execution Listeners section and fill in the fields using the hints in the table below.

Screenshot
FieldDescription
Event TypeThis field allows you to select the type of event upon which the specified script will be executed. Available options include:
  • Start — the action is executed when the task starts.
  • End — the action is executed when the task completes.
ScriptSpecify a JavaScript script that will be executed in response to the event selected above. The Script is the action that will be performed when the event you chose in the previous step occurs (task start or task completion).

2.4.4.4.11. Documentation

The Element Documentation field in the Documentation section is used to enter text information that may include descriptions, instructions, notes, or links related to the task. This helps ensure understanding and correct task execution.

Expand the Documentation section, then in the Element Documentation field, enter the required description or notes for the task.

Screenshot

2.4.4.5. Service Task

Service tasks allow you to integrate processes with external systems, call web services, update data, or perform any other automated operations required for business process execution.

There are two ways to create a service task:

  • Create a task manually by filling in all standard configuration sections. This approach is rarely used because the most common settings can be selected from templates.

    Screenshot
  • Create a task based on a template. In this case, the fields to fill in will differ depending on the selected template.


To create a service task based on a template:

  1. In the navigation panel, select the Studio workspace, then select the Process Library shortcut.

  2. Double-click the business process to which you want to add a service task.

  3. In the toolbar, select the 1 icon, and insert the element at the required location in the process diagram 2.

    Screenshot
  4. Select the added element 1, then in the context menu select the 2 icon.

    Screenshot
  5. In the context menu, select Service Task.

    Screenshot
  6. Select the added service task.

  7. Go to the settings menu and expand the General section.

  8. In the Name field, enter the desired task name, for example, Update Date.

  9. In the ID field, enter the task code, which must be unique and not duplicate any other task IDs.

  10. Expand the Implementation tab.

  11. In the Template field, select the required template:

    • Call Entity Method — performs data operations such as updating attributes, retrieving information, and other actions without manual intervention. (See definitions of Entity and Method).
    • Call External API Method — integrates business processes with external systems and services.
    • Call Server Module — calls specific methods on the server that perform certain operations, such as data processing, database interactions, or other server-side functions.
    • Execute Document Action — used to automatically execute actions on documents within a business process.
    • Select Entity Attributes — used to retrieve attribute values from a specific entity and save them to a business process variable.
    • Extract Role Members — allows you to retrieve members of a specific document role and save them to a business process variable.
    • Send Email — automates the process of sending email messages in your business processes.
    • Update Entity — passes entity attribute values (documents, tasks, etc.) to business process variable values. (See definition of Entity).
Note:

The fields to fill in will differ depending on the selected template. To learn how to fill in the fields for each template, go to the relevant template section using the links in the list above.

2.4.4.5.1. Call Entity Method

The Call Entity Method template activates entity methods, enabling various data operations such as updating attributes, retrieving information, and other actions without manual intervention.

Example: You can call the setRichText method of the dfx_Document entity to set a value in a Rich Text attribute on the document form. This way, the template automatically passes data from the dfx_Document document to the Rich Text attribute on the document form.


To call an entity method:

  1. In the navigation panel, select the Studio 1 workspace.

  2. Select the Process Library 2 shortcut.

  3. In the toolbar, select + 3 to create a new process definition, or select an existing definition.

  4. Add a service task to the form: in the toolbar, select the icon and drag it onto the process form. (See the Service Task section).

  5. Expand the Implementation section, then in the Template field select Call Entity Method.

  6. Fill in the template parameters using the hints in the table below.

    Screenshot
FieldDescription
Send Async?Asynchronous sending allows the process to continue executing subsequent tasks without waiting for the entity method call to complete.
Method Call ModeSelect one of the following options:
  • List of Objects — result in JSON array format.
    Example:
    [ { "attrValues.ms11": "[3000002734821, 3000002734839, 3000000007962]" } ]
    [ { "attrValues.ms04": "55" } ]
  • Single Object — result in JSON format.
    Example:
    { "attrValues.ms11": "[3000002734821, 3000002734839, 3000000007962]" }
    { "attrValues.ms04": "55" }
  • Single Value — result as a plain value (text, number).
    Example:
    [3000002734821, 3000002734839, 3000000007962]
    55
Process Variable for ResultIf needed, specify the name of the process variable in which the method call result will be stored.
EntitySelect the required entity from the list, or if your process contains a related entity, you can select the Related Entity option (see the Add Related Entity section).
Most commonly used entities:
MethodSelect a method from the drop-down list. The list will display methods available for each individual entity. Descriptions of the most popular methods can be found in the following tables:
Method Parameters1. Select + to add a new parameter.
2. Add the method parameters, specifying them according to what you defined when configuring methods during external API creation:
  • Name — according to the method requirements.
  • Type:
    • Process Variable — to use a value from a process variable.
    • String — for a text value.
    • Number — for a numeric value.
    • Boolean — for true/false values.
    • JSON — for complex data structures.
  • Value:
    • For process variable — select an existing variable from the current system as defined in the method settings. These variables receive the process variable values passed to the process from the document.
    • For other types — enter a specific value.
Screenshot

After filling in the fields listed in the table, the Call Parameters Script field will be populated automatically.

Note:

You can also set the template value manually. To do this, paste the required script into the Call Parameters Script field — for example, by copying it from another process.

Screenshot

dfx_Document Entity Methods

Method and DescriptionMethod ParametersExample
Method: addParticipant
Description: Add a document role member
execParams: {
ID: $ID,
role: 'rolecode',
subjectID: ID,
unitID: ID
}

ID — document ID,
role — role code,
subjectID — org unit ID, value in INT format
unitID — administration subject ID, value in INT format
JSON.stringify({
entity: 'dfx_Document',
method: 'addParticipant',
execParams: {
ID: $ID,
role: 'watcher',
subjectID: JSON.parse(execution.getVariable("code")),
unitID: JSON.parse(execution.getVariable("code"))
}
})
Method: removeParticipant
Description: Remove a member from a document role
execParams: {
ID: $ID,
subjectID: ID,
role: 'rolecode'
}

ID — document ID,
role — role code,
subjectID — org unit ID, value in INT format
JSON.stringify({
entity: 'dfx_Document',
method: 'removeParticipant',
execParams: {
ID: $ID,
role: 'watcher',
subjectID: JSON.parse(execution.getVariable("atr")),
}
})
Method: update
Description: Update a document — set attribute values
execParams: {
ID: $ID,
subject: "DocSubject",
attrValues : JSON.stringify({
"ms01": "mytext",
"ms02": 342
})
},

ID — document ID;
subject — code of the standard attribute Short Description
ms01 — code of a custom attribute of type Text to set the value
ms02 — code of a custom attribute of type Number to set the value
JSON.stringify({
entity: 'dfx_Document',
method: 'update',
execParams: {
ID: $ID,
subject: "DocSubject",
attrValues : JSON.stringify({
"ms01": execution.getVariable("Text"),
"ms02": 342
})
},
__skipOptimisticLock: true
})
Method: execAction
Description: Execute a document type action
execParams: {
ID: $ID,
actionCode: 'code'
},

ID — document ID
actionCode — document type action code
JSON.stringify({
entity: 'dfx_Document',
method: 'execAction',
execParams: {
ID: $ID,
actionCode: 'approve'
},
__skipOptimisticLock: true
})
Method: setRichText
Description: Set the value of a Rich Text attribute
execParams: {
documentID: $ID,
attrCode: 'richText',
documentItemID: ID,
value: Text'
},

ID — document ID
attrCode — code of the rich text attribute
documentItemID — ID of the table attribute record, if the rich text is in a table
value — the value to set. String format only
JSON.stringify({
entity: 'dfx_Document',
method: 'setRichText',
execParams: {
documentID:$ID,
attrCode: 'ms19',
documentItemID: execution.getVariable("ItemID"),
value: execution.getVariable("rich").toString()
}
})
Method: selectRichText
Description: Get the value of a Rich Text attribute
execParams: {
documentID: $ID,
attrCode: 'richText',
documentItemID: ID,
},

ID — document ID
attrCode — code of the rich text attribute
documentItemID — ID of the table attribute record, if the rich text is in a table
JSON.stringify({
entity: 'dfx_Document',
method: 'selectRichText',
execParams: {
documentID: $ID,
documentItemID: parseInt(execution.getVariable("table")),
attrCode: 'ms19'
}
})
Method: select
Description: Get document attribute values
fieldList: ['attrValues.ms01'],
whereList: {
c01: {
expression: '[ID]',
condition: 'equal',
value: $ID
}
},

fieldList — list of fields whose values will be retrieved,
whereList — selection conditions
JSON.stringify({
entity: 'dfx_Document',
method: 'select',
fieldList: ['attrValues.ms01'],
whereList: {
c01: {
expression: '[ID]',
condition: 'equal',
value: $ID
}
}
})


bpm_ExtTaskService Entity Methods

Method and DescriptionMethod ParametersExample
Method: getEmails
Description: Get email addresses
execParams: {
type: ID or ub:id:
}

type — object type, available options:
  • users
  • groups
  • roles
  • subjects
  • organizations
  • departments
  • staffUnits
  • employees
  • employeesOnStaff
  • execGroups
  • orgUnits
Output will be an array:
JSON.stringify({
entity: 'bpm_ExtTaskService',
method: "getEmails",
execParams: {
employeesOnStaff: JSON.parse(${user}.toString())
}
})
Method: callServerModule
Description: Call a server module from the library
execParams: {
code: 'documentUtils',
method: 'deleteDocumentLinks',
params: {
docID: $ID
}
},

code — server module code from the library
method — function code inside the module
params — parameters accepted by the method
JSON.stringify({
entity: 'bpm_ExtTaskService',
method: 'callServerModule',
execParams: {
code: 'documentUtils',
method: 'deleteDocumentLinks',
params: {
docID: $ID
}
}
})


dfx_Document_ppt Entity Methods

Method and DescriptionParametersExample
Method: select
Description: Get document role members
fieldList: ['subjectID'],
whereList: {
c01: {
expression: '[role]',
condition: 'equal',
value: 'watcher'
},
c02: {
expression: '[objectID]',
condition: 'equal',
value: execution.getVariable("ms03")
}
},

fieldList — list of fields whose values will be retrieved,
whereList — selection conditions
JSON.stringify({
entity: 'dfx_Document_ppt',
method: 'select',
fieldList: ['subjectID'],
whereList: {
c01: {
expression: '[role]',
condition: 'equal',
value: 'watcher'
},
c02: {
expression: '[objectID]',
condition: 'equal',
value: execution.getVariable("ms03")
}
}
})

2.4.4.5.2. Call External API Method

The Call External API Method template allows you to integrate business processes with external systems and services. Using this template, you can configure calls to API methods of external services directly from a business process, pass parameters, and receive the results of those calls.

Example: You need to retrieve the current exchange rate from the National Bank of Ukraine (NBU) service and then save it to a business process for further use. To do this:

  1. Create an external API. (See the External APIs section).
  2. In the settings of the created API, go to the Methods tab.
  3. Select Add Method, then in the created method parameters specify the "currency code" and "date" parameters.
  4. In the business process, create a service task based on the Call External API Method template.
  5. In the task settings, in the Implementation section, in the Method and Method Parameters fields, specify the same values as in the created external API.

Using the API call, you will be able to retrieve the current exchange rate. You can then automatically display the exchange rate in the required document using attributes on the document form.


To call an external API method:

  1. Create a service task (see the Service Task section).

  2. Expand the Implementation section, then in the Template field select Call External API Method.

  3. Fill in the template parameters using the hints in the table below.

    Screenshot
FieldDescription
Send AsynchronouslyAsynchronous sending allows the process to continue executing subsequent tasks without waiting for the API call to complete.
Method Invocation ModeSelect one of the following options:
  • List of Objects — result in JSON array format.
    Example:
    json<br/>[ { "attrValues.ms11": "[3000002734821, 3000002734839, 3000000007962]" } ]<br/>[ { "attrValues.ms04": "55" } ]<br/>
  • Single Object — result in JSON format.
    Example:
    json<br/>{ "attrValues.ms11": "[3000002734821, 3000002734839, 3000000007962]" }<br/>{ "attrValues.ms04": "55" }<br/>
  • Single Value — result as a value.
    Example:
    <br/>[3000002734821, 3000002734839, 3000000007962]<br/>55<br/>
Variable for Method ResultIf needed, specify the name of the process variable in which the method call result will be stored.
External APISelect the required external API from the drop-down list. This can be a previously configured API you want to call. (See the External APIs section.)
ServerSelect the server configured for the selected external API. This determines which server the call will be made from.
MethodSelect the method configured in the selected external API. This determines the specific operation to be performed during the call.
Method ParametersThe parameters of the method configured in the external API method will be displayed. For each parameter, specify:
  • Type — select the parameter type from the drop-down list (Process Variable, String, Number, Boolean, JSON).
  • Value — set the value for the parameter of the corresponding type.

Screenshot
This allows you to pass the required data to the API request.

After filling in the fields listed in the table, the Call Parameters Script field will be populated automatically.

Note:

You can also set the template value manually. To do this, paste the required script into the Call Parameters Script field — for example, by copying it from another process.

Screenshot

2.4.4.5.3. Call Server Module

The Call Server Module template is used to interact with server modules located in the server module library. It allows you to call specific methods on the server that perform certain operations, such as data processing, database interactions, or other server-side functions.

Example: You want to call a server module to update user data in an internal system.

  1. Create a service task (see the Service Task section).

  2. Expand the Implementation section, then in the Template field select Call Server Module.

  3. Fill in the template parameters using the hints in the table below.

    Screenshot
FieldDescription
Send Async?Asynchronous sending allows the process to continue executing subsequent tasks without waiting for the server module call to complete.
Method Call ModeSelect one of the following options:
  • List of Objects — calls the method for a list of objects. Result in JSON array format.
    Example:
    json<br/>[ { "attrValues.ms11": "[3000002734821, 3000002734839, 3000000007962]" } ]<br/>[ { "attrValues.ms04": "55" } ]<br/>
  • Single Object — calls the method for a single object. Result in JSON format.
    Example:
    json<br/>{ "attrValues.ms11": "[3000002734821, 3000002734839, 3000000007962]" }<br/>{ "attrValues.ms04": "55" }<br/>
  • Single Value — calls the method for a single value. Result as a value.
    Example:
    `<br/>[3000002734821, 3000002734839, 3000000007962]<br/>55<br/>
Variable for Method ResultIf needed, specify the name of the process variable in which the method call result will be stored.
Server ModuleSelect a server module from the drop-down list. The list will display all server modules from the server module library. A server module contains a set of methods that can be called.
MethodMethods can perform various server-side operations such as storing data, processing information, etc. Specify the method code to call from the selected server module.

To find the method code, go to the server module library and open the server module you added in the previous step. In the script field, you will find the method name on the second line.
Screenshot
ParametersAdd the parameters expected by the server module method. For each parameter, specify:
  • Name — the name of the parameter expected by the method.
  • Type — select the parameter type from the drop-down list (Process Variable, String, Number, Boolean, JSON).
  • Value — set the value for the parameter of the corresponding type.
Screenshot

After filling in the fields listed in the table, the Call Parameters Script field will be populated automatically.

Note:

You can also set the template value manually. To do this, paste the required script into the Call Parameters Script field — for example, by copying it from another process.

Screenshot

2.4.4.5.4. Execute Document Action

The Execute Document Action template is used to automatically execute actions on documents within a business process. This can include actions such as approval, rejection, status updates, or other actions defined for documents in the platform.

To create a service task based on the Execute Document Action template:

  1. Create a service task (see the Service Task section).
  2. Expand the Implementation section, then in the Template field select Execute Document Action.
  3. Fill in the template parameters using the hints in the table below.
FieldDescription
Send AsynchronouslyAsynchronous sending allows the process to continue executing subsequent tasks without waiting for the document action to complete.
Document ActionSpecify the document action code. Actions may differ depending on the document type and its status. If the document is linked to another entity, the action can be selected from a drop-down list. The list will display available actions from all linked document types. If action names differ across document types, the drop-down list will display the code and names separated by "/".
If the required document action is not in the list, create it and add it to the document type linked to the business process (see the Statuses section).

After filling in the fields listed in the table, the Call Parameters Script field will be populated automatically.

Note:

You can also set the template value manually. To do this, paste the required script into the Call Parameters Script field — for example, by copying it from another process.

2.4.4.5.5. Select Entity Attributes

The Extract Entity Attributes template is used to retrieve attribute values from a specific entity and save them to a business process variable. This allows you to automate the retrieval and use of entity data in business processes.

Example: Using this template, you can automatically extract document attribute values (for example, Document Author and Title) and save them to process variables for further use.

To create a service task based on the Select Entity Attributes template:

  1. Create a service task (see the Service Task section).
  2. Expand the Implementation section, then in the Template field select Select Entity Attributes.
  3. Fill in the template parameters using the hints in the table below.
FieldDescription
Send AsynchronouslyAsynchronous sending allows the process to continue executing subsequent tasks without waiting for the entity attribute extraction to complete.
Method Invocation ModeSelect one of the following options:
  • List of Objects — calls the method for a list of objects. Result in JSON array format.
    Example:
    json<br/>[ { "attrValues.ms11": "[3000002734821, 3000002734839, 3000000007962]" } ]<br/>[ { "attrValues.ms04": "55" } ]<br/>
  • Single Object — calls the method for a single object. Result in JSON format.
    Example:
    json<br/>{ "attrValues.ms11": "[3000002734821, 3000002734839, 3000000007962]" }<br/>{ "attrValues.ms04": "55" }<br/>
  • Single Value — calls the method for a single value. Result as a value.

    Example:
    <br/>[3000002734821, 3000002734839, 3000000007962]<br/>55<br/>
Variable for Method ResultIf needed, specify the name of the process variable in which the method call result will be stored.
EntitySelect the required entity from the list, or if your process contains a related entity, you can select the Related Entity option (see the Add Related Entity section).
Entity Attributes Select entity attributes from the drop-down list. If this field is left empty, no entity attributes will be updated.
Custom AttributesAvailable only for entities that have custom attributes, such as:
  • dfx_Document (Documents)
  • dfx_DocumentItem (Document collection items)
  • frm_UserDictionaryItem (Custom reference items)
If needed, select custom attributes from the drop-down list. If this field is left empty, no custom attributes will be updated.
Custom AttributesAvailable only for entities that have custom attributes, such as:
  • dfx_Document (Documents)
  • dfx_DocumentItem (Document collection items)
  • frm_UserDictionaryItem (Custom reference items)
If needed, select custom attributes from the drop-down list. If this field is left empty, no custom attributes will be updated.
Custom AttributesAvailable only for entities that have custom attributes, such as:
  • dfx_Document (Documents)
  • dfx_DocumentItem (Document collection items)
  • frm_UserDictionaryItem (Custom reference items)
If needed, select custom attributes from the drop-down list. If this field is left empty, no custom attributes will be updated.

After filling in the fields listed in the table, the Call Parameters Script field will be populated automatically.

Note:

You can also set the template value manually. To do this, paste the required script into the Call Parameters Script field — for example, by copying it from another process.

2.4.4.5.6. Extract Role Members

This template allows you to retrieve members of a specific document role and save them to a business process variable. This is useful for automating workflows where specific roles are needed for subsequent actions.


To create a service task based on the Extract Role Members template:

  1. Create a service task (see the Service Task section).

  2. Expand the Implementation section, then in the Template field select Extract Role Members.

  3. Fill in the template parameters using the hints in the table below.

FieldDescription
Send AsynchronouslyAsynchronous sending allows the process to continue executing subsequent tasks without waiting for the role member extraction to complete.
Method Invocation ModeSelect one of the following options:
  • List of Objects — calls the method for a list of objects. Result in JSON array format.
    Example:
    [ { "attrValues.ms11": "[3000002734821, 3000002734839, 3000000007962]" } ]
    [ { "attrValues.ms04": "55" } ]
  • Single Object — calls the method for a single object. Result in JSON format.
    Example:
    { "attrValues.ms11": "[3000002734821, 3000002734839, 3000000007962]" }
    { "attrValues.ms04": "55" }
  • Single Value — calls the method for a single value. Result as a value.
    Example:
    [3000002734821, 3000002734839, 3000000007962]
Variable for Method ResultIf needed, specify the name of the process variable in which the method call result will be stored.
RoleSelect a role from the drop-down list. If a related entity is present, the drop-down list will display only the roles available in the linked document types.
To learn about standard role values or create a custom role, see the Roles section.
ℹ️ Note: The system returns not only direct document role members but also delegated members.

After filling in the fields listed in the table, the Call Parameters Script field will be populated automatically.

Note:

You can also set the template value manually. To do this, paste the required script into the Call Parameters Script field — for example, by copying it from another process.

2.4.4.5.7. Send Email

The Send Email template allows you to automate sending emails within a business process — for example, after a document has been approved or a task has been completed.

Note:

Before using the Send Email template, ensure that you have configured an email template or a report template to be used for generating the email content.


To create a service task based on the Send Email template:

  1. Select or add a service task to the form 1.

  2. In the task settings, expand the Implementation tab 2.

  3. In the Template field, select Send Email 3.

  4. Fill in the template parameters using the hints in the table below.

FieldDescription
TypeSelect one of the following message types:
  • Email Template
  • Process Variable — useful when a single process has multiple tasks that send emails and you want to use different templates for each. Only email templates are supported. Report templates are not supported.
  • Report Template — Reports are a legacy method for building notifications. Using email templates is recommended. If you still want to use report templates but the option is not in the list, see the Send Email Using Report Template section.
Email Template
available only for the Email Template type
Select the required email template.
Subject
available only for the Report Template type
Enter the email subject.
ℹ️ Note:
You can additionally format the subject text using Mustache syntax.
Report
available only for the Report Template type
Select a report template from the drop-down list. Reports are used as email templates. You can choose one of the standard reports or create your own — see the Report Templates section.
ℹ️ Note:
For convenience, you can create a new report template or edit an existing one directly in the template settings. To do this, hover over the Report field name 1, then select the required option from the menu 2.
  1. Expand the To section 1 to configure the email recipients.

  2. Expand the Email Address section 2.

  3. In the Type field, select the recipient type:

    • Email Address — specify a specific recipient email address.
    • Process Variable — select a process variable that contains the recipient's email address, the organizational unit code (for example, a position), or a record ID (the number displayed at the end of a link).
    • Reference — select the reference from which you want to choose an organizational unit or a specific user. Available references: User, Position, Executor Group, Department, Our Organization, Organization Employee.
    • Related Object Role — select the role of the related document whose members will be the email recipients.
    • Related Object Attribute — select a standard attribute of the related document that contains the recipient's email address or organizational unit code (for example, a position).
    • Custom Attribute of Related Object — select a custom attribute of the related document that contains the recipient's email address or organizational unit code (for example, a position).
    Note:

    The Related Object Role, Related Object Attribute, and Custom Attribute of Related Object types are only available if your process contains a related entity (see the Add Related Entity section).

  4. Depending on the selected type, fill in the corresponding fields:


    1. In the Email Address field, enter the specific email address of the email recipient. For example, example@example.com.


  5. If needed, you can add multiple email recipients. To do this, select + next to the To section header and repeat steps 7–8 for each recipient.

  6. Optionally, you can also configure the CC and BCC fields. To do this, select + next to the required section header, then fill in the remaining fields following the same steps as for the To section.

  7. In the toolbar, select Save.

2.4.4.5.8. Update Entity Attributes

The Update Entity Attributes template allows you to update attribute values of entities using business process variable values.

  1. Create a service task (see the Service Task section).

  2. Expand the Implementation section, then in the Template field select Update Entity Attributes.

  3. Fill in the template parameters using the hints in the table below.

FieldDescription
Send AsynchronouslyAsynchronous sending allows the process to continue executing subsequent tasks without waiting for the entity update to complete.
EntityFrom the drop-down menu, select the entity you want to update using this task.
ℹ️ Note:
You can also select the Related Entity option if you previously added a related entity to the current process (see Add Related Entity to Process).
Entity AttributesIn this field, you can specify the entity attributes whose values you want to update. If this field is left empty, no entity attributes will be updated.

To specify the entity attributes to update:
1. Next to the Attributes section header, select the + icon to add entity attributes.
2. In the Attribute field, select the desired entity attributes from the drop-down list.
3. In the Type field, select the attribute value type from the drop-down list — either a fixed value or a process variable.
4. Depending on the selected type, enter the required value in the Value field, or if you selected a variable, enter the variable name in the Process Variable field.

If you selected the Related Entity option in the Entity field, the entity attribute ID (ID) of type Process Variable with the value $ID will be added automatically. This is required for updating the document from which the process was launched. If no Related Entity is defined, you must add the ID entity attribute manually and set its type to "Process Variable" with the value $ID.
Custom AttributesIn this field, you can specify the custom attributes of the entity whose values you want to update. If this field is left empty, no custom attributes will be updated.

To specify the custom attributes to update:
1. Next to the Custom Attributes section header, select the + icon to add custom entity attributes.
2. In the Attribute field, select the desired entity attributes from the drop-down list.
3. In the Type field, select the attribute value type from the drop-down list — either a fixed value or a process variable.
4. Depending on the selected type, enter the required value in the Value field, or if you selected a variable, enter the variable name in the Process Variable field.

After filling in the fields, the Call Parameters Script will be generated automatically.

Note:

You can also set the template value manually. To do this, paste the required script into the Call Parameters Script field — for example, by copying it from another process.

Note:

You can also use additional request parameters. Their names and possible values are described in the table below.

ParameterValueDescription
__skipOptimisticLocktrue / falseUse true to prevent optimistic locking when updating entities from a business process.
__executeAsUseruser ID or a variable containing a user IDThis parameter allows you to execute an action under another user's profile. Used for the execAction method. The user under whom the action is executed must have access to perform it.

Additional Parameter Usage Examples

Example 1: Running a document action with the code approve under the user admin (user ID = 10).

Example 2: Updating a custom attribute of a document. Writing the value of the process variable ID into the attribute with the code sd01.

2.4.4.5.9. AI Execution

The AI Execution template allows you to interact with an AI scenario directly from a business process. The template supports various actions: create an execution session, launch it immediately, interrupt a running session, and others. Using scenario variables, you can pass AI results to subsequent process steps — for example, write retrieved data into document attributes, generate emails, or pass them to any other platform elements.


To apply the AI Execution template:

  1. Create a service task (see the Service Task section).

  2. Select the created task 1.

  3. Expand the Implementation section 2, then in the Template field select AI Execution 3.

  4. Fill in the template parameters using the hints in the table below.

FieldDescription
AI Execution ActionSelect one of the following actions:
  • Create New — creates an AI scenario execution session without launching it. Use this option when the launch should happen later under specific conditions.
  • Create New and Run — the most commonly used action. Creates an execution session and launches it immediately.
  • Run Existing — launches an execution session that was previously created.
  • Interrupt — stops an AI scenario execution session that is currently running.
  • Add Message and Run — adds a message to the LLM model within an existing execution session and launches it.
  • Update and Load Variables — updates variable values in the scenario execution without launching it.
Process Variable with Execution ID

this field is only available for the Run Existing and Interrupt actions
Enter the name of the process variable from which the execution ID of the scenario you want to run will be retrieved.
Process Variable for Saving New AI Execution IDYou can leave this field unchanged. This field contains the name of the variable in which the unique AI scenario execution ID will be stored.
AI ScenarioSelect how to add the scenario:
  • Select — use this option if you always want to apply a specific scenario. After selecting, a field will appear where you can choose the required scenario from the list.
  • From Process Variable — use this option if the scenario should be determined dynamically based on the value of a process variable set at earlier stages. After selecting, a field will appear where you need to enter the name of that variable.
Content

this field is only available for the Add Message and Run action
Select how to compose the message for the LLM model:
  • Enter Value — after selecting this option, a Message field will appear where you can enter the message text.
  • From Process Variable — the message will be passed from a process variable. After selecting this option, a Variable Name field will appear where you can enter the name of the corresponding variable.
Input ParametersUse this section to configure how data is passed to the scenario variables.
  1. In the AI Scenario Variable field, select from the list the AI scenario variable to which you want to pass data from previous process steps.
    ℹ️ Note: If no variables are available in the list, make sure you have created variables in the selected AI scenario. The list displays only input variables of the scenario.
  2. In the Data Type field, select the data type you want to pass to the variable.
  3. If the data type is String, Number, Boolean, or JSON, enter the value you want to pass to the scenario in the Value field.

    or

    If the data type is Process Variable, select from the list the process variable from which you want to pass data to the scenario.
Output Parameters

this section is not available for the Create New action.
Use this section to configure where the data returned by the AI scenario will be passed.
  1. In the AI Scenario Variable field, select from the list the AI scenario variable whose value you want to pass to subsequent process steps.
    ℹ️ Note: If no variables are available in the list, make sure you have created variables in the selected AI scenario. The list displays only output variables of the scenario.
  2. In the Process Variable field, enter the name of the process variable in which you want to store the AI scenario result.
MessageIf you want to use the execution result in subsequent process steps, you need to configure an intermediate message in this section. It allows the business process to "wait" for the scenario to complete and receive its result.

To create an intermediate message:
  1. In the Global Message Reference field, select Create New from the list.
  2. Scroll the Message section to the bottom and next to the No Intermediate Message Catching Event message, select Create.
  3. After this, a message event will appear in the business process modeler, where you can configure which data will be passed further into the process after the scenario completes.
  4. In the modeler, select the message event 1.
  5. Expand the Message section 2, then in the Incoming Local Variables section 3 you will see the list of variables that will pass data from the scenario to the process. They will be generated automatically based on the Output Parameters section settings in the service task.
  1. In the toolbar, select Save.

2.4.4.6. Script Task

You can use script tasks to process or transform data — process variables. Within a script task, you can write a script to interact with process variables.

Script tasks are used for internal data processing and writing lightweight scripts, while service tasks are suitable for more complex operations that require interaction with external systems or services.

2.4.4.6.1. Create a Script Task

  1. In the navigation panel, select the Studio workspace, then select the Process Library shortcut.

  2. Double-click the business process to which you want to add a script task.

  3. In the toolbar, select the 1 icon and place the element at the required location in the process diagram 2.

  4. Select the added element 1, then in the context menu select the 2 icon.

  5. In the context menu, select Script Task.

  6. Select the added script task 1.

  7. Go to the settings panel, then expand the General section 2.

  8. In the Name field, enter the desired task name so it reflects the task content. Example: "Process Input Data".

  9. In the task context menu, select the icon.

  10. Select + 1, then Inline Script 2.

  11. In the text field 1, enter the required functions for the script. You can use the main functions from the table below.

Note:

At the bottom of the window 2, you can find a link to the scripting documentation.

Function NameDescription
execution.getVariable('variableName')Get a variable value
execution.setVariable('variableName', value)Set a variable value
print('Write this line to Camunda Log')Used to write text to the Camunda log. Useful for debugging and monitoring processes, as it allows developers and administrators to see what is happening during script execution.
S('{"key": "value"}')Get a Spin constant
json.prop("key").value()Get a JSON constant
JSON.parse(spinObj)Convert SPIN to a JS object
S(JSON.stringify(jsObj))Convert a JS object to SPIN
spinObj.toString()Convert SPIN to JSON
S(jsonStr)Convert JSON to SPIN
JSON.stringify(jsObj)Convert a JS object to JSON
JSON.parse(jsonStr)Convert JSON to a JS object

2.4.4.6.2. Script Examples

  • Example 1: Processing a JSON array — retrieving parameters from it and writing them to process variables.

  • Example 2: Transforming a JSON array — extracting a list of email addresses from the array and saving them to a process variable as a JSON array field.

2.4.4.7. Configure the Modeler

The business process modeler has a number of settings that are rarely used when working with business processes, such as:

  • Additional process/task properties
  • Input and output parameters of a process/task
  • Related entity of the task form
  • Additional implementation options for service tasks

You can hide these settings. To do this:

  1. In the navigation panel, select the Studio 1 workspace.

  2. Select the Process Library 2 shortcut.

  3. Double-click the business process definition for which you want to configure the modeler 3.

  4. Select the settings icon.

  5. In the Modeler Settings window, check the parameters you do not want to display 1, then select Apply 2.

2.4.4.8. Mustache Syntax

Mustache is a templating library that uses a simple double-brace {{ }} syntax to insert values from context objects. In Nectain, this syntax is widely used for dynamically displaying task, object, and process attributes.

2.4.4.8.1. Key Concepts

  • Task Attributes: The task prefix is used to access task attributes.

    Example: {{ task.subject }} {{ task.description }} {{ task.assigneeID.fullName }}

  • Object Attributes: The instance prefix is used for attributes of objects linked to the task.

    Example: {{ instance.docNumber }} {{ instance.organizationID.code }}

  • Custom Attributes: The instance.attrValues prefix is used to access custom attributes of the document.

    Example: {{ instance.attrValues.ms01 }} {{ instance.attrValues.ms07 }}

  • Process Attributes: The process prefix is used for process attributes linked to the task.

    Example: {{ process.businessKey }}

  • Conditional Display: Use {{#}} and {{/}} to display a value only when it is present.

    Example: {{#task.dueDate}} Task deadline: {{#$f}}"task.dueDate","dateTime"{{/$f}} {{/task.dueDate}}


    Note:

    In this case, Task deadline will only be displayed when a task.dueDate value is present.

2.4.4.8.2. Where It Applies

Starting from version 48 and above, Mustache formatting macros are supported in the following elements:

User Task

  • General section:
    • Task Title Template field
    • Task Description Template field
  • Notifications section:
    • Subject field

Service Task (based on the Send Email template):

  • Implementation section:
    • Report field
  • In older versions: Compatibility ModeUB Report

2.4.4.8.3. Macro Formatting

Inside a macro, you can specify parameters in quotes or without them, separated by a comma or a space — the platform supports any of the following formats:

{{#$f}}task.dueDate date{{/$f}}
{{#$f}} task.dueDate dateTimeFull {{/$f}}
{{#$f}}task.dueDate,dateTimeFull{{/$f}}
{{#$f}}"task.dueDate", "dateTimeFull"{{/$f}}
{{#$f}}"task.dueDate" "dateTimeFull"{{/$f}}
{{#$f}}"task.dueDate" "dateTimeFull" "lang=uk"{{/$f}}
{{#$f}}task.dueDate, dateTimeFull, lang=uk{{/$f}}
{{#$f}}task.dueDate dateTimeFull lang=uk{{/$f}}

2.4.4.8.4. Format Types and Examples

General Formatting Function
$f / $format

Note:

The $$f alias is not supported.

The table below shows three formats:

  • Default format (for example, dateTimeFull) — the output of this format depends on the default localization set in your platform.

    • If your default localization is English, the output will use the dateTimeFull lang=en format, meaning the date will be displayed as 9/06/2024, 09:32:59.
    • If your default localization is Ukrainian, the output will use the dateTimeFull lang=uk format, meaning the date will be displayed as 09.06.2024, 09:32:59.
  • English localization format (for example, dateTimeFull lang=en) — the date will be displayed as 9/06/2024, 09:32:59.
  • Ukrainian localization format (for example, dateTimeFull lang=uk) — the date will be displayed as 09.06.2024, 09:32:59.

* The Output column shows how the result will look when the default language in your platform is English. If a different default language is set in your platform, the output may differ and will use the format corresponding to the selected localization.


Format TypeSyntaxOutput*
dateTimeFull{{#$f}}task.dueDate dateTimeFull{{/$f}}9/06/2024, 09:32:59
dateTimeFull lang=uk{{#$f}}task.dueDate dateTimeFull lang=uk{{/$f}}09.06.2024, 09:32:59
dateTimeFull lang=en{{#$f}}task.dueDate dateTimeFull lang=en{{/$f}}9/06/2024, 09:32:59
date{{#$format}}"task.dueDate" "date"{{/$format}}09/06/2024
date lang=uk{{#$format}}task.dueDate, date, lang=uk {{/$format}}09.06.2024
date lang=en{{#$format}}task.dueDate, date, lang=en{{/$format}}09/06/2024
dateFull{{#$format}}"task.dueDate" "dateFull"{{/$format}}09/06/24
dateFull lang=uk{{#$format}}task.dueDate dateFull lang=uk{{/$format}}09.06.24
dateFull lang=en{{#$format}}task.dueDate dateFull lang=en{{/$format}}09/06/24
dateShort{{#$f}}"task.dueDate" "dateShort"{{/$f}}06/24
dateShort lang=uk{{#$f}}task.dueDate dateShort lang=uk{{/$f}}06.24
dateShort lang=en{{#$f}}task.dueDate dateShort lang=en{{/$f}}06/24
dateFullLong{{#$f}}instance.attrValues.ms07 dateFullLong{{/$f}}06 June 2024
dateFullLong lang=uk{{#$f}}instance.attrValues.ms07 dateFullLong lang=uk{{/$f}}06 червня 2024 р.
dateFullLong lang=en{{#$f}}instance.attrValues.ms07 dateFullLong lang=en{{/$f}}06 June 2024
dateMYY{{#$f}}"instance.attrValues.ms06" "dateMYY"{{/$f}}06/2024
dateMYY lang=uk{{#$f}}instance.attrValues.ms06, dateMYY, lang=uk:{{/$f}}06.2024
dateMYY lang=en{{#$f}}instance.attrValues.ms06, dateMYY, lang=en:{{/$f}}06/2024
dateMYLong{{#$f}}"instance.attrValues.ms07" "dateMYLong"{{/$f}}June 2024
dateMYLong lang=uk{{#$f}}instance.attrValues.ms07, dateMYLong, lang=uk{{/$f}}червень 2024
dateMYLong lang=en{{#$f}}instance.attrValues.ms07, dateMYLong, lang=en{{/$f}}June 2024
time{{#$f}}"instance.attrValues.ms07" "time"{{/$f}}09:32
time lang=uk{{#$f}}instance.attrValues.ms07, time, lang=uk{{/$f}}09:32
time lang=en{{#$f}}instance.attrValues.ms07, time, lang=en{{/$f}}09:32
timeFull{{#$f}}"instance.attrValues.ms07" "timeFull"{{/$f}}09:32:22
timeFull lang=uk{{#$f}}instance.attrValues.ms07, timeFull, lang=uk{{/$f}}09:32:22
timeFull lang=en{{#$f}}instance.attrValues.ms07, timeFull, lang=en{{/$f}}09:32:22
dateTime{{#$f}}"instance.attrValues.ms07" "dateTime"{{/$f}}6/06/2024, 09:32
dateTime lang=uk{{#$f}}instance.attrValues.ms07, dateTime, lang=uk{{/$f}}06.06.2024, 09:32
dateTime lang=en{{#$f}}instance.attrValues.ms07, dateTime, lang=en{{/$f}}6/06/2024, 09:32
dateTimeFullWithTz{{#$f}}"instance.attrValues.ms07" "dateTimeFullWithTz"{{/$f}}6/06/2024, 09:32:22 GMT
dateTimeFullWithTz lang=uk{{#$f}}instance.attrValues.ms07, dateTimeFullWithTz, lang=uk{{/$f}}06.06.2024, 09:32:22 GMT
dateTimeFullWithTz lang=en{{#$f}}instance.attrValues.ms07, dateTimeFullWithTz, lang=en{{/$f}}6/06/2024, 09:32:22 GMT
numberGroup{{#$f}}"instance.attrValues.ms04" "numberGroup"{{/$f}}323
numberGroup lang=uk{{#$f}}instance.attrValues.ms04, numberGroup, lang=uk{{/$f}}323
numberGroup lang=en{{#$f}}instance.attrValues.ms04, numberGroup, lang=en{{/$f}}323
number{{#$f}}"instance.attrValues.ms04" "number"{{/$f}}323
number lang=uk{{#$f}}instance.attrValues.ms04, number, lang=uk{{/$f}}323
number lang=en{{#$f}}instance.attrValues.ms04, number, lang=en{{/$f}}323
sum{{#$f}}"instance.attrValues.ms04" "sum"{{/$f}}323.22
sum lang=uk{{#$f}}instance.attrValues.ms04, sum, lang=uk:{{/$f}}323,22
sum lang=en{{#$f}}instance.attrValues.ms04, sum, lang=en:{{/$f}}323.22
sumDelim{{#$f}}"instance.attrValues.ms04" "sumDelim"{{/$f}}323.22
sumDelim lang=uk{{#$f}}instance.attrValues.ms04, sumDelim, lang=uk{{/$f}}323,22
sumDelim lang=en{{#$f}}instance.attrValues.ms04, sumDelim, lang=en{{/$f}}323.22
decimal1{{#$f}}"instance.attrValues.ms05" "decimal1"{{/$f}}4,433.2
decimal1 lang=uk{{#$f}}instance.attrValues.ms05, decimal1, lang=uk:{{/$f}}4 433,2
decimal1 lang=en{{#$f}}instance.attrValues.ms05, decimal1, lang=en:{{/$f}}4,433.2
decimal2{{#$f}}"instance.attrValues.ms05" "decimal2"{{/$f}}4,433.23
decimal2 lang=uk{{#$f}}instance.attrValues.ms05, decimal2, lang=uk:{{/$f}}4 433,23
decimal2 lang=en{{#$f}}instance.attrValues.ms05, decimal2, lang=en:{{/$f}}4,433.23
decimal3{{#$f}}"instance.attrValues.ms05" "decimal3"{{/$f}}4,433.232
decimal3 lang=uk{{#$f}}instance.attrValues.ms05, decimal3, lang=uk:{{/$f}}4 433,232
decimal3 lang=en{{#$f}}instance.attrValues.ms05, decimal3, lang=en:{{/$f}}4,433.232
decimal4{{#$f}}"instance.attrValues.ms05" "decimal4"{{/$f}}4,433.2322
decimal4 lang=uk{{#$f}}instance.attrValues.ms05, decimal4, lang=uk:{{/$f}}4 433,2322
decimal4 lang=en{{#$f}}instance.attrValues.ms05, decimal4, lang=en:{{/$f}}4,433.2322
decimal5{{#$f}}"instance.attrValues.ms05" "decimal5"{{/$f}}4,433.23223
decimal5 lang=uk{{#$f}}instance.attrValues.ms05, decimal5, lang=uk:{{/$f}}4 433,23223
decimal5 lang=en{{#$f}}instance.attrValues.ms05, decimal5, lang=en:{{/$f}}4,433.23223
decimal6{{#$f}}"instance.attrValues.ms05" "decimal6"{{/$f}}4,433.232230
decimal6 lang=uk{{#$f}}instance.attrValues.ms05, decimal6, lang=uk:{{/$f}}4 433,232230
decimal6 lang=en{{#$f}}instance.attrValues.ms05, decimal6, lang=en:{{/$f}}4,433.232230

Format Number
$number / $fn

Note:

The $$fn alias is not supported.

* The Output column shows how the result will look when the default language in your platform is English. If a different default language is set in your platform, the output may differ and will use the format corresponding to the selected localization.


SyntaxOutput*
{{#$number}}instance.attrValues.ms05{{/$number}}4433
{{#$number}}instance.attrValues.ms05 decimal1{{/$number}}4,433.2
{{#$fn}}instance.attrValues.ms05{{/$fn}}4433
{{#$fn}}instance.attrValues.ms05 decimal1{{/$fn}}4,433.2
{{#$fn}}instance.attrValues.ms05 decimal1 lang=uk{{/$fn}}4 433,2

Format Sum
$sum / $fs

Note:

The $$fs alias is not supported.

* The Output column shows how the result will look when the default language in your platform is English. If a different default language is set in your platform, the output may differ and will use the format corresponding to the selected localization.


SyntaxOutput*
{{#$sum}}instance.attrValues.ms05{{/$sum}}4,433.23
{{#$sum}}instance.attrValues.ms05 decimal1{{/$sum}}4,433.23
{{#$fs}}instance.attrValues.ms05{{/$fs}}4,433.23
{{#$fs}}instance.attrValues.ms05 decimal1{{/$fs}}4,433.23
{{#$fs}}instance.attrValues.ms05 decimal1 lang=uk{{/$fs}}4 433,23

Format Date
$date / $fd

Note:

The $$fd alias is not supported.

* The Output column shows how the result will look when the default language in your platform is English. If a different default language is set in your platform, the output may differ and will use the format corresponding to the selected localization.


SyntaxOutput*
{{#$date}}instance.attrValues.ms06{{/$date}}06/06/2024
{{#$date}}instance.attrValues.ms06 dateFull{{/$date}}06/06/2024
{{#$fd}}instance.attrValues.ms06{{/$fd}}06/06/2024
{{#$fd}}instance.attrValues.ms06 dateMYY{{/$fd}}06/06/2024
{{#$fd}}instance.attrValues.ms06 dateShort lang=uk{{/$fd}}06.06.2024

Format Time
$time / $f

Note:

The $$ft alias is not supported.

* The Output column shows how the result will look when the default language in your platform is English. If a different default language is set in your platform, the output may differ and will use the format corresponding to the selected localization.


SyntaxOutput*
{{#$time}}instance.attrValues.ms07{{/$time}}09:32
{{#$time}}instance.attrValues.ms07 timeFull{{/$time}}09:32
{{#$ft}}instance.attrValues.ms07{{/$ft}}09:32
{{#$ft}}instance.attrValues.ms07 timeFull{{/$ft}}09:32
{{#$ft}}instance.attrValues.ms07 lang=uk{{/$ft}}09:32

Format Date and Time
$dateTime / $fdt

Note:

The $$fdt alias is not supported.

* The Output column shows how the result will look when the default language in your platform is English. If a different default language is set in your platform, the output may differ and will use the format corresponding to the selected localization.


SyntaxOutput*
{{#$dateTime}}instance.attrValues.ms07{{/$dateTime}}6/06/2024, 09:32
{{#$dateTime}}instance.attrValues.ms07 dateTimeFull{{/$dateTime}}6/06/2024, 09:32
{{#$fdt}}instance.attrValues.ms07{{/$fdt}}6/06/2024, 09:32
{{#$fdt}}instance.attrValues.ms07 dateTimeFullWithTz{{/$fdt}}6/06/2024, 09:32
{{#$fdt}}instance.attrValues.ms07 lang=uk{{/$fdt}}06.06.2024, 09:32

Format Date and Time (with Seconds)
$dateTime / $fdt

Note:

The $fdts and $$fdts aliases are not supported.

* The Output column shows how the result will look when the default language in your platform is English. If a different default language is set in your platform, the output may differ and will use the format corresponding to the selected localization.


SyntaxOutput*
{{#$dateTimeFull}}instance.attrValues.ms07{{/$dateTimeFull}}6/06/2024, 09:32:22
{{#$fdtf}}instance.attrValues.ms07{{/$fdtf}}6/06/2024, 09:32:22
{{#$fdtf}}instance.attrValues.ms07 lang=uk{{/$fdtf}}06.06.2024, 09:32:22