Camunda BPMN Extension Attributes

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

assignee

Description The attribute specifies a human performer of a User Task.
Type java.lang.String or org.camunda.bpm.engine.delegate.Expression
Possible Values The 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 Elements User Task

asyncAfter

Description Specifies an asynchronous continuation after an activity, see Asynchronous Continuations for more information.
Type java.lang.Boolean
Possible Values true, false
Default Value false
BPMN 2.0 Elements Start 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

Description Specifies an asynchronous continuation before an activity, see Asynchronous Continuations for more information.
Type java.lang.Boolean
Possible Values true, false
Default Value false
BPMN 2.0 Elements Start 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

Description The 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.
Type java.lang.String
Possible Values latest, deployment, version, versionTag
Default Value latest
BPMN 2.0 Elements Call Activity

calledElementVersion

Description The 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.
Type java.lang.Integer or org.camunda.bpm.engine.delegate.Expression
Possible Values A 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 Elements Call Activity

calledElementVersionTag

Description The 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.
Type java.lang.String or org.camunda.bpm.engine.delegate.Expression
Possible Values A 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 Elements Call Activity

calledElementTenantId

Description The 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.
Type java.lang.String or org.camunda.bpm.engine.delegate.Expression
Possible Values A concrete tenant id or an expression which evaluates to a java.lang.String e.g., ${execution.tenantId}
Default Value
BPMN 2.0 Elements Call Activity

candidateGroups

Description The attribute specifies which group(s) will be candidate for performing the User Task.
Type java.lang.String or org.camunda.bpm.engine.delegate.Expression
Possible Values Comma 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 Elements User Task

candidateStarterGroups

Description The attribute specifies which group(s) will be able to start the process.
Type java.lang.String or org.camunda.bpm.engine.delegate.Expression
Possible Values Comma 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 Elements Process

candidateStarterUsers

Description The attribute specifies which user(s) will be able to start the process.
Type java.lang.String or org.camunda.bpm.engine.delegate.Expression
Possible Values Comma 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 Elements Process

candidateUsers

Description The attribute specifies which user(s) will be candidate for performing the User Task.
Type java.lang.String or org.camunda.bpm.engine.delegate.Expression
Possible Values Comma 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 Elements User Task

caseBinding

Description The 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.
Type java.lang.String
Possible Values latest, deployment, version
Default Value
BPMN 2.0 Elements Call Activity

caseRef

Description The attribute references a case definition by its key to call.
Type java.lang.String
Possible Values
Default Value
BPMN 2.0 Elements Call Activity

caseVersion

Description The 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.
Type java.lang.Integer
Possible Values All deployed version numbers of the subprocess to call
Default Value
BPMN 2.0 Elements Call Activity

caseTenantId

Description The 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.
Type java.lang.String or org.camunda.bpm.engine.delegate.Expression
Possible Values A concrete tenant id or an expression which evaluates to a java.lang.String e.g., ${execution.tenantId}
Default Value
BPMN 2.0 Elements Call Activity

class

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

collection

Description The attribute specifies a collection, where an instance will be created for each element, see Multiple Instance for more information.
Type java.lang.String or org.camunda.bpm.engine.delegate.Expression
Possible Values The 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 Elements Multi Instance Loop Characteristics of Task, Embedded Subprocess, Call Activity, Transaction Subprocess

decisionRef

Description The attribute references a decision definition to evalute by its key.
Type java.lang.String or org.camunda.bpm.engine.delegate.Expression
Possible Values A 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 Elements Business Rule Task

decisionRefBinding

Description The 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.
Type java.lang.String
Possible Values latest, deployment, version, versionTag
Default Value latest
BPMN 2.0 Elements Business Rule Task

decisionRefVersion

Description The attribute specifies which decision definition version the task evaluates if the camunda:decisionRefBinding is set to version.
Type java.lang.Integer or org.camunda.bpm.engine.delegate.Expression
Possible Values A 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 Elements Business Rule Task

decisionRefVersionTag

Description The attribute specifies which decision definition version tag the task evaluates if the camunda:decisionRefBinding is set to versionTag.
Type java.lang.String or org.camunda.bpm.engine.delegate.Expression
Possible Values A 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 Elements Business Rule Task

decisionRefTenantId

Description The 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.
Type java.lang.String or org.camunda.bpm.engine.delegate.Expression
Possible Values A concrete tenant id or an expression which evaluates to a java.lang.String e.g., ${execution.tenantId}
Default Value
BPMN 2.0 Elements Business Rule Task

delegateExpression

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

dueDate

Description The attribute specifies the initial due date of a User Task when it is created.
Type org.camunda.bpm.engine.delegate.Expression
Possible Values An expression which evaluates to a java.util.Date, java.util.String (ISO 8601 formatted) or null, e.g., ${dateVariable}
Default Value
BPMN 2.0 Elements User Task

elementVariable

Description The 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.
Type java.lang.String
Possible Values The name of a process variable as java.lang.String
Default Value
BPMN 2.0 Elements Multi Instance Loop Characteristics of Task, Embedded Subprocess, Call Activity, Transaction Subprocess

errorMessage

Description The 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.
Type java.lang.String
Possible Values The error message asjava.lang.String
Default Value
BPMN 2.0 Elements Error

errorCodeVariable

Description The 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.
Type java.lang.String
Possible Values The name of a process variable as java.lang.String
Default Value
BPMN 2.0 Elements Error Events

errorMessageVariable

Description The 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.
Type java.lang.String
Possible Values The name of a process variable as java.lang.String
Default Value
BPMN 2.0 Elements Error Events

escalationCodeVariable

Description The 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.
Type java.lang.String
Possible Values The name of a process variable as java.lang.String
Default Value
BPMN 2.0 Elements Escalation Events

exclusive

Description The attribute specifies that jobs should be executed exclusively. See Exclusive Jobs for more information.
Type java.lang.Boolean
Possible Values true, false
Default Value true
BPMN 2.0 Elements Start Events, End Events, Intermediate Throw Events, Intermediate Catch Events,
  Task,
  <a href="/manual/1.0/reference/bpmn20/tasks/service-task/">Service Task</a>,
  <a href="/manual/1.0/reference/bpmn20/tasks/send-task/">Send Task</a>,
  <a href="/manual/1.0/reference/bpmn20/tasks/user-task/">User Task</a>,
  <a href="/manual/1.0/reference/bpmn20/tasks/business-rule-task/">Business Rule Task</a>,
  <a href="/manual/1.0/reference/bpmn20/tasks/script-task/">Script Task</a>,
  <a href="/manual/1.0/reference/bpmn20/tasks/receive-task/">Receive Task</a>,
  <a href="/manual/1.0/reference/bpmn20/tasks/manual-task/">Manual Task</a>,

  <a href="/manual/1.0/reference/bpmn20/subprocesses/embedded-subprocess/">Embedded Subprocess</a>,
  <a href="/manual/1.0/reference/bpmn20/subprocesses/call-activity/">Call Activity</a>,
  <a href="/manual/1.0/reference/bpmn20/subprocesses/transaction-subprocess/">Transaction Subprocess</a>,

  <a href="/manual/1.0/reference/bpmn20/gateways/parallel-gateway/">Parallel Gateway</a>,
  <a href="/manual/1.0/reference/bpmn20/gateways/event-based-gateway/">Event Based Gateway</a>,
  <a href="/manual/1.0/reference/bpmn20/gateways/inclusive-gateway/">Inclusive Gateway</a>,
  <a href="/manual/1.0/reference/bpmn20/gateways/exclusive-gateway/">Exclusive Gateway</a>,

  <a href="/manual/1.0/reference/bpmn20/tasks/task-markers/#multiple-instance">Multi Instance Loop Characteristics</a>,

  Boundary Event,
  <a href="/manual/1.0/reference/bpmn20/events/message-events/#message-boundary-event">Message Boundary Event</a>,
  <a href="/manual/1.0/reference/bpmn20/events/error-events/#error-boundary-event">Error Boundary Event</a>,
  <a href="/manual/1.0/reference/bpmn20/events/timer-events/#timer-boundary-event">Timer Boundary Event</a>,
  <a href="/manual/1.0/reference/bpmn20/events/escalation-events/#escalation-boundary-event">Escalation Boundary Event</a>,
  <a href="/manual/1.0/reference/bpmn20/events/conditional-events/#conditional-boundary-event">Conditional Boundary Event</a>,
  <a href="/manual/1.0/reference/bpmn20/events/signal-events/#signal-boundary-event">Signal Boundary Event</a>,
  <a href="/manual/1.0/reference/bpmn20/events/cancel-and-compensation-events/#cancel-boundary-event">Cancel Boundary Event</a>
</td>

expression

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

followUpDate

Description The attribute specifies the initial follow-up date of a User Task when it is created.
Type org.camunda.bpm.engine.delegate.Expression
Possible Values An expression which evaluates to a java.util.Date, java.util.String (ISO 8601 formatted) or null, e.g., ${dateVariable}
Default Value
BPMN 2.0 Elements User Task

formHandlerClass

Description The attribute specifies the class that will be called during the parsing of the form information of a Start Event or User Task.
Type java.lang.String
Possible Values Fully qualified Java class name of a class which implements the org.camunda.bpm.engine.impl.form.handler.StartFormHandler or org.camunda.bpm.engine.impl.form.handler.TaskFormHandler interface, e.g., org.camunda.bpm.MyUserTaskFormHandler
Default Value
BPMN 2.0 Elements Initial Start Event of a Process, User Task

formKey

Description The attribute specifies a form resource. See task forms for more information.
Type java.lang.String
Possible Values A java.lang.String of a form resource which can be evaluated by the Tasklist
Default Value
BPMN 2.0 Elements Initial Start Event of a Process, User Task

formRef

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

formRefBinding

Description The attribute specifies which Camunda form definition version the activity references. If the value is version, the attribute camunda:formRefVersion is required.
Type java.lang.String
Possible Values latest, deployment, version
Default Value latest
BPMN 2.0 Elements Initial Start Event of a Process, User Task

formRefVersion

Description The attribute specifies which Camunda form definition version the activity references if the camunda:formRefBinding is set to version.
Type java.lang.Integer or org.camunda.bpm.engine.delegate.Expression
Possible Values A 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 Elements Initial Start Event of a Process, User Task

historyTimeToLive

Description The attribute specifies the history time to live (in days) for the process definition. It is used within History cleanup.
Type java.lang.Integer or java.lang.String
Possible Values Any non-negative integer number or string containing a time in days defined by the ISO-8601 date format.
Default Value null - means that process definition history won't ever be removed during history cleanup run
BPMN 2.0 Elements Process

initiator

Description The attribute specifies a process variable in which the user id of the process initiator is set.
Type java.lang.String
Possible Values A process variable name to save the process initiator
Default Value
BPMN 2.0 Elements Start Event of a Process

isStartableInTasklist

Description The attribute specifies whether the process is startable in Tasklist or not.
Type java.lang.Boolean
Possible Values true, false
Default Value true
BPMN 2.0 Elements Process

jobPriority

Description Specifies 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.
Type A number in the range of a Java long value or org.camunda.bpm.engine.delegate.Expression
Possible Values An expression must resolve to a valid Java long value.
Default Value none
BPMN 2.0 Elements Start Events, End Events, Intermediate Throw Events, Intermediate Catch Events,
  Task,
  <a href="/manual/1.0/reference/bpmn20/tasks/service-task/">Service Task</a>,
  <a href="/manual/1.0/reference/bpmn20/tasks/send-task/">Send Task</a>,
  <a href="/manual/1.0/reference/bpmn20/tasks/user-task/">User Task</a>,
  <a href="/manual/1.0/reference/bpmn20/tasks/business-rule-task/">Business Rule Task</a>,
  <a href="/manual/1.0/reference/bpmn20/tasks/script-task/">Script Task</a>,
  <a href="/manual/1.0/reference/bpmn20/tasks/receive-task/">Receive Task</a>,
  <a href="/manual/1.0/reference/bpmn20/tasks/manual-task/">Manual Task</a>,

  <a href="/manual/1.0/reference/bpmn20/subprocesses/embedded-subprocess/">Embedded Subprocess</a>,
  <a href="/manual/1.0/reference/bpmn20/subprocesses/call-activity/">Call Activity</a>,
  <a href="/manual/1.0/reference/bpmn20/subprocesses/transaction-subprocess/">Transaction Subprocess</a>,

  <a href="/manual/1.0/reference/bpmn20/gateways/parallel-gateway/">Parallel Gateway</a>,
  <a href="/manual/1.0/reference/bpmn20/gateways/inclusive-gateway/">Inclusive Gateway</a>,
  <a href="/manual/1.0/reference/bpmn20/gateways/exclusive-gateway/">Exclusive Gateway</a>,

  <a href="/manual/1.0/reference/bpmn20/tasks/task-markers/#multiple-instance">Multi Instance Loop Characteristics</a>,

  Process
</td>

mapDecisionResult

Description The 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.
Type java.lang.String
Possible Values singleEntry, singleResult, collectEntries, resultList
Default Value resultList
BPMN 2.0 Elements Business Rule Task

priority

Description The attribute specifies the initial priority of a User Task when it is created.
Type org.camunda.bpm.engine.delegate.Expression
Possible Values An 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 Elements User Task

taskPriority

Description The attribute specifies the initial priority of an External Task when it is created.
Type A number in the range of a Java long value or org.camunda.bpm.engine.delegate.Expression
Possible Values An expression must resolve to a valid Java long value.
Default Value 0
BPMN 2.0 Elements Service Task, Message End Event, Message Intermediate Throwing Event, Business Rule Task, Send Task, Process

resource

Description The 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.
Type java.lang.String or org.camunda.bpm.engine.delegate.Expression
Possible Values The 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 Elements Script 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.

Type java.lang.String
Possible Values The name of a process variable to save the return value
Default Value
BPMN 2.0 Elements Service 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.

Type java.lang.String
Possible Values Any 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 Elements Process

topic

Description The 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.
Type java.lang.String or org.camunda.bpm.engine.delegate.Expression
Possible Values Any 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 Elements Service Task, Message End Event, Message Intermediate Throwing Event, Business Rule Task, Send Task

type

Description The attribute specifies which built-in task implementation to use. Currently an email, a shell service, and an external task exists.
Type java.lang.String
Possible Values external, mail, shell
Default Value
BPMN 2.0 Elements Service Task, Message End Event, Message Intermediate Throwing Event, Business Rule Task, Send Task

variableMappingClass

Description The 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.
Type java.lang.String
Possible Values Fully qualified Java class name of a class which implements the Delegate Variable Mapping interface, e.g., org.camunda.bpm.MyVariableMappingDelegate
Default Value
BPMN 2.0 Elements Call Activity

variableMappingDelegateExpression

Description The attribute allows specification of an expression which must resolve to an object that implements the corresponding interface Delegate Variable Mapping.
Type org.camunda.bpm.engine.delegate.Expression
Possible Values Expression which evaluates to a Java class that implements the Delegate Variable Mapping interface, e.g., ${myVariableMapping}.
Default Value
BPMN 2.0 Elements Call Activity

variableName

Description The attribute allows to specify a variable name on which a condition of a conditional event should be evaluated exclusively.
Type java.lang.String
Possible Values The name of a process variable on which a condition should be evaluated after a change happens.
Default Value
BPMN 2.0 Elements Conditional Event

variableEvents

Description The 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.
Type java.lang.String
Possible Values A comma separated list of variable change events. Variable change events are: create, update and delete.
Default Value
BPMN 2.0 Elements Conditional Event

On this Page: