Affordable AI-Powered Collaboration Starts Here! Go Pro for Less🎉
Lifetime plans start at just $99/seat, upgrade today and save big for your team.
Shop Now
activity banner
logo logo
Mackenzie Carter

Published on Oct 08, 2026, updated on Oct 08, 2026

An exclusive gateway chooses one route. A parallel gateway starts every outgoing route. The distinction becomes especially important where those routes meet again: an exclusive merge does not wait for concurrent work, while a parallel join does.

When you sketch a process in a shared flowchart workspace, label the business rule before choosing the diamond. This order-check example shows why “pickup or delivery” and “check payment and stock” need different behavior, even though both create two visible branches.

An exclusive gateway selects one branch, while a parallel gateway activates two branches and joins them before continuing.
Two branches can mean alternatives or concurrent work. The gateway determines which.

Compare what the gateways do

BPMN stands for Business Process Model and Notation. Its gateway symbols describe process behavior, not merely the shape of the drawing. The OMG BPMN specification defines the relevant branching and merging semantics.

QuestionExclusive gatewayParallel gateway
What does a split do?Selects one outgoing route according to the modeled conditions.Activates every outgoing route.
What does a join do?Passes an arriving token onward; it does not synchronize concurrent arrivals.Waits for a token on each incoming route before continuing.
Typical questionWhich one applies?Which tasks must all complete?
Common markerX inside a diamond; an exclusive gateway can also be shown without the X marker.+ inside a diamond.

A token is a way to reason about an instance's progress through a process. For the examples below, imagine moving a marker along each active route. It is not a customer record or an item of inventory.

Camunda's exclusive-gateway documentation explains the selected-route behavior and the pass-through merge. Its parallel-gateway documentation describes starting all outgoing routes and waiting for the incoming routes at a join. Logical concurrency does not promise that two staff members or machines will perform the tasks at exactly the same moment.

Use an exclusive gateway for pickup or delivery

Consider an order whose fulfillment method is already recorded as either pickup or delivery. After receiving the order, the process asks “Fulfillment method?” One branch prepares pickup instructions; the other prepares delivery details.

Only one of those branches should run for this order. Mark the routes “Pickup” and “Delivery,” and use an exclusive gateway. The paths can meet at an exclusive merge before the process moves to the next stage.

Walk a pickup order through the diagram. One marker goes down the pickup path, reaches the merge, and continues. Nothing is expected from the delivery path, because it was never selected.

Also decide how missing or unexpected data is handled. If the method has not been chosen, “delivery” should not become the accidental answer. Add an explicit clarification route or establish a valid precondition before this decision. In an executable model, configure the conditions and any default flow deliberately; a label alone is not an executable rule.

Use a parallel gateway for payment and stock checks

Now suppose the process must check both payment status and stock availability before preparing the order. Neither check supplies an input needed to start the other in this example. A parallel split activates both paths: “Check payment” and “Check stock.”

At the parallel join, the order waits until both checks have completed. If payment finishes first, its marker waits at the join. When stock finishes, the join can consume the two arrivals and let one marker continue.

Completion is not the same as approval. A completed stock check can report “unavailable,” and a completed payment check can report “not confirmed.” After the join, use a separate decision to examine the recorded results. The join itself only coordinates completion; it does not decide that the order is ready.

A compact sequence for this stage is: start both checks → wait for both results → decide whether the order can proceed. If both results are acceptable, prepare the order. Otherwise, route it to the relevant resolution work.

Spot the two wrong-join patterns

The most misleading diagrams often have the right activities and the wrong merge. Trace one order instead of judging the picture by its symmetry.

Incorrect patternWhat the trace showsCorrection for this example
Exclusive pickup/delivery split followed by a parallel joinThe pickup marker arrives, but the join also waits for the unselected delivery route. That second marker will not arrive.Use a non-synchronizing merge for these mutually exclusive alternatives.
Parallel payment/stock split followed by an exclusive mergeThe first check can continue without waiting. The second arrival can continue later as well, potentially starting downstream work twice.Synchronize the two required checks with a parallel join before examining their results.

These are behavior problems, not cosmetic mistakes. Changing a diamond's marker can change whether a process waits forever, continues early, or starts work more than once.

Do not reduce the lesson to “always pair identical gateways.” Real processes may contain nested decisions, loops, or branches that end separately. Choose a join based on which arrivals can actually reach it and what must happen before continuation. Matching symbols are not a substitute for that reasoning.

Account for a check that cannot finish normally

What if the stock service is unavailable? A model that simply removes that path from the drawing leaves the payment marker waiting at the join. Decide what “check completed” means when a result cannot be obtained.

For a high-level business sketch, the stock task can finish with an explicit “unknown — requires review” outcome. The post-join decision then routes the order to resolution rather than treating unknown as available. An executable BPMN model needs the appropriate error, timeout, cancellation, and retry handling for its engine and business requirements.

The business question comes first: should the whole order wait, move to manual review, or stop? Do not route a failed check around the join straight into “Prepare order” unless that is genuinely the authorized process. Bypassing synchronization can undermine the reason for having two checks.

Trace the process together in Boardmix

Build two clearly separated sections on a Boardmix canvas. The first contains the exclusive pickup/delivery choice and merge. The second contains the parallel payment/stock checks and join, followed by the decision on their results.

Use short verb-led task names, visible gateway markers, and labels beside the alternative paths. Leave room below the diagrams for a manual trace. Move a small shape along a pickup route, then use two shapes for the parallel checks. Use the board to discuss the logic; run an executable process in a BPMN engine.

A Boardmix canvas contrasts an exclusive pickup-or-delivery path with parallel payment and stock checks that synchronize before the next decision.
Trace one order through each section to see which routes are active and what the join is waiting for.

Open a Boardmix board and invite the people who perform the checks to walk through the example with you. Ask where a result can be missing, which work can start independently, and what must be known before the next task begins.

If the business rule is “run one or more applicable checks,” neither a simple exclusive choice nor an unconditional parallel split fully expresses it. Keep that rule visible and examine the appropriate conditional branching model. Drawing two arrows does not settle whether one, both, or a changing subset should run.

Join Boardmix to collaborate with your team.
Try Boardmix online Download to desktop
Back to top
twitter
                        share
facebook
                        share