Skip to main content
Version: Next

Messages

A message is a named business signal exchanged asynchronously between a process and another participant. Examples include OrderReceived, PaymentConfirmed, and CancellationRequested.

Messages can start a new instance, resume a waiting instance, be emitted by a process, or interrupt active work through a boundary event.

PatternPurpose
Message StartCreate an instance when a business event arrives
Intermediate CatchWait until a matching message arrives
Intermediate ThrowEmit a message from a running instance
Message BoundaryInterrupt or redirect active work

Correlation connects an incoming message to the correct instance. Use a stable business value shared by both systems, such as an order ID or claim ID.

Idempotency protects against duplicate delivery. When retrying the same external event, the sender should reuse its message ID or idempotency key so the process is not started or resumed twice.

Use messages when the sender and receiver operate independently. Use an API Task when the process must make a direct HTTP request and wait for its result. See Message Events.