Skip to main content

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}.

PropertyDescription
businessKeyThe business key of the process instance, if set.
businessStatusThe business status of the process instance, if set.
callbackIdIf 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.
descriptionThe description of the process instance, if set.
definitionThe process definition. See below for more details.
idThe unique technical identifier of the process instance.
nameThe name of the process instance, if set.
startTimeThe time (as a java.util.Date) this process instance was started.
startUserIdThe id of the user that started this process instance.
tenantIdThe 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).

FunctionDescription
${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:

FunctionDescriptionAvailable 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.