set_bpmn_element_properties
Set BPMN and Camunda element properties, replace element types, and apply batch updates in one undo step with validation before changes.
Instructions
Set BPMN or Camunda extension properties on an element. Supports standard properties (name, isExecutable, documentation, default, conditionExpression) and Camunda extensions with camunda: prefix (e.g. camunda:assignee, camunda:class, camunda:type, camunda:topic). Also handles: scriptFormat/script on ScriptTask, camunda:connector, camunda:field, camunda:properties, camunda:retryTimeCycle, isExpanded on SubProcess, and cancelActivity on BoundaryEvent (false = non-interrupting). See bpmn://guides/element-properties for the full property catalog by element type. Supports optional elementType to replace the element type (e.g. bpmn:Task → bpmn:UserTask). Also accepts optional sub-objects for other concerns, settable together with properties in one call: inputOutput, formData, listeners, callActivityVariables, loop, eventDefinition. To update several elements in one call — e.g. setting camunda:assignee on every task in an executable process — pass updates: [{ elementId, properties, ... }] instead of the single-element elementId/properties/etc. fields. Every item is validated before any element is changed, and the whole batch applies as one undo step.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| loop | No | Loop/multi-instance characteristics on tasks, subprocesses, or call activities. Equivalent to the former set_bpmn_loop_characteristics tool. | |
| updates | No | Batch form: apply properties/elementType/sub-objects to several elements in one call, as a single undo step. Alternative to the single-element elementId (+ properties/elementType/...) fields above — do not combine elementId with updates. | |
| formData | No | Generated task form fields (camunda:FormData) for UserTasks/StartEvents. Equivalent to the former set_bpmn_form_data tool. | |
| diagramId | Yes | The diagram ID | |
| elementId | No | The ID of the element to update. Required unless `updates` is used instead. | |
| listeners | No | Execution listeners, task listeners, and/or error event definitions. Equivalent to the former set_bpmn_camunda_listeners tool. | |
| properties | No | Key-value pairs of properties to set. Use 'camunda:' prefix for Camunda extension attributes (e.g. { 'camunda:assignee': 'john', 'camunda:formKey': 'embedded:app:forms/task.html' }). | |
| elementType | No | Optional element type to replace the element with (e.g. "bpmn:UserTask", "bpmn:ServiceTask"). When provided, replaces the element type before setting properties. | |
| inputOutput | No | Camunda input/output parameter mapping (camunda:InputOutput). Equivalent to the former set_bpmn_input_output_mapping tool. | |
| eventDefinition | No | Event definition to add/replace on an event element (StartEvent, EndEvent, IntermediateCatchEvent/ThrowEvent, BoundaryEvent). | |
| callActivityVariables | No | CallActivity in/out variable mappings (camunda:in / camunda:out). Equivalent to the former set_bpmn_call_activity_variables tool. |