#Send a message to a system
An intermediate message throw event calls an outbound action of a system and waits for its answer, exactly like a service task, and files that answer under its id.
#What happens when the process reaches it
flowchart LR
A["Previous step"] --> M(("Message throw<br/>'Notify warehouse'"))
M -- "call the action,<br/>wait for the answer" --> S["Warehouse system"]
S -- "answer" --> M
M --> N["Next step reads<br/>MessageThrow_notify.ticketId"]
Despite the name, a message throw event is not fire-and-forget: it calls the action, waits for the answer, and retries a failed call. It behaves like a service task drawn as an event.
#Configure a message throw event
- Connection settings → Action: pick the system, the adapter and the action. Optionally an Environment and Credentials.
- Fill in Path, Query, Headers (HTTP actions only) and Request body, as for a service task.
#Retries and failures
The action's Behaviour settings apply: Wiederholungsversuche (retry attempts, default 3) and Delay (ms) (default 5000), with the wait doubling on each retry. See Call a system with a service task.
⚠️ An event cannot carry an error boundary event. When the last attempt fails, the whole instance fails. If the failure has to be handled in the process, use a service task with an error boundary event instead.
#What it hands on
The answer of the system under the event's id — the same as a service task: the response
body after the action's transformations, body for an answer that is not an object, nothing
for an empty answer. The variable list offers the fields of the action's response.
#Limits
- ⚠️ A required path or query parameter that is empty is reported by validation, but the red marker does not appear on the Path or Query group of this event.
- ⚠️ Everything that limits a service task applies here as well — every answer outside 2xx is retried, and retries cannot be switched off. See Call a system with a service task.
#What validation checks
An action must be selected; without an Environment the event gets a warning — an error if the adapter has no base URL of its own. Required parameters and body fields must be filled in. The messages are shown in German. See Check that a process can run.
