- Overview
- Process modeling
- BPMN
- Process implementation
- Process operations
- Process monitoring
- Process optimization
- Reference information

Maestro user guide
Gateways and flow logic
Gateways control how a process branches and merges during execution. Although gateways influence the flow, they do not perform any action by themselves. They evaluate conditions, synchronize branches, or create parallel paths. This section explains how to use gateways effectively in BPMN models, even when conditional logic is handled externally or execution support is partial.
The exclusive gateway allows only one outgoing path to be followed, based on mutually exclusive conditions.
default
attribute on the <exclusiveGateway>
element.
Modeling use case: Routing based on status (e.g., approved, rejected, needs clarification).
- Use one outgoing flow per condition.
- Define a default path for cases where no conditions match.
The inclusive gateway can activate one or more outgoing paths, depending on which conditions evaluate as true. It merges incoming paths only after all active branches complete.
Modeling use case: Optional parallel activities (e.g., notify customer and log request, if applicable)
- Model a merge gateway to join paths.
- Use with care—merging inclusive branches can create confusion if conditions overlap.
The parallel gateway activates all outgoing paths simultaneously. When used to merge, it waits for all incoming paths to complete.
- No conditions are evaluated—flow is unconditional.
- Use for modeling concurrency or synchronization.
The event-based gateway waits for one of several events to occur. The first triggered event determines the path taken. This gateway must be followed immediately by catching intermediate events or receive tasks.
Modeling use case: Waiting for a customer response or timeout.
- Only one outgoing path is followed.
- All other events become invalid once one is triggered.
When paths branch out from a gateway, a corresponding merge is often required.
Gateway type | Merge required? | Merge type |
---|---|---|
Exclusive | Optional | Exclusive |
Inclusive | Required | Inclusive |
Parallel | Required | Parallel |
- Always label gateway conditions for business readability.
- Avoid complex nested gateways when possible. Consider sub-processes for encapsulating logic.
- Default flows should be clearly defined to avoid ambiguous behavior.
- Do not mix gateway types during merge (e.g., merging parallel branches with an exclusive gateway).
For more details about the BPMN elements supported in Maestro, see BPMN support.