Skip to main content
Why it is important? The Message Throw Intermediate Event enables communication between different parts of a process or between separate processes entirely. It allows you to send data and trigger actions in other process instances, making it essential for coordinating complex workflows.

Configuring a message throw intermediate event

A Message Throw Intermediate Event sends a message that can be correlated with a catch event—either a Message Catch Intermediate Event in a running process or a Message Start Event to initiate a new process instance. The event creates a connection between the sending and receiving components, allowing information or instructions to be transmitted. Once the message is thrown, the process continues its flow.

General config

Correlate with catch events
dropdown
required
Select the catch message event that this throw event should communicate with. The dropdown contains all catch messages from the process definitions accessible to the user.
It is imperative to define the message for the catch event first. This ensures its availability in the dropdown menu when configuring the throw intermediate event.
Correlation key
string
A process key that uniquely identifies the instance to which the message is sent. This key establishes a clear and distinct connection between the sender and recipient in the messaging process.
A correlation key is used to match instances based on their shared value. It is not important what the attribute’s name is (even though we map based on this attribute), but rather the value itself when performing the matching between instances.
Common correlation key examples:
  • processInstanceId - to correlate with a specific process instance
  • parentProcessInstanceId - to correlate with a parent process when communicating from a subprocess
  • Custom business keys like orderId, applicationId, etc.
Send data
object
Define a JSON structure with the data to be sent along with the message. You can use dynamic values from the process data using the ${} syntax.Example:
{
  "customerName": "${customer.name}",
  "applicationStatus": "${application.status}",
  "amount": ${application.amount}
}
Process Stage
dropdown
Assign a stage to the node if needed. Stages help organize and track process progress.

Use cases

Correlating with a running process instance

Use the Message Throw Intermediate Event to send data to a Message Catch Intermediate Event that is waiting in another part of the same process or in a different running process instance.
Both the throw and catch events must have matching:
  • Correlation message name (selected in “Correlate with catch events” / “Correlate with throwing events”)
  • Correlation key value at runtime

Starting a new process instance

Use the Message Throw Intermediate Event to trigger a Message Start Event and start a new process instance. In this case, no correlation key is needed on the catch side since a new process instance is always created.
For detailed examples of interprocess communication using throw and catch events, see Intermediate Message Events Examples.

Last modified on February 16, 2026