Call Activity
The Call activity identifies a point in the process where a global process or a global task is invoked. This activity acts as a wrapper for the invocation, transferring control to the called global process or global task upon activation. It enables modularity and reusability by allowing processes to reference and execute other defined processes or tasks.
| Field | Description | Requirement |
|---|---|---|
| Exclusive | When the activity receives a special job from a specific process, it ensures jobs run in order. | Optional |
| Complete asynchronously | Executes the completion of the call activity in an exclusive asynchronous job, useful for scenarios like parallel multi-instance. | Optional |
| Execution listeners | Configures listeners that trigger at the start and end of the activity's execution. | Optional |
| Called element | Specifies the reference (e.g., key or ID) of the global process or global task to be invoked. | Required |
| Called element type | Defines whether the sub-process details are embedded within the higher-level process or refers to another reusable process. | Required |
| Input parameters | An optional map for defining parameters and variables to be passed into the newly created process. | Optional |
| Output parameters | An optional map for defining parameters and variables to be mapped back to the original case work item upon completion of the called process. | Optional |
| Inherit variables in sub process | Determines whether the newly created process inherits variables from its parent process. | Optional |
| Start the referenced process from the same deployment | If true, the process is started from the same deployment. If false, the newest process definition will always be used. | Optional |
| Fallback to default tenant | Searches for the definition by key in the default tenant if the current tenant search fails. | Optional |
| Process instance name | Sets the name for the newly created process instance. | Optional |
| Inherit business key | Determines whether the business key from the parent process is inherited by the new process instance. | Optional |
| Business key expression | An expression or value that defines the business key for the newly created process instance. | Optional |
| Use local scope for out parameters | Configures whether a local variable scope is used for output parameters. | Optional |
| Multi-instance type | Determines if multiple instances of this activity are created. | Optional |
| Cardinality (Multi-instance) | An expression or numeric integer value that specifies the number of instances to be created. | Optional |
| Collection (Multi-instance) | Specifies a collection whose elements determine the number of instances; a new instance is created for each element. | Optional |
| Element variable (Multi-instance) | Defines the variable name under which each element from the collection is available to the newly created instance. | Optional |
| Completion condition (Multi-instance) | An expression that, when evaluated to true, stops the creation of new instances. | Optional |
| Is a transaction sub process | Identifies whether this sub-process is a transaction type. | Optional |
Action Types & Examples
Execution listeners
Start
- Format: string
- Example Result:
"Start"
End
- Format: string
- Example Result:
"End"
Take
- Format: string
- Example Result:
"Take"
Called element type
Key
- Format: string
- Example Result:
"key"
Reference
- Format: string
- Example Result:
"Reference"
Input parameters
Source
- Format: string
- Example Result:
"parentVariable"
Source Expression
- Format: expression
- Example Result:
"${parentObject.property}"
Target
- Format: string
- Example Result:
"subProcessInput"
Target Expression
- Format: expression
- Example Result:
"${subProcessInput = parentVariable}"
Output parameters
Source
- Format: string
- Example Result:
"subProcessOutput"
Source Expression
- Format: expression
- Example Result:
"${subProcessOutput.result}"
Target
- Format: string
- Example Result:
"mainProcessVariable"
Target Expression
- Format: expression
- Example Result:
"${mainProcessVariable = subProcessOutput}"
Multi-instance type
None
- Format: string
- Example Result:
"None"
Parallel
- Format: string
- Example Result:
"Parallel"
Sequential
- Format: string
- Example Result:
"Sequential"
Cardinality (Multi-instance)
Numeric Value
- Format: digit
- Example Result:
"2"
Expression
- Format: expression
- Example Result:
"${itemCount}"
Collection (Multi-instance)
Collection Variable
- Format: string
- Example Result:
"myCollection"
Element variable (Multi-instance)
Variable Name
- Format: string
- Example Result:
"elementVar"
Completion Condition (Multi-instance)
Boolean Value
- Format: boolean
- Example Result:
"true"
Expression
- Format: expression
- Example Result:
"${variable == true}"
Implementation Examples
Field Setup - Called element: myReusableProcess - Called element type: key - Multi-instance type: Parallel - Cardinality (Multi-instance): 5 - Collection (Multi-instance): listOfItems - Element variable (Multi-instance): currentItem - Completion condition (Multi-instance): "${currentItem.status == "completed"}" - Process instance name: MyCalledProcess_ + Date - Input parameters: - Source: parentData - Target: subProcessData - Output parameters: - Source: subProcessResult - Target: mainProcessResult
Execution Parameters - Exclusive: true - Complete asynchronously: false - Inherit variables in sub process: true - Start the referenced process from the same deployment: true - Fallback to default tenant: false - Inherit business key: false - Use local scope for out parameters: true - Is a transaction sub process: false
Technical Notes
The
Process instance namefield, when left blank, defaults to "ProcessName_call_activity_Date". TheStart the referenced process from the same deploymentfield defaults totrue.