DEV Community

Crismo Team
Crismo Team

Posted on • Originally published at processcamp.io

BPMN Gateway Types Explained: Exclusive, Parallel, Inclusive & More

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)