BPMN Gateway Types

Gateways control where the process goes next. Five types, five different behaviors. Here is how each one works and when to use it.

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.

GatewaySymbolPaths taken
Exclusive (XOR)XExactly one
Parallel (AND)+All
Inclusive (OR)OOne or more
Event-basedPentagonWhichever 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

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

Keep learning

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.