Camunda BPMN Extension Attributes

The following attributes are extension attributes for the camunda namespace http://camunda.org/schema/1.0/bpmn.

assignee

DescriptionThe attribute specifies a human performer of a User Task.
Typejava.lang.String or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesThe name of a performer as java.lang.String or an expression which evaluates to a java.lang.String e.g., ${initiator}
Default Value
BPMN 2.0 ElementsUser Task

asyncAfter

DescriptionSpecifies an asynchronous continuation after an activity, see Asynchronous Continuations for more information.
Typejava.lang.Boolean
Possible Valuestrue, false
Default Valuefalse
BPMN 2.0 ElementsStart Events, End Events, Intermediate Throw Events, Intermediate Catch Events, Task, Service Task, Send Task, User Task, Business Rule Task, Script Task, Receive Task, Manual Task, Embedded Subprocess, Call Activity, Transaction Subprocess, Parallel Gateway, Inclusive Gateway, Exclusive Gateway, Multi Instance Loop Characteristics, Boundary Event, Message Boundary Event, Error Boundary Event, Timer Boundary Event, Escalation Boundary Event, Conditional Boundary Event, Signal Boundary Event, Cancel Boundary Event

asyncBefore

DescriptionSpecifies an asynchronous continuation before an activity, see Asynchronous Continuations for more information.
Typejava.lang.Boolean
Possible Valuestrue, false
Default Valuefalse
BPMN 2.0 ElementsStart Events, End Events, Intermediate Throw Events, Intermediate Catch Events, Task, Service Task, Send Task, User Task, Business Rule Task, Script Task, Receive Task, Manual Task, Embedded Subprocess, Call Activity, Transaction Subprocess, Parallel Gateway, Event Based Gateway, Inclusive Gateway, Exclusive Gateway, Multi Instance Loop Characteristics, Boundary Event, Message Boundary Event, Error Boundary Event, Timer Boundary Event, Escalation Boundary Event, Conditional Boundary Event, Signal Boundary Event, Cancel Boundary Event

calledElementBinding

DescriptionThe attribute specifies which process definition version of the subprocess the call activity calls. If the value is version, the attribute camunda:calledElementVersion is required. If the value is versionTag, the attribute camunda:calledElementVersionTag is required. See Called Element Binding for more information.
Typejava.lang.String
Possible Valueslatest, deployment, version, versionTag
Default Valuelatest
BPMN 2.0 ElementsCall Activity

calledElementVersion

DescriptionThe attribute specifies which process definition version of the subprocess the call activity calls if the camunda:calledElementBinding is set to version, see Called Element Binding for more information.
Typejava.lang.Integer or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesA concrete version of all deployed version numbers of the subprocess to call as java.lang.Integer or an expression which evaluates to a java.lang.Integer e.g., ${versionToCall}
Default Value
BPMN 2.0 ElementsCall Activity

calledElementVersionTag

DescriptionThe attribute specifies which process definition version tag of the subprocess the call activity calls if the camunda:calledElementBinding is set to versionTag, see Called Element Binding for more information.
Typejava.lang.String or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesA concrete version tag of all deployed version numbers of the subprocess to call as java.lang.String or an expression which evaluates to a java.lang.String e.g., ${versionTagToCall}
Default Value
BPMN 2.0 ElementsCall Activity

calledElementTenantId

DescriptionThe attribute specifies the tenant id of the process definition which is to be resolved by a call activity, see Called Element Tenant Id for more information.
Typejava.lang.String or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesA concrete tenant id or an expression which evaluates to a java.lang.String e.g., ${execution.tenantId}
Default Value
BPMN 2.0 ElementsCall Activity

candidateGroups

DescriptionThe attribute specifies which group(s) will be candidate for performing the User Task.
Typejava.lang.String or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesComma separated list of group ids as java.lang.String or expressions that evaluate to a java.lang.String or a java.util.Collection of java.lang.String, e.g., management or management, ${accountancyGroupId()}
Default Value
BPMN 2.0 ElementsUser Task

candidateStarterGroups

DescriptionThe attribute specifies which group(s) will be able to start the process.
Typejava.lang.String or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesComma separated list of group ids as java.lang.String or expressions that evaluate to a java.lang.String or a java.util.Collection of java.lang.String, e.g., management or management, ${accountancyGroupId()}
Default Value
BPMN 2.0 ElementsProcess

candidateStarterUsers

DescriptionThe attribute specifies which user(s) will be able to start the process.
Typejava.lang.String or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesComma separated list of user ids as java.lang.String or expressions that evaluate to a java.lang.String or a java.util.Collection of java.lang.String, e.g., kermit, gonzo or ${ldapService.findAllSales()}
Default Value
BPMN 2.0 ElementsProcess

candidateUsers

DescriptionThe attribute specifies which user(s) will be candidate for performing the User Task.
Typejava.lang.String or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesComma separated list of user ids as java.lang.String or expressions that evaluate to a java.lang.String or a java.util.Collection of java.lang.String, e.g., kermit, gonzo or ${ldapService.findAllSales()}
Default Value
BPMN 2.0 ElementsUser Task

caseBinding

DescriptionThe attribute specifies which case definition version of the subcase the call activity calls. If the value is version, the attribute camunda:caseVersion is required, see Case Binding for more information.
Typejava.lang.String
Possible Valueslatest, deployment, version
Default Value
BPMN 2.0 ElementsCall Activity

caseRef

DescriptionThe attribute references a case definition by its key to call.
Typejava.lang.String
Possible Values
Default Value
BPMN 2.0 ElementsCall Activity

caseVersion

DescriptionThe attribute specifies which case definition version of the subcase the call activity calls if the camunda:caseBinding is set to version, see Case Binding for more information.
Typejava.lang.Integer
Possible ValuesAll deployed version numbers of the subprocess to call
Default Value
BPMN 2.0 ElementsCall Activity

caseTenantId

DescriptionThe attribute specifies the tenant id of the case definition which is to be resolved by a call activity, see Case Tenant Id for more information.
Typejava.lang.String or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesA concrete tenant id or an expression which evaluates to a java.lang.String e.g., ${execution.tenantId}
Default Value
BPMN 2.0 ElementsCall Activity

class

DescriptionThe attribute specifies which Java class will be executed at runtime. The stated class must implement a Java delegate interface.
Typejava.lang.String
Possible ValuesFully qualified Java class name of a class which implements a Java Delegate interface, e.g., org.eximeebpms.bpm.MyJavaDelegate
Default Value
BPMN 2.0 ElementsService Task, Business Rule Task, Send Task, Message Event Definition of Message Intermediate Throwing Event or Message End Event, camunda:taskListener, camunda:executionListner

collection

DescriptionThe attribute specifies a collection, where an instance will be created for each element, see Multiple Instance for more information.
Typejava.lang.String or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesThe name of a java.util.Collection process variable as java.lang.String or an Expression which evaluates to the name of a collection
Default Value
BPMN 2.0 ElementsMulti Instance Loop Characteristics of Task, Embedded Subprocess, Call Activity, Transaction Subprocess

decisionRef

DescriptionThe attribute references a decision definition to evalute by its key.
Typejava.lang.String or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesA String or an expression which evalutes to the key of a decision definition which should be evaluated by this task, e.g., myDecisionDefinitionKey or ${decisionKey}
Default Value
BPMN 2.0 ElementsBusiness Rule Task

decisionRefBinding

DescriptionThe attribute specifies which decision definition version the task evaluates. If the value is version, the attribute camunda:decisionRefVersion is required. If the value is versionTag, the attribute camunda:decisionRefVersionTag is required.
Typejava.lang.String
Possible Valueslatest, deployment, version, versionTag
Default Valuelatest
BPMN 2.0 ElementsBusiness Rule Task

decisionRefVersion

DescriptionThe attribute specifies which decision definition version the task evaluates if the camunda:decisionRefBinding is set to version.
Typejava.lang.Integer or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesA concrete version of all deployed version numbers of the decision to call as java.lang.Integer or an expression which evaluates to a java.lang.Integer e.g., ${versionToCall}
Default Value
BPMN 2.0 ElementsBusiness Rule Task

decisionRefVersionTag

DescriptionThe attribute specifies which decision definition version tag the task evaluates if the camunda:decisionRefBinding is set to versionTag.
Typejava.lang.String or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesA concrete version tag of all deployed version tags of the decision to call as java.lang.String or an expression which evaluates to a java.lang.String e.g., ${versionTagToCall}
Default Value
BPMN 2.0 ElementsBusiness Rule Task

decisionRefTenantId

DescriptionThe attribute specifies the tenant id of the decision definition which is to be resolved by a business rule task, see DecisionRef Tenant Id for more information.
Typejava.lang.String or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesA concrete tenant id or an expression which evaluates to a java.lang.String e.g., ${execution.tenantId}
Default Value
BPMN 2.0 ElementsBusiness Rule Task

delegateExpression

DescriptionThe attribute allows specification of an expression which must resolve to an object that implements the corresponding interface (see delegation code).
Typeorg.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesExpression which evaluates to a Java class implementing a delegation interface, e.g., ${myJavaDelegate} or #{myTaskListener}
Default Value
BPMN 2.0 ElementsService Task, Business Rule Task, Send Task, Message Event Definition of Message Intermediate Throwing Event or Message End Event, camunda:taskListener, camunda:executionListner

dueDate

DescriptionThe attribute specifies the initial due date of a User Task when it is created.
Typeorg.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesAn expression which evaluates to a java.util.Date, java.util.String (ISO 8601 formatted) or null, e.g., ${dateVariable}
Default Value
BPMN 2.0 ElementsUser Task

elementVariable

DescriptionThe attribute specifies the process variable which will be set on each created instance, containing an element of the specified collection see Multiple Instance for more information.
Typejava.lang.String
Possible ValuesThe name of a process variable as java.lang.String
Default Value
BPMN 2.0 ElementsMulti Instance Loop Characteristics of Task, Embedded Subprocess, Call Activity, Transaction Subprocess

errorMessage

DescriptionThe attribute specifies a message to give further information about the error. When an error start event or boudary event catches the error the message will be saved as process variable if `errorMessageVariable` is configured. See Error Events for more information.
Typejava.lang.String
Possible ValuesThe error message asjava.lang.String
Default Value
BPMN 2.0 ElementsError

errorCodeVariable

DescriptionThe attribute specifies a process variable that holds the error code and the errorCodevariable will be set if an error has been received by the error start or boundary event, see Error Events for more information.
Typejava.lang.String
Possible ValuesThe name of a process variable as java.lang.String
Default Value
BPMN 2.0 ElementsError Events

errorMessageVariable

DescriptionThe attribute specifies a process variable that holds the error message and the errorMessageVariable will be set if an error has been received by the error start or boundary event, see Error Events for more information.
Typejava.lang.String
Possible ValuesThe name of a process variable as java.lang.String
Default Value
BPMN 2.0 ElementsError Events

escalationCodeVariable

DescriptionThe attribute specifies a process variable which will be set if an escalation has been received by an escalation start or boundary event, see Escalation Events for more information.
Typejava.lang.String
Possible ValuesThe name of a process variable as java.lang.String
Default Value
BPMN 2.0 ElementsEscalation Events

exclusive

DescriptionThe attribute specifies that jobs should be executed exclusively. See Exclusive Jobs for more information.
Typejava.lang.Boolean
Possible Valuestrue, false
Default Valuetrue
BPMN 2.0 ElementsStart Events, End Events, Intermediate Throw Events, Intermediate Catch Events, Task, Service Task, Send Task, User Task, Business Rule Task, Script Task, Receive Task, Manual Task, Embedded Subprocess, Call Activity, Transaction Subprocess, Parallel Gateway, Event Based Gateway, Inclusive Gateway, Exclusive Gateway, Multi Instance Loop Characteristics, Boundary Event, Message Boundary Event, Error Boundary Event, Timer Boundary Event, Escalation Boundary Event, Conditional Boundary Event, Signal Boundary Event, Cancel Boundary Event

expression

DescriptionThe attribute defines an expression which will be evaluated at runtime.
Typeorg.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesExpression, e.g., ${gender == 'male' ? 'Mr.' : 'Mrs.'} or #{printer.printMessage()}
Default Value
BPMN 2.0 ElementsService Task, Business Rule Task, Send Task, Message Event Definition of Message Intermediate Throwing Event or Message End Event, camunda:taskListener, camunda:executionListner

followUpDate

DescriptionThe attribute specifies the initial follow-up date of a User Task when it is created.
Typeorg.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesAn expression which evaluates to a java.util.Date, java.util.String (ISO 8601 formatted) or null, e.g., ${dateVariable}
Default Value
BPMN 2.0 ElementsUser Task

formHandlerClass

DescriptionThe attribute specifies the class that will be called during the parsing of the form information of a Start Event or User Task.
Typejava.lang.String
Possible ValuesFully qualified Java class name of a class which implements the org.eximeebpms.bpm.engine.impl.form.handler.StartFormHandler or org.eximeebpms.bpm.engine.impl.form.handler.TaskFormHandler interface, e.g., org.eximeebpms.bpm.MyUserTaskFormHandler
Default Value
BPMN 2.0 ElementsInitial Start Event of a Process, User Task

formKey

DescriptionThe attribute specifies a form resource. See task forms for more information.
Typejava.lang.String
Possible ValuesA java.lang.String of a form resource which can be evaluated by the Tasklist
Default Value
BPMN 2.0 ElementsInitial Start Event of a Process, User Task

formRef

DescriptionThe attribute references a Camunda form definition by its key. See task forms for more information.
Typejava.lang.String or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesA java.lang.String or a org.eximeebpms.bpm.engine.delegate.Expression which Tasklist can evaluate to display the referenced Camunda Form, e.g., myCamundaFormDefinitionKey or ${formKey}.
Default Value
BPMN 2.0 ElementsInitial Start Event of a Process, User Task

formRefBinding

DescriptionThe attribute specifies which Camunda form definition version the activity references. If the value is version, the attribute camunda:formRefVersion is required.
Typejava.lang.String
Possible Valueslatest, deployment, version
Default Valuelatest
BPMN 2.0 ElementsInitial Start Event of a Process, User Task

formRefVersion

DescriptionThe attribute specifies which Camunda form definition version the activity references if the camunda:formRefBinding is set to version.
Typejava.lang.Integer or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesA concrete version of all deployed version numbers of the Camunda form definition as java.lang.Integer or an expression which evaluates to a java.lang.Integer e.g., ${versionToReference}
Default Value
BPMN 2.0 ElementsInitial Start Event of a Process, User Task

historyTimeToLive

DescriptionThe attribute specifies the history time to live (in days) for the process definition. It is used within History cleanup.
Typejava.lang.Integer or java.lang.String
Possible ValuesAny non-negative integer number or string containing a time in days defined by the ISO-8601 date format.
Default Valuenull - means that process definition history won't ever be removed during history cleanup run
BPMN 2.0 ElementsProcess

initiator

DescriptionThe attribute specifies a process variable in which the user id of the process initiator is set.
Typejava.lang.String
Possible ValuesA process variable name to save the process initiator
Default Value
BPMN 2.0 ElementsStart Event of a Process

isStartableInTasklist

DescriptionThe attribute specifies whether the process is startable in Tasklist or not.
Typejava.lang.Boolean
Possible Valuestrue, false
Default Valuetrue
BPMN 2.0 ElementsProcess

jobPriority

DescriptionSpecifies the priority a job receives that is created in the context of executing the given process element (e.g., a timer event, or in the case of asyncBefore and asyncAfter). See the user guide on Job Prioritization for details.
TypeA number in the range of a Java long value or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesAn expression must resolve to a valid Java long value.
Default Valuenone
BPMN 2.0 ElementsStart Events, End Events, Intermediate Throw Events, Intermediate Catch Events, Task, Service Task, Send Task, User Task, Business Rule Task, Script Task, Receive Task, Manual Task, Embedded Subprocess, Call Activity, Transaction Subprocess, Parallel Gateway, Inclusive Gateway, Exclusive Gateway, Multi Instance Loop Characteristics, Process

mapDecisionResult

DescriptionThe attribute references which built-in Decision Result Mapper is used to pass the result of an evaluated decision to a process variable. It should be used in combination with camunda:resultVariable.
Typejava.lang.String
Possible ValuessingleEntry, singleResult, collectEntries, resultList
Default ValueresultList
BPMN 2.0 ElementsBusiness Rule Task

priority

DescriptionThe attribute specifies the initial priority of a User Task when it is created.
Typeorg.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesAn expression which evaluates to a java.lang.Number or a java.lang.String which represents a number or null, e.g., ${dateVariable}
Default Value
BPMN 2.0 ElementsUser Task

taskPriority

DescriptionThe attribute specifies the initial priority of an External Task when it is created.
TypeA number in the range of a Java long value or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesAn expression must resolve to a valid Java long value.
Default Value0
BPMN 2.0 ElementsService Task, Message End Event, Message Intermediate Throwing Event, Business Rule Task, Send Task, Process

resource

DescriptionThe attribute specifies an external resource. The resource can be part of the deployment or exists in the classpath. To specify the type of resource, a URL scheme like prefix deployment:// resp. classpath:// can be supplied. If the scheme is omitted, it is assumed that the resource exists in the classpath.
Typejava.lang.String or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesThe path to a resource or an expression which returns the path. Optional the path can start with an URL like scheme classpath:// or deployment:// to specify where to find the resource. If omitted the resource is assumed to exists in the classpath.
Default Value
BPMN 2.0 ElementsScript Task

resultVariable

Description

The attribute specifies the process variable to save the return value of a camunda:expression.

Note that when you use camunda:resultVariable in a multi-instance construct, for example in a multi-instance subprocess, the result variable is overwritten every time the task completes, unless the variable is a local variable in the scope of the multi-instance construct. This can lead to seemingly random behavior.

This is a known issue. As a workaround, a local variable can be declared by adding an execution listener to the subprocess' start event that initializes the variable as null.

Typejava.lang.String
Possible ValuesThe name of a process variable to save the return value
Default Value
BPMN 2.0 ElementsService Task, Business Rule Task, Script Task, Send Task, Message Event Definition of Message Intermediate Throwing Event or Message End Event,

versionTag

Description

The attribute specifies a version tag for the process definition.

Typejava.lang.String
Possible ValuesAny value that has a meaning as version tag for the process definition. Note: Sorting by versionTag is string based. The version will not be interpreted. As an example, the sorting could return v0.1.0, v0.10.0, v0.2.0.
Default Value
BPMN 2.0 ElementsProcess

topic

DescriptionThe attribute specifies the topic of an external task instance. The task is going to be offered to workers polling for that topic. It is only relevant when camunda:type is set to external.
Typejava.lang.String or org.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesAny value that has a meaning as a topic identifier as java.lang.String or an expression which evaluates to a java.lang.String, e.g. ${topicName}
Default Value
BPMN 2.0 ElementsService Task, Message End Event, Message Intermediate Throwing Event, Business Rule Task, Send Task

type

DescriptionThe attribute specifies which built-in task implementation to use. Currently an email, a shell service, and an external task exists.
Typejava.lang.String
Possible Valuesexternal, mail, shell
Default Value
BPMN 2.0 ElementsService Task, Message End Event, Message Intermediate Throwing Event, Business Rule Task, Send Task

variableMappingClass

DescriptionThe attribute specifies which Java class will be executed at runtime to map the input and output variables for a call activity. The stated class must implement the Delegate Variable Mapping interface.
Typejava.lang.String
Possible ValuesFully qualified Java class name of a class which implements the Delegate Variable Mapping interface, e.g., org.eximeebpms.bpm.MyVariableMappingDelegate
Default Value
BPMN 2.0 ElementsCall Activity

variableMappingDelegateExpression

DescriptionThe attribute allows specification of an expression which must resolve to an object that implements the corresponding interface Delegate Variable Mapping.
Typeorg.eximeebpms.bpm.engine.delegate.Expression
Possible ValuesExpression which evaluates to a Java class that implements the Delegate Variable Mapping interface, e.g., ${myVariableMapping}.
Default Value
BPMN 2.0 ElementsCall Activity

variableName

DescriptionThe attribute allows to specify a variable name on which a condition of a conditional event should be evaluated exclusively.
Typejava.lang.String
Possible ValuesThe name of a process variable on which a condition should be evaluated after a change happens.
Default Value
BPMN 2.0 ElementsConditional Event

variableEvents

DescriptionThe attribute allows to specify a comma separated list of variable change events. These events specify the variable change events on which a condition of a conditional event should be evaluated exclusively.
Typejava.lang.String
Possible ValuesA comma separated list of variable change events. Variable change events are: create, update and delete.
Default Value
BPMN 2.0 ElementsConditional Event