What is a gateway?
A gateway is a diamond-shaped element that controls the flow of a process. It either splits the flow (one path becomes many) or joins it (many paths become one). The symbol inside the diamond tells you the type.
Getting gateways right is the difference between a process that works and one that deadlocks, creates ghost tokens, or takes the wrong path. Most BPMN modeling mistakes happen at gateways.
| Gateway | Symbol | Paths taken |
|---|---|---|
| Exclusive (XOR) | X | Exactly one |
| Parallel (AND) | + | All |
| Inclusive (OR) | O | One or more |
| Event-based | Pentagon | Whichever event fires first |
| Complex | * | Custom condition |
Exclusive Gateway (XOR)
Exactly one path is taken.
As a split
The token follows the first condition that evaluates to true. Only one outgoing path fires.
As a join
Waits for one incoming token, then continues. Does not wait for the others.
Example
Order amount > €500? If yes, require manager approval. If no, auto-approve.
Common mistake
Forgetting the default path. If no condition matches, the process gets stuck (deadlock).
Full reference for Exclusive Gateway →
Parallel Gateway (AND)
All paths are taken simultaneously.
As a split
The token is duplicated - every outgoing path fires at the same time.
As a join
Waits for all incoming tokens before continuing. The process synchronizes here.
Example
After a new hire signs the contract: IT sets up the laptop AND HR prepares the badge AND the manager assigns a buddy. All three happen in parallel.
Common mistake
Using a parallel split without a matching parallel join. The process will never synchronize, creating ghost tokens.
Full reference for Parallel Gateway →
Inclusive Gateway (OR)
One or more paths are taken.
As a split
Every condition is evaluated independently. All paths where the condition is true fire. At least one must fire.
As a join
Waits for all tokens that were created at the matching split. Smart enough to know which paths were activated.
Example
Customer complaint: if product defect, send replacement. If service issue, escalate to team lead. If both, do both.
Common mistake
Confusing with exclusive gateway. Inclusive means multiple paths CAN fire simultaneously - exclusive means exactly one.
Full reference for Inclusive Gateway →
Event-Based Gateway
Wait for one of several external events. The first event that occurs determines the path.
As a split
The process pauses and listens for events (messages, timers, signals). The first one to arrive wins.
As a join
Not used as a join - only as a split.
Example
After sending a quote: wait for customer response OR wait 7 days. If the customer responds first, process the order. If the timer fires first, follow up.
Common mistake
Putting tasks after an event-based gateway instead of events. Only intermediate catching events (message, timer, signal, condition) are allowed.
Full reference for Event-Based Gateway →
Complex Gateway
Custom routing logic that none of the other gateways can express.
As a split
A custom condition determines which paths fire (e.g., "any 2 out of 3").
As a join
A custom condition determines when to continue (e.g., "continue when 2 of 3 paths have arrived").
Example
Three departments must review a proposal. Continue when any two have approved - do not wait for the third.
Common mistake
Using a complex gateway when a simpler gateway would work. Complex gateways are hard to understand and most process engines have limited support for them.
Full reference for Complex Gateway →
Fabian's take
"Event-based gateways trip up even experienced modelers. The key insight: after an event-based gateway, only catching events are allowed. No tasks, no other gateways. The process is listening, not doing."
Which gateway should I use?
-"Only one of these things should happen" → Exclusive gateway (X)-"All of these things should happen at the same time" → Parallel gateway (+)-"Some of these things should happen, depending on conditions" → Inclusive gateway (O)-"I need to wait for something external to happen" → Event-based gateway-"None of the above fit" → Complex gateway (rare)
In practice, exclusive and parallel gateways cover 90% of cases. Inclusive gateways handle most of the rest. Event-based gateways appear in processes that wait for external responses. Complex gateways are extremely rare.
Related guides
BPMN Event Types
Event-based gateways work with intermediate events.
BPMN Sub-Process Types
Gateways control flow inside sub-processes.
Common BPMN Mistakes
Most mistakes happen at gateways.
What is BPMN?
Gateways are one of the five building blocks.
Keep learning
See gateways in action
BPMN Examples
5 interactive diagrams using gateways in real processes.
Avoid common pitfalls
BPM Traps
Deadlocks and multimerge errors caused by gateway misuse.
Pick the right tool
Best BPMN Tools 2026
10 platforms compared on compliance, collaboration, and free tiers.
See the bigger picture
Process Landscapes
Where gateways fit in the L0/L1/L2 hierarchy.
Frequently asked questions
What is the most common BPMN gateway?▼
The exclusive gateway (XOR). It models simple yes/no or either/or decisions. Most business processes have at least one.
What happens if I use the wrong gateway type?▼
The process will behave incorrectly. An exclusive gateway where you need a parallel one means only one task runs instead of all. A parallel join where you need an exclusive one means the process waits forever for tokens that will never arrive (deadlock).
Do I always need a matching join gateway?▼
For parallel and inclusive gateways, yes - you need a matching join to synchronize. For exclusive gateways, a matching join is optional but recommended for clarity.
Can I use a gateway with only two paths?▼
Yes. A gateway with two outgoing paths is perfectly valid and very common (e.g., approved/rejected). Gateways are not limited to a specific number of paths.
Looking for a BPMN tool?
Compare the most popular modeling tools — from free open-source editors to enterprise platforms.
See our full BPMN tools comparison of all 10 platforms.
CamundaOpen SourceSAP SignavioEnterprisedraw.ioFreeCrismoAI-NativeLucidchartGeneralARISEnterpriseBrowse all 16 tools →
Top comments (0)