Case Expressions
Case Instance Properties
The following properties are available on a process instance, for example when using root
or parent
.
Example usage: ${parent.businessStatus}
.
Property | Description |
---|---|
businessKey | The business key of the case instance, if set. |
businessStatus | The business status of the case instance, if set. |
callbackId | If the case instance is started through a case task in a CMMN case instance, this value will reference the id of the associated plan item instance. |
description | The description of the case instance, if set. |
definition | The case definition. See below for more details. |
id | The unique technical identifier of the case instance. |
name | The name of the case instance, if set. |
startTime | The time (as a java.util.Date) the case instance was started. |
startUserId | The id of the user that started the case instance. |
tenantId | The tenant identifier of the case instance. |
Case Assignment Functions
The following functions around assignment are available in a CMMN case execution context. Since 2025.1.01+ they are also available in a BPMN process 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 |
---|---|
${cmmn:getAssignee()} | Get the assignee of the current case. Only applicable in a case scope |
${cmmn:getAssignee(<caseId>)} | Get the assignee of the case with the given caseId |
${cmmn:removeAssignee()} | Remove the assignee of the current case. Only applicable in a case scope |
${cmmn:removeAssignee(<caseId>)} | Remove the assignee of the case with the given caseId |
${cmmn:setAssignee(<userId>)} | 2025.1.01+ Set the assignee of the current case to the user with the given userId. Only applicable in a case scope |
${cmmn:setAssignee(<caseId>, <userId>)} | Set the assignee of the case with the given caseId to the user with the given userId |
${cmmn:getOwner()} | Get the owner of the current case. Only applicable in a case scope |
${cmmn:getOwner(<caseId>)} | Get the owner of the case with the given caseId |
${cmmn:removeOwner()} | Remove the owner of the current case. Only applicable in a case scope |
${cmmn:removeOwner(<caseId>)} | Remove the owner of the case with the given caseId |
${cmmn:setOwner(<userId>)} | 2025.1.01+ Set the owner of the current case to the user with the given userId. Only applicable in a case scope |
${cmmn:setOwner(<caseId>, <userId>)} | Set the owner of the case with the given caseId to the user with the given userId |
${cmmn:addCandidateUser(<userId>)} | 2025.1.01+ Add the user with the given userId as a candidate user of the current case. Only applicable in a case scope |
${cmmn:addCandidateUser(<caseId>, <userId>)} | Add the user with the given userId as a candidate user of the case with the given caseId |
${cmmn:removeCandidateUser(<userId>)} | 2025.1.01+ Remove the user with the given userId as a candidate user of the current case. Only applicable in a case scope |
${cmmn:removeCandidateUser(<caseId>, <userId>)} | Remove the user with the given userId as a candidate user of the case with the given caseId |
${cmmn:addCandidateUsers(<userIds>)} | 2025.1.01+ Add the users with the given userIds as candidate users of the current case. Only applicable in a case scope |
${cmmn:addCandidateUsers(<caseId>, <userIds>)} | Add the users with the given userIds as candidate users of the case with the given caseId |
${cmmn:removeCandidateUsers(<userIds>)} | 2025.1.01+ Remove the users with the given userIds as candidate users of the current case. Only applicable in a case scope |
${cmmn:removeCandidateUsers(<caseId>, <userIds>)} | Remove the users with the given userIds as candidate users of the case with the given caseId |
${cmmn:addCandidateGroup(<groupKey>)} | 2025.1.01+ Add the group with the given groupKey as a candidate group of the current case. Only applicable in a case scope |
${cmmn:addCandidateGroup(<caseId>, <groupKey>)} | Add the group with the given groupKey as a candidate group of the case with the given caseId |
${cmmn:removeCandidateGroup(<groupKey>)} | 2025.1.01+ Remove the group with the given groupKey as a candidate group of the current case. Only applicable in a case scope |
${cmmn:removeCandidateGroup(<caseId>, <groupKey>)} | Remove the group with the given groupKey as a candidate group of the case with the given caseId |
${cmmn:addCandidateGroups(<groupKeys>)} | 2025.1.01+ Add the groups with the given groupKeys as candidate groups of the current case. Only applicable in a case scope |
${cmmn:addCandidateGroups(<caseId>, <groupKeys>)} | Add the groups with the given groupKeys as candidate groups of the case with the given caseId |
${cmmn:removeCandidateGroups(<groupKeys>)} | 2025.1.01+ Remove the groups with the given groupKeys as candidate groups of the current case. Only applicable in a case scope |
${cmmn:removeCandidateGroups(<caseId>, <groupKeys>)} | Remove the groups with the given groupKeys as candidate groups of the case with the given caseId |
${cmmn:addParticipantUser(<userId>)} | 2025.1.01+ Add the user with the given userId as a participant user of the current case. Only applicable in a case scope |
${cmmn:addParticipantUser(<caseId>, <userId>)} | Add the user with the given userId as a participant user of the case with the given caseId |
${cmmn:removeParticipantUser(<userId>)} | 2025.1.01+ Remove the user with the given userId as a participant user of the current case. Only applicable in a case scope |
${cmmn:removeParticipantUser(<caseId>, <userId>)} | Remove the user with the given userId as a participant user of the case with the given caseId |
${cmmn:addParticipantUsers(<userIds>)} | 2025.1.01+ Add the users with the given userIds as participant users of the current case. Only applicable in a case scope |
${cmmn:addParticipantUsers(<caseId>, <userIds>)} | Add the users with the given userIds as participant users of the case with the given caseId |
${cmmn:removeParticipantUsers(<userIds>)} | 2025.1.01+ Remove the users with the given userIds as participant users of the current case. Only applicable in a case scope |
${cmmn:removeParticipantUsers(<caseId>, <userIds>)} | Remove the users with the given userIds as participant users of the case with the given caseId |
${cmmn:addParticipantGroup(<groupKey>)} | 2025.1.01+ Add the group with the given groupKey as a participant group of the current case. Only applicable in a case scope |
${cmmn:addParticipantGroup(<caseId>, <groupKey>)} | 2025.1.01+Add the group with the given groupKey as a participant group of the case with the given caseId |
${cmmn:removeParticipantGroup(<groupKey>)} | 2025.1.01+ Remove the group with the given groupKey as a participant group of the current case. Only applicable in a case scope |
${cmmn:removeParticipantGroup(<caseId>, <groupKey>)} | 2025.1.01+ Remove the group with the given groupKey as a participant group of the case with the given caseId |
${cmmn:addParticipantGroups(<groupKeys>)} | 2025.1.01+ Add the groups with the given groupKeys as participant groups of the current case. Only applicable in a case scope |
${cmmn:addParticipantGroups(<caseId>, <groupKeys>)} | 2025.1.01+ Add the groups with the given groupKeys as participant groups of the case with the given caseId |
${cmmn:removeParticipantGroups(<groupKeys>)} | 2025.1.01+ Remove the groups with the given groupKeys as participant groups of the current case. Only applicable in a case scope |
${cmmn:removeParticipantGroups(<caseId>, <groupKeys>)} | 2025.1.01+ Remove the groups with the given groupKeys as participant groups of the case with the given caseId |
${cmmn:addWatcherUser(<userId>)} | 2025.1.01+ Add the user with the given userId as a watcher user of the current case. Only applicable in a case scope |
${cmmn:addWatcherUser(<caseId>, <userId>)} | 2025.1.01+ Add the user with the given userId as a watcher user of the case with the given caseId |
${cmmn:removeWatcherUser(<userId>)} | 2025.1.01+ Remove the user with the given userId as a watcher user of the current case. Only applicable in a case scope |
${cmmn:removeWatcherUser(<caseId>, <userId>)} | 2025.1.01+ Remove the user with the given userId as a watcher user of the case with the given caseId |
${cmmn:addWatcherUsers(<userIds>)} | 2025.1.01+ Add the users with the given userIds as watcher users of the current case. Only applicable in a case scope |
${cmmn:addWatcherUsers(<caseId>, <userIds>)} | 2025.1.01+ Add the users with the given userIds as watcher users of the case with the given caseId |
${cmmn:removeWatcherUsers(<userIds>)} | 2025.1.01+ Remove the users with the given userIds as watcher users of the current case. Only applicable in a case scope |
${cmmn:removeWatcherUsers(<caseId>, <userIds>)} | 2025.1.01+ Remove the users with the given userIds as watcher users of the case with the given caseId |
${cmmn:addWatcherGroup(<groupKey>)} | 2025.1.01+ Add the group with the given groupKey as a watcher group of the current case. Only applicable in a case scope |
${cmmn:addWatcherGroup(<caseId>, <groupKey>)} | 2025.1.01+ Add the group with the given groupKey as a watcher group of the case with the given caseId |
${cmmn:removeWatcherGroup(<groupKey>)} | 2025.1.01+ Remove the group with the given groupKey as a watcher group of the current case. Only applicable in a case scope |
${cmmn:removeWatcherGroup(<caseId>, <groupKey>)} | 2025.1.01+ Remove the group with the given groupKey as a watcher group of the case with the given caseId |
${cmmn:addWatcherGroups(<groupKeys>)} | 2025.1.01+ Add the groups with the given groupKeys as watcher groups of the current case. Only applicable in a case scope |
${cmmn:addWatcherGroups(<caseId>, <groupKeys>)} | 2025.1.01+ Add the groups with the given groupKeys as watcher groups of the case with the given caseId |
${cmmn:removeWatcherGroups(<groupKeys>)} | 2025.1.01+ Remove the groups with the given groupKeys as watcher groups of the current case. Only applicable in a case scope |
${cmmn:removeWatcherGroups(<caseId>, <groupKeys>)} | 2025.1.01+ Remove the groups with the given groupKeys as watcher groups of the case with the given caseId |
CMMN Functions
The following functions are available in CMMN context:
Function | Description | Available on Cloud |
---|---|---|
${cmmn:copyLocalVariable(planItemInstance, localVariableName, index, variableName)} | Copies an planItemInstance-local variable to the case instance. | ❌ |
${cmmn:getTask(taskId)} | Returns the task (runtime or historical) with the provided id. | ❌ |
${cmmn:isPlanItemCompleted(planItemInstance)} | This function evaluates a plan item to be completed, which is most likely used on a plan item with a repetition rule to check, whether it has alreday been completed before. | ❌ |
${cmmn:isStageCompletable()} | Returns whether the current case stage is completable (depends on the configuration of the stage and its elements, see 'auto complete' and others). | ❌ |
${cmmn:replaceVariableInList(planItemInstance, 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. | ❌ |
${cmmn:getBusinessStatus(businessKey)} | 2025.1.01+ Get the business status of the current case. Only applicable in a case scope | ✅ |
${cmmn:getBusinessStatus(caseInstanceId, businessKey)} | 2025.1.01+ Get the business status of the case with the given caseId. Also, available in a BPMN context | ✅ |
${cmmn:setBusinessStatus(businessStatus)} | 2025.1.01+ Set the business status of the current case to the given businessStatus. Only applicable in a case scope. | ✅ |
${cmmn:setBusinessStatus(caseInstanceId, businessStatus)} | v3.16.0+ Set the business status of the case with the given caseId to the given businessStatus. Since 2025.1.01+ also available in a BPMN context | ✅ |
${cmmn:getBusinessKey(businessKey)} | 2025.1.01+ Get the business key of the current case. Only applicable in a case scope | ✅ |
${cmmn:getBusinessKey(caseInstanceId, businessKey)} | 2025.1.01+ Get the business key of the case with the given caseId. Also, available in a BPMN context | ✅ |
${cmmn:setBusinessKey(businessKey)} | 2025.1.01+ Set the business key of the current case to the given businessKey. Only applicable in a case scope. | ✅ |
${cmmn:setBusinessKey(caseInstanceId, businessKey)} | 2025.1.01+ Set the business key of the case with the given caseId to the given businessKey. Also, available in a BPMN context | ✅ |
${cmmn:triggerCaseEvaluation(<parameter>)} | Triggers the evaluation of the case instance sentries of the case instance. The parameter can be a planItemInstance, a caseInstance or the id of a case instance. | ❌ |