Gateways

Exclusive Gateway

A decision point that routes the flow down exactly ONE of several paths, based on condition evaluation. BPMN's exclusive-or (XOR) split. Diamond, optionally with an X.

The Exclusive Gateway evaluates its outgoing conditions in order and sends the token down the first one that is true — never more than one. Always give it a default flow (marked with a slash) so the token can't get stuck when no condition matches.

Used as a join, it simply lets each arriving token pass — it does not synchronize.

When to use and avoid

When to use

  • When the process must follow exactly one of mutually exclusive paths (Approved? yes/no).

  • To reconverge alternative paths that never run in parallel (exclusive merge).

  • When the decision uses data already available in the instance.

When NOT to use

  • When several paths may run at the same time — Parallel (AND) or Inclusive (OR).

  • When the choice depends on an external event (message vs timeout) — Event-Based Gateway.

  • As a synchronizer of parallel branches — an exclusive join lets each token straight through.

Business example

Credit decision by amount

Diagrama BPMN: Credit decision by amount
Credit decision by amount

Open this example in the HEFLO process editor and explore the diagram from the inside.

Open in the HEFLO editor →

Step by step

  1. After Analyze request, the token reaches the Exclusive Gateway (highlighted) “Amount > $10,000?”.
  2. True → Board approval; otherwise the default flow goes to Automatic approval.
  3. Exactly one path is taken; both later merge to the same end.

Differences

Exclusive vs Event-Based Gateway

Exclusive decides on data, immediately. Event-Based decides on which event happens first — the process waits. Internal decision → exclusive; race between external stimuli → event-based.

Exclusive vs Inclusive Gateway

Exclusive (XOR) takes exactly one path. Inclusive (OR) activates every path whose condition is true — one, several or all — and its join waits only for the activated ones.

FAQ

What if no condition is true?

With a default flow, the token takes it. Without one, the model is broken — the token deadlocks. Always model the default.

Is the X marker required in the diamond?

Optional per spec — but recommended for readability, and most tools draw it.

Related elements