Skip to main content
Why it is important? It enables the process to synchronize and control the flow based on the arrival of specific messages, ensuring proper coordination between process instances. Similar to the message catch boundary event, the message catch intermediate event is important because it facilitates the communication and coordination between process instances through messages. By incorporating this event, the process can effectively synchronize and control the flow based on the arrival of specific messages.
Message Catch Intermediate Event can be used as a standalone node, this means that it will block a process until it receives an event.

Configuring a message catch intermediate event

Imagine a process where multiple tasks are executed in sequence, but the execution of a particular task depends on the arrival of a certain message. By incorporating a message catch intermediate event after the preceding task, the process will pause until the expected message is received. This ensures that the subsequent task is not executed prematurely and allows for the synchronization of events within the process.

General config

Correlate with throwing message events
dropdown
required
Select the throw message event that this catch event should listen for. The dropdown contains all throw messages from the process definitions accessible to the user.
The message name must match exactly between the throw and catch events for correlation to work.
Correlation Key
string
required
A business or process variable that uniquely identifies the process instance to which the message is sent.The engine extracts the value of this key when the token arrives on the catch node. At runtime, the extracted value must match the value extracted by the corresponding throw event.Common correlation key examples:
  • processInstanceId — to correlate within the same process
  • parentProcessInstanceId — to receive messages from a parent process or to communicate between sibling subprocesses that share the same parent
  • Custom business keys like orderId, applicationId, etc.
Process Key
string
The process key where the data received from the throw event will be stored. This allows the catch event to capture and use the payload sent along with the message.
The catch event must be in a waiting state before the corresponding throw event fires. If the throw executes before the catch node is reached, the message will not be delivered. This is especially important when working with async subprocesses — ensure the subprocess containing the catch event has time to reach the catch node before the throw fires.
Last modified on March 25, 2026