Send Task
Throws a named message and continues immediately (fire-and-continue). If a Receive Task, Message Catch Event, or Message Start Event is waiting with a matching name and correlation key, the message is delivered; otherwise it is dropped.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
| ID | string | yes | Unique element identifier |
| Name | string | yes | Display label |
| Message Name | string | yes | Must match the target element’s message name |
| Correlation Key Expression | FEEL | no | Expression evaluated to the correlation key value (e.g. orderId) |
How Message Delivery Works
- The Send Task evaluates the Correlation Key Expression against current process variables to get the correlation key value
- It scans for event subscriptions with a matching
message_nameandcorrelation_key - If found, the waiting token is activated; if not found, the message is silently dropped
- The sending token continues immediately regardless
XML Example
<bpmn:sendTask id="notify_warehouse" name="Notify Warehouse">
<bpmn:messageEventDefinition messageRef="msg_ship_order"/>
<bpmn:extensionElements>
<conduit:correlationKey>orderId</conduit:correlationKey>
</bpmn:extensionElements>
<bpmn:incoming>flow_to_notify</bpmn:incoming>
<bpmn:outgoing>flow_after_notify</bpmn:outgoing>
</bpmn:sendTask>
<bpmn:message id="msg_ship_order" name="ShipOrder"/>
Notes
- The send task does not wait for a reply — use a Receive Task immediately after if you need to wait
- For external-initiated messages (from your application rather than from another process element), use
POST /api/v1/messagesdirectly - Correlation key expressions use FEEL:
orderIdis a variable reference;"literal-value"is a string