> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aseeflow.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Extension Elements

The following elements are extension elements for the `camunda` namespace `http://camunda.org/schema/1.0/cmmn`.

## caseExecutionListener

<table class="table table-striped">
  <tr> <th>Description</th> <td colspan="2"> Add an execution listener to an event in the lifecycle of a case item. </td> </tr>
  <tr> <th>Attributes</th> <td><code>event</code></td> <td> The type of the lifecycle event for which the listener is called </td> </tr>
  <tr> <td /> <td><code>class</code></td> <td> see [camunda:class](/reference/cmmn11/custom-extensions/camunda-attributes#class) </td> </tr>
  <tr> <td /> <td><code>expression</code></td> <td> see [camunda:expression](/reference/cmmn11/custom-extensions/camunda-attributes#expression) </td> </tr>
  <tr> <td /> <td><code>delegateExpression</code></td> <td> see [camunda:delegateExpression](/reference/cmmn11/custom-extensions/camunda-attributes#delegateexpression) </td> </tr>
  <tr> <th>Constraints</th> <td colspan="2"> The <code>event</code> attribute is required and must be one of the lifecycle events that are valid for the plan item it is defined on. For regular tasks, these are: <code>create</code>, <code>enable</code>, <code>disable</code>, <code>reenable</code>, <code>start</code>, <code>manualStart</code>, <code>complete</code>, <code>reactivate</code>, <code>terminate</code>, <code>exit</code>, <code>parentTerminate</code>, <code>suspend</code>, <code>resume</code>, <code>parentSuspend</code>, <code>parentSuspend</code>, <code>close</code>, <code>occur</code> </td> </tr>
  <tr> <td /> <td colspan="2"> One of the attributes <code>class</code>, <code>expression</code> or <code>delegateExpression</code> is mandatory </td> </tr>
  <tr> <th>Parent elements</th> <td colspan="2"> Case, [Human Task](/reference/cmmn11/tasks/human-task), [Process Task](/reference/cmmn11/tasks/process-task), [Case Task](/reference/cmmn11/tasks/case-task), [Stage](/reference/cmmn11/grouping-tasks/stage), [Milestone](/reference/cmmn11/milestone), </td> </tr>
  <tr> <th>Child elements</th> <td colspan="2"> [camunda:field](/reference/cmmn11/custom-extensions/camunda-elements#field), [camunda:script](/reference/cmmn11/custom-extensions/camunda-elements#script) </td> </tr>
</table>

## expression

<table class="table table-striped">
  <tr> <th>Description</th> <td colspan="2"> Defines an expression to inject in delegated classes (see [Field Injection](/user-guide/process-engine/delegation-code#field-injection)). </td> </tr>
  <tr> <th>Attributes</th> <td colspan="2"> – </td> </tr>
  <tr> <th>Text Content</th> <td colspan="2"> The expression to inject </td> </tr>
  <tr> <th>Constraints</th> <td colspan="2"> – </td> </tr>
  <tr> <th>Parent elements</th> <td colspan="2"> [camunda:field](/reference/cmmn11/custom-extensions/camunda-elements#field) </td> </tr>
  <tr> <th>Child elements</th> <td colspan="2"> – </td> </tr>
</table>

## field

<table class="table table-striped">
  <tr> <th>Description</th> <td colspan="2"> Defines the value to inject in delegated classes (see [Field Injection](/user-guide/process-engine/delegation-code#field-injection)). </td> </tr>
  <tr> <th>Attributes</th> <td><code>name</code></td> <td> The name of the field </td> </tr>
  <tr> <td /> <td><code>expression</code></td> <td>The value of the field as expression</td> </tr>
  <tr> <td /> <td><code>stringValue</code></td> <td>The value of the field as String</td> </tr>
  <tr> <th>Constraints</th> <td colspan="2"> Only one attribute of <code>stringValue</code> and <code>expression</code> or one of the child elements <code>string</code> and <code>expression</code> can be used </td> </tr>
  <tr> <th>Parent elements</th> <td colspan="2"> [camunda:variableListener](/reference/cmmn11/custom-extensions/camunda-elements#variablelistener), camunda:caseExecutionListener </td> </tr>
  <tr> <th>Child elements</th> <td colspan="2"> [camunda:expression](/reference/cmmn11/custom-extensions/camunda-elements#expression), [camunda:string](/reference/cmmn11/custom-extensions/camunda-elements#string) </td> </tr>
</table>

## in

<table class="table table-striped">
  <tr> <th>Description</th> <td colspan="2"> This element specifies variables which should be passed to the sub instance (process instance or case instance), see [passing variables to called process](/reference/cmmn11/tasks/process-task#exchange-variables) or [passing variables to called case](/reference/cmmn11/tasks/case-task#exchange-variables) for more information. </td> </tr>
  <tr> <th>Attributes</th> <td><code>source</code></td> <td> A name of a variable to be passed in </td> </tr>
  <tr> <td /> <td><code>sourceExpression</code></td> <td> An expression to be evaluated and passed in </td> </tr>
  <tr> <td /> <td><code>variables</code></td> <td> Can be set to <code>all</code> to pass all variables in </td> </tr>
  <tr> <td /> <td><code>target</code></td> <td> Name of the variable inside the sub instance </td> </tr>
  <tr> <td /> <td><code>local</code></td> <td> Can be set to <code>true</code> to only pass local variables of the case execution that executes this case/process task instance. </td> </tr>
  <tr> <td /> <td><code>businessKey</code></td> <td> Set the business key of the sub instance </td> </tr>
  <tr> <th>Constraints</th> <td colspan="2"> Only one of the attributes <code>source</code>, <code>sourceExpression</code>, <code>variables</code> or <code>businessKey</code> can be used </td> </tr>
  <tr> <td /> <td colspan="2"> The attribute <code>target</code> is required if the <code>source</code> or <code>sourceExpression</code> attribute is used </td> </tr>
  <tr> <th>Parent elements</th> <td colspan="2"> [Process Task](/reference/cmmn11/tasks/process-task), [Case Task](/reference/cmmn11/tasks/case-task) </td> </tr>
  <tr> <th>Child elements</th> <td colspan="2"> – </td> </tr>
</table>

## out

<table class="table table-striped">
  <tr> <th>Description</th> <td colspan="2"> This element specifies variables which should be passed back from the sub instance (process instance or case instance), see [passing variables to called process](/reference/cmmn11/tasks/process-task#exchange-variables) or [passing variables to called case](/reference/cmmn11/tasks/case-task#exchange-variables) for more information. </td> </tr>
  <tr> <th>Attributes</th> <td><code>source</code></td> <td> A name of a variable to be passed back </td> </tr>
  <tr> <td /> <td><code>sourceExpression</code></td> <td> An expression to be evaluated and passed back </td> </tr>
  <tr> <td /> <td><code>variables</code></td> <td> Can be set to <code>all</code> to pass all sub instance variables back </td> </tr>
  <tr> <td /> <td><code>target</code></td> <td> Name of the variable inside the calling case instance </td> </tr>
  <tr> <th>Constraints</th> <td colspan="2"> Only one of the attributes <code>source</code>, <code>sourceExpression</code> or <code>variables</code> can be used </td> </tr>
  <tr> <td /> <td colspan="2"> The attribute <code>target</code> is required if the <code>source</code> or <code>sourceExpression</code> attribute is used </td> </tr>
  <tr> <th>Parent elements</th> <td colspan="2"> [Process Task](/reference/cmmn11/tasks/process-task), [Case Task](/reference/cmmn11/tasks/case-task) </td> </tr>
  <tr> <th>Child elements</th> <td colspan="2"> – </td> </tr>
</table>

## script

<table class="table table-striped">
  <tr> <th>Description</th> <td colspan="2"> A script element. The script is executed and the return value is used as mapping value. </td> </tr>
  <tr> <th>Attributes</th> <td><code>scriptFormat</code></td> <td> The format identifier, normally the language of the script source code </td> </tr>
  <tr> <td /> <td><code>resource</code></td> <td> equivalent to [ camunda:resource](/reference/cmmn11/custom-extensions/camunda-attributes#resource) </td> </tr>
  <tr> <th>Constraints</th> <td colspan="2"> The <code>scriptFormat</code> attribute is required </td> </tr>
  <tr> <td /> <td colspan="2"> If the <code>resource</code> attribute is used, no source code text content is allowed </td> </tr>

  <tr />

  <tr> <th>Parent elements</th> <td colspan="2"> [ camunda:variableListener](/reference/cmmn11/custom-extensions/camunda-elements#variablelistener), camunda:caseExecutionListener </td> </tr>
  <tr> <th>Child elements</th> <td colspan="2"> – </td> </tr>
</table>

## string

<table class="table table-striped">
  <tr> <th>Description</th> <td colspan="2"> Defines a String value to inject in delegated classes (see [Field Injection](/user-guide/process-engine/delegation-code#field-injection)). </td> </tr>
  <tr> <th>Attributes</th> <td colspan="2"> – </td> </tr>
  <tr> <th>Text Content</th> <td colspan="2"> The String value to inject </td> </tr>
  <tr> <th>Constraints</th> <td colspan="2"> – </td> </tr>
  <tr> <th>Parent elements</th> <td colspan="2"> [camunda:field](/reference/cmmn11/custom-extensions/camunda-elements#field) </td> </tr>
  <tr> <th>Child elements</th> <td colspan="2"> – </td> </tr>
</table>

## taskListener

<table class="table table-striped">
  <tr> <th>Description</th> <td colspan="2"> Add a task listener to a task event. </td> </tr>
  <tr> <th>Attributes</th> <td><code>event</code></td> <td> The type of the event for which the listener is called </td> </tr>
  <tr> <td /> <td><code>class</code></td> <td> see [camunda:class](/reference/cmmn11/custom-extensions/camunda-attributes#class) </td> </tr>
  <tr> <td /> <td><code>expression</code></td> <td> see [camunda:expression](/reference/cmmn11/custom-extensions/camunda-attributes#expression) </td> </tr>
  <tr> <td /> <td><code>delegateExpression</code></td> <td> see [camunda:delegateExpression](/reference/cmmn11/custom-extensions/camunda-attributes#delegateexpression) </td> </tr>
  <tr> <th>Constraints</th> <td colspan="2"> The <code>event</code> attribute is required and must be one of the task events: <code>create</code>, <code>assignment</code>, <code>complete</code> or <code>delete</code> </td> </tr>
  <tr> <td /> <td colspan="2"> One of the attributes <code>class</code>, <code>expression</code> or <code>delegateExpression</code> is mandatory </td> </tr>
  <tr> <th>Parent elements</th> <td colspan="2"> [Human Task](/reference/cmmn11/tasks/human-task) </td> </tr>
  <tr> <th>Child elements</th> <td colspan="2"> [camunda:field](/reference/cmmn11/custom-extensions/camunda-elements#field), [camunda:script](/reference/cmmn11/custom-extensions/camunda-elements#script) </td> </tr>
</table>

## variableListener

<table class="table table-striped">
  <tr> <th>Description</th> <td colspan="2"> Adds custom code to listen to variable events such as the creation, update or deletion of a variable. A listener defined on a model scope (like the case plan model, a human task, etc.) is notified for all variable events that occur in this scope or any of its subordinate scopes. </td> </tr>
  <tr> <th>Attributes</th> <td><code>event</code></td> <td> The type of the event for which the listener is called </td> </tr>
  <tr> <td /> <td><code>class</code></td> <td> see [camunda:class](/reference/cmmn11/custom-extensions/camunda-attributes#class) </td> </tr>
  <tr> <td /> <td><code>expression</code></td> <td> see [camunda:expression](/reference/cmmn11/custom-extensions/camunda-attributes#expression) </td> </tr>
  <tr> <td /> <td><code>delegateExpression</code></td> <td> see [camunda:delegateExpression](/reference/cmmn11/custom-extensions/camunda-attributes#delegateexpression) </td> </tr>
  <tr> <th>Constraints</th> <td colspan="2"> Valid values for the <code>event</code> attribute are <code>create</code>, <code>update</code> and <code>delete</code>. This attribute is optional and if left out, the listener is notified for all kinds of events. </td> </tr>
  <tr> <td /> <td colspan="2"> Either one of the attributes <code>class</code>, <code>expression</code> or <code>delegateExpression</code>, or a <code>camunda:script</code> child element is mandatory. </td> </tr>
  <tr> <th>Parent elements</th> <td colspan="2"> Case Plan Model, [Stage](/reference/cmmn11/grouping-tasks/stage), [Human Task](/reference/cmmn11/tasks/human-task), [Process Task](/reference/cmmn11/tasks/process-task), [Case Task](/reference/cmmn11/tasks/case-task) </td> </tr>
  <tr> <th>Child elements</th> <td colspan="2"> [camunda:field](/reference/cmmn11/custom-extensions/camunda-elements#field), [camunda:script](/reference/cmmn11/custom-extensions/camunda-elements#script) </td> </tr>
</table>

## variableOnPart

<table class="table table-striped">
  <tr> <th>Description</th> <td colspan="2"> Add variableOnPart to sentry. see <a href="/reference/cmmn11/sentry#variableonpart">variableOnPart. </a></td> </tr>
  <tr> <th>Attributes</th> <td><code>variableName</code></td> <td> see <a href="/reference/cmmn11/custom-extensions/camunda-attributes#variablename">camunda:variableName </a></td> </tr>
  <tr> <th>Constraints</th> <td colspan="2"> <code>variableEvent</code> element and <code>variableName</code> attribute are mandatory fields when the variableOnPart is defined in a sentry. </td> </tr>
  <tr> <th>Parent element</th> <td colspan="2"> [Sentries](/reference/cmmn11/sentry) </td> </tr>
  <tr> <th>Child element</th> <td colspan="2"> [camunda:variableEvent](/reference/cmmn11/custom-extensions/camunda-elements#variableevent) </td> </tr>
</table>

## variableEvent

<table class="table table-striped">
  <tr> <th>Description</th> <td colspan="2"> Add variableEvent to a VariableOnPart. A sentry is evaluated when the variableEvent transition occurs. </td> </tr>
  <tr> <th>Value</th> <td> Valid values are <code>create</code>,<code>update</code> or <code>delete</code> </td> </tr>
  <tr> <th>Parent element</th> <td colspan="2"> [VariableOnPart](/reference/cmmn11/custom-extensions/camunda-elements#variableonpart) </td> </tr>
</table>
