- Introduction
- Getting started
- Building with Maestro BPMN
- Understanding Maestro BPMN modeling
- Opening the modeling canvas
- Modeling your process
- Aligning and connecting BPMN elements
- Autopilot for Maestro (Preview)
- Process Repository
- Implementing a simple BPMN process
- Implementing a complex BPMN process
- Debugging
- Simulating
- Evaluations (Preview)
- Common implementation scenarios
- Building with Maestro Case
- Introduction to Maestro Case
- Maestro BPMN vs. Maestro Case: when to use case management
- The Maestro Case lifecycle: from event trigger to app experience
- Build your first case with Maestro Case
- Build a Maestro Case with a coding agent (preview)
- Defining case keys (system vs. external)
- Establishing task I/O and write-back contracts
- Exit rules and early stage termination
- Modeling primary and secondary stages
- Triggering a case from Data Fabric
- Implementing stage-level personas and permissions
- Setting SLAs and automated escalation rules
- Configuring a rework loop (re-entry)
- Configuring and testing the Case Manager Agent (preview)
- Case Manager input and output contract
- Maestro Case component dictionary
- Building with Maestro Flow
- Maestro Automate
- Integrations
- Operating
- Monitoring
- Optimizing
- Reference information
Gateway types in Maestro BPMN models for branching, merging, synchronizing, and creating parallel paths during process execution.
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.
Exclusive gateway
The exclusive gateway
allows only one outgoing path to be followed, based on mutually exclusive conditions.
In Maestro, you can mark a path as the default using the 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.
Note:
Label each flow clearly. Avoid ambiguous conditions.
Inclusive gateway
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.
Parallel gateway
The parallel gateway activates all outgoing paths simultaneously. When used to merge, it waits for all incoming paths to complete.
Modeling use case: Executing independent tasks in parallel, such as sending confirmation and generating a report.
- No conditions are evaluated—flow is unconditional.
- Use for modeling concurrency or synchronization.
Warning:
Always use a parallel gateway to join branches that were split in parallel.
Event-based gateway
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.
Warning:
Event gateways represent uncertainty. Use only when the process must react to external input.
Gateway merging
When paths branch out from a gateway, a corresponding merge is often required.
| Gateway type | Icon | Merge required? | Merge type |
|---|---|---|---|
| Exclusive | ![]() | Optional | Exclusive |
| Inclusive | ![]() | Required | Inclusive |
| Parallel | ![]() | Required | Parallel |
For clarity, always model merge points explicitly—even if only one path is expected to continue.
Modeling tips
- 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.


