Process Expressions
Process Instance Properties
The following properties are available on a process instance, for example when using root
or parent
.
Example usage: ${root.businessKey}
.
Property | Description |
---|---|
businessKey | The business key of the process instance, if set. |
businessStatus | The business status of the process instance, if set. |
callbackId | If the process instance is started through a process task in a CMMN case instance, this value will reference the id of the associated plan item instance. |
description | The description of the process instance, if set. |
definition | The process definition. See below for more details. |
id | The unique technical identifier of the process instance. |
name | The name of the process instance, if set. |
startTime | The time (as a java.util.Date) this process instance was started. |
startUserId | The id of the user that started this process instance. |
tenantId | The tenant identifier of this process instance. |
Process Assignment Functions
The following functions around assignment are available in BPMN process execution context:
The following functions around assignment are available in a BPMN process execution context. Since 2025.1.01+ they are also available in a CMMN case execution context. If not otherwise mentioned the functions are also available in Flowable Cloud. The only difference is that in the Flowable Cloud you can only access a task which belongs to the same scope as the execution context (not in the hierarchy).
Function | Description |
---|---|
${bpmn:getAssignee()} | Get the assignee of the current process. Only applicable in a process scope |
${bpmn:getAssignee(<processId>)} | Get the assignee of the process with the given processId |
${bpmn:removeAssignee()} | Remove the assignee of the current process. Only applicable in a process scope |
${bpmn:removeAssignee(<processId>)} | Remove the assignee of the process with the given processId |
${bpmn:setAssignee(<userId>)} | 2025.1.01+ Set the assignee of the current process to the user with the given userId. Only applicable in a process scope |
${bpmn:setAssignee(<processId>, <userId>)} | Set the assignee of the process with the given processId to the user with the given userId |
${bpmn:getOwner()} | Get the owner of the current process. Only applicable in a process scope |
${bpmn:getOwner(<processId>)} | Get the owner of the process with the given processId |
${bpmn:removeOwner()} | Remove the owner of the current process. Only applicable in a process scope |
${bpmn:removeOwner(<processId>)} | Remove the owner of the process with the given processId |
${bpmn:setOwner(<userId>)} | 2025.1.01+ Set the owner of the current process to the user with the given userId. Only applicable in a process scope |
${bpmn:setOwner(<processId>, <userId>)} | Set the owner of the process with the given processId to the user with the given userId |
${bpmn:addCandidateUser(<userId>)} | 2025.1.01+ Add the user with the given userId as a candidate user of the current process. Only applicable in a process scope |
${bpmn:addCandidateUser(<processId>, <userId>)} | Add the user with the given userId as a candidate user of the process with the given processId |
${bpmn:removeCandidateUser(<userId>)} | 2025.1.01+ Remove the user with the given userId as a candidate user of the current process. Only applicable in a process scope |
${bpmn:removeCandidateUser(<processId>, <userId>)} | Remove the user with the given userId as a candidate user of the process with the given processId |
${bpmn:addCandidateUsers(<userIds>)} | 2025.1.01+ Add the users with the given userIds as candidate users of the current process. Only applicable in a process scope |
${bpmn:addCandidateUsers(<processId>, <userIds>)} | Add the users with the given userIds as candidate users of the process with the given processId |
${bpmn:removeCandidateUsers(<userIds>)} | 2025.1.01+ Remove the users with the given userIds as candidate users of the current process. Only applicable in a process scope |
${bpmn:removeCandidateUsers(<processId>, <userIds>)} | Remove the users with the given userIds as candidate users of the process with the given processId |
${bpmn:addCandidateGroup(<groupKey>)} | 2025.1.01+ Add the group with the given groupKey as a candidate group of the current process. Only applicable in a process scope |
${bpmn:addCandidateGroup(<processId>, <groupKey>)} | Add the group with the given groupKey as a candidate group of the process with the given processId |
${bpmn:removeCandidateGroup(<groupKey>)} | 2025.1.01+ Remove the group with the given groupKey as a candidate group of the current process. Only applicable in a process scope |
${bpmn:removeCandidateGroup(<processId>, <groupKey>)} | Remove the group with the given groupKey as a candidate group of the process with the given processId |
${bpmn:addCandidateGroups(<groupKeys>)} | 2025.1.01+ Add the groups with the given groupKeys as candidate groups of the current process. Only applicable in a process scope |
${bpmn:addCandidateGroups(<processId>, <groupKeys>)} | Add the groups with the given groupKeys as candidate groups of the process with the given processId |
${bpmn:removeCandidateGroups(<groupKeys>)} | 2025.1.01+ Remove the groups with the given groupKeys as candidate groups of the current process. Only applicable in a process scope |
${bpmn:removeCandidateGroups(<processId>, <groupKeys>)} | Remove the groups with the given groupKeys as candidate groups of the process with the given processId |
${bpmn:addParticipantUser(<userId>)} | 2025.1.01+ Add the user with the given userId as a participant user of the current process. Only applicable in a process scope |
${bpmn:addParticipantUser(<processId>, <userId>)} | Add the user with the given userId as a participant user of the process with the given processId |
${bpmn:removeParticipantUser(<userId>)} | 2025.1.01+ Remove the user with the given userId as a participant user of the current process. Only applicable in a process scope |
${bpmn:removeParticipantUser(<processId>, <userId>)} | Remove the user with the given userId as a participant user of the process with the given processId |
${bpmn:addParticipantUsers(<userIds>)} | 2025.1.01+ Add the users with the given userIds as participant users of the current process. Only applicable in a process scope |
${bpmn:addParticipantUsers(<processId>, <userIds>)} | Add the users with the given userIds as participant users of the process with the given processId |
${bpmn:removeParticipantUsers(<userIds>)} | 2025.1.01+ Remove the users with the given userIds as participant users of the current process. Only applicable in a process scope |
${bpmn:removeParticipantUsers(<processId>, <userIds>)} | Remove the users with the given userIds as participant users of the process with the given processId |
${bpmn:addParticipantGroup(<groupKey>)} | 2025.1.01+ Add the group with the given groupKey as a participant group of the current process. Only applicable in a process scope |
${bpmn:addParticipantGroup(<processId>, <groupKey>)} | 2025.1.01+Add the group with the given groupKey as a participant group of the process with the given processId |
${bpmn:removeParticipantGroup(<groupKey>)} | 2025.1.01+ Remove the group with the given groupKey as a participant group of the current process. Only applicable in a process scope |
${bpmn:removeParticipantGroup(<processId>, <groupKey>)} | 2025.1.01+ Remove the group with the given groupKey as a participant group of the process with the given processId |
${bpmn:addParticipantGroups(<groupKeys>)} | 2025.1.01+ Add the groups with the given groupKeys as participant groups of the current process. Only applicable in a process scope |
${bpmn:addParticipantGroups(<processId>, <groupKeys>)} | 2025.1.01+ Add the groups with the given groupKeys as participant groups of the process with the given processId |
${bpmn:removeParticipantGroups(<groupKeys>)} | 2025.1.01+ Remove the groups with the given groupKeys as participant groups of the current process. Only applicable in a process scope |
${bpmn:removeParticipantGroups(<processId>, <groupKeys>)} | 2025.1.01+ Remove the groups with the given groupKeys as participant groups of the process with the given processId |
${bpmn:addWatcherUser(<userId>)} | 2025.1.01+ Add the user with the given userId as a watcher user of the current process. Only applicable in a process scope |
${bpmn:addWatcherUser(<processId>, <userId>)} | 2025.1.01+ Add the user with the given userId as a watcher user of the process with the given processId |
${bpmn:removeWatcherUser(<userId>)} | 2025.1.01+ Remove the user with the given userId as a watcher user of the current process. Only applicable in a process scope |
${bpmn:removeWatcherUser(<processId>, <userId>)} | 2025.1.01+ Remove the user with the given userId as a watcher user of the process with the given processId |
${bpmn:addWatcherUsers(<userIds>)} | 2025.1.01+ Add the users with the given userIds as watcher users of the current process. Only applicable in a process scope |
${bpmn:addWatcherUsers(<processId>, <userIds>)} | 2025.1.01+ Add the users with the given userIds as watcher users of the process with the given processId |
${bpmn:removeWatcherUsers(<userIds>)} | 2025.1.01+ Remove the users with the given userIds as watcher users of the current process. Only applicable in a process scope |
${bpmn:removeWatcherUsers(<processId>, <userIds>)} | 2025.1.01+ Remove the users with the given userIds as watcher users of the process with the given processId |
${bpmn:addWatcherGroup(<groupKey>)} | 2025.1.01+ Add the group with the given groupKey as a watcher group of the current process. Only applicable in a process scope |
${bpmn:addWatcherGroup(<processId>, <groupKey>)} | 2025.1.01+ Add the group with the given groupKey as a watcher group of the process with the given processId |
${bpmn:removeWatcherGroup(<groupKey>)} | 2025.1.01+ Remove the group with the given groupKey as a watcher group of the current process. Only applicable in a process scope |
${bpmn:removeWatcherGroup(<processId>, <groupKey>)} | 2025.1.01+ Remove the group with the given groupKey as a watcher group of the process with the given processId |
${bpmn:addWatcherGroups(<groupKeys>)} | 2025.1.01+ Add the groups with the given groupKeys as watcher groups of the current process. Only applicable in a process scope |
${bpmn:addWatcherGroups(<processId>, <groupKeys>)} | 2025.1.01+ Add the groups with the given groupKeys as watcher groups of the process with the given processId |
${bpmn:removeWatcherGroups(<groupKeys>)} | 2025.1.01+ Remove the groups with the given groupKeys as watcher groups of the current process. Only applicable in a process scope |
${bpmn:removeWatcherGroups(<processId>, <groupKeys>)} | 2025.1.01+ Remove the groups with the given groupKeys as watcher groups of the process with the given processId |
BPMN Functions
The following functions are available in BPMN context:
Function | Description | Available on Cloud |
---|---|---|
${bpmn:copyLocalVariable(localVariableName, variableName)} | Copies an execution-local variable to the process instance. | ❌ |
${bpmn:copyLocalVariableToParent(localVariableName, variableName)} | Copies an execution-local variable to its parent execution. | ❌ |
${bpmn:getTask(taskId)} | Returns the task (runtime or historical) with the provided id. | ❌ |
${bpmn:replaceVariableInList(variableName, index, listVariableName)} | Changes the entry on the provided index of a list with the given listVariableName with the value of the variable referenced by variableName. | ❌ |
${bpmn:getBusinessStatus(businessKey)} | 2025.1.01+ Get the business status of the current process. Only applicable in a process scope | ✅ |
${bpmn:getBusinessStatus(processInstanceId, businessKey)} | 2025.1.01+ Get the business status of the process with the given processId. Also, available in a CMMN context | ✅ |
${bpmn:setBusinessStatus(businessStatus)} | 2025.1.01+ Set the business status of the current process to the given businessStatus. Only applicable in a process scope. | ✅ |
${bpmn:setBusinessStatus(processInstanceId, businessStatus)} | v3.16.0+ Set the business status of the process with the given processId to the given businessStatus. Since 2025.1.01+ also available in a CMMN context | ✅ |
${bpmn:getBusinessKey(businessKey)} | 2025.1.01+ Get the business key of the current process. Only applicable in a process scope | ✅ |
${bpmn:getBusinessKey(processInstanceId, businessKey)} | 2025.1.01+ Get the business key of the process with the given processId. Also, available in a CMMN context | ✅ |
${bpmn:setBusinessKey(businessKey)} | 2025.1.01+ Set the business key of the current process to the given businessKey. Only applicable in a process scope. | ✅ |
${bpmn:setBusinessKey(processInstanceId, businessKey)} | 2025.1.01+ Set the business key of the process with the given processId to the given businessKey. Also, available in a CMMN context | ✅ |
${bpmn:triggerCaseEvaluation()} | Triggers the evaluation of case instance sentries of the case instance that is the parent of the process instance. | ❌ |