BPMN gateways explained
A BPMN gateway is a diamond that controls branching and merging in a process. The marker inside the diamond tells you the behaviour: an X means choose one path, a + means all paths at once, a circle means one or more, and a pentagon means the path depends on which event fires first. Getting gateways right is what separates a correct BPMN diagram from a misleading one.
Exclusive gateway (X) — choose one path
The most common gateway. The flow takes exactly one outgoing path, based on a condition.
- Use it for: yes/no or either/or decisions — "Approved?", "In stock?", "Payment successful?"
- Rule: label each outgoing flow with its condition, and provide a default flow so the process can't get stuck if no condition matches.
- Merging: an exclusive gateway can also merge paths back together (it just passes through whichever branch arrives).
Parallel gateway (+) — all paths at once
Splits the flow into concurrent branches that all run at the same time.
- Use it for: independent work that happens simultaneously — "provision laptop" and "create email account" and "assign a buddy."
- Rule: a parallel split should be matched by a parallel join that waits for all branches to finish before continuing. Forgetting the join is a common cause of broken diagrams.
Inclusive gateway (O) — one or more paths
Takes every outgoing path whose condition is true — could be one, could be several.
- Use it for: "notify by email if they opted in, and by SMS if they have a mobile number" — the two are independent and either or both can apply.
- Rule: the merging inclusive gateway waits only for the branches that were actually activated.
Event-based gateway — whichever happens first
The path depends on which event occurs first after the gateway.
- Use it for: "wait for payment confirmation or a 24-hour timeout, whichever comes first."
- Followed by events (message, timer), not tasks. The first event to trigger wins; the others are cancelled.
Quick reference
| Gateway | Marker | Split behaviour |
|---|---|---|
| Exclusive | X | Exactly one path |
| Parallel | + | All paths simultaneously |
| Inclusive | O | One or more paths (each true condition) |
| Event-based | Pentagon | The path of the first event to occur |
The #1 gateway mistake: unbalanced splits and joins
Every split should have a matching join of the same type. A parallel split with no parallel join leaves branches that never reconcile; an exclusive path that never merges leaves dangling ends. If a diagram feels "off," check gateway balance first. More in common BPMN mistakes.
Not sure which gateway your process needs? Describe the decision in plain English to BPMN Studio and it'll pick and place the right gateway — then you can see why it chose it. See also the full symbol reference and events explained.
Frequently asked questions
What is a gateway in BPMN?
A gateway is a diamond-shaped symbol that controls how a process path splits or merges. It decides which sequence flows are taken after a point in the process — one path, all paths, or some paths — depending on the gateway type.
What is the difference between an exclusive and a parallel gateway?
An exclusive gateway (X) takes exactly one outgoing path based on a condition — like an either/or decision. A parallel gateway (+) takes all outgoing paths at the same time, splitting the flow into concurrent branches that later synchronise.
When should I use an inclusive gateway?
Use an inclusive gateway (circle marker) when one or more paths can be taken based on independent conditions — for example, 'notify by email AND/OR SMS' where each is evaluated separately. Every branch whose condition is true runs.