Task

Send Task

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

PropertyTypeRequiredDescription
IDstringyesUnique element identifier
NamestringyesDisplay label
Message NamestringyesMust match the target element’s message name
Correlation Key ExpressionFEELnoExpression evaluated to the correlation key value (e.g. orderId)

How Message Delivery Works

  1. The Send Task evaluates the Correlation Key Expression against current process variables to get the correlation key value
  2. It scans for event subscriptions with a matching message_name and correlation_key
  3. If found, the waiting token is activated; if not found, the message is silently dropped
  4. 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/messages directly
  • Correlation key expressions use FEEL: orderId is a variable reference; "literal-value" is a string