Skip to content

Gateways

A gateway splits one path into several, or joins several paths back into one. What it does depends on its type and on the routing rules attached to its outgoing connections.

Gateway types

Right-click a gateway and open Gateway Type:

Type Menu entry What it does
Exclusive Exclusive (XOR) Gateway Takes one outgoing path: the first rule whose condition is true
Parallel Parallel (AND) Gateway Takes every outgoing path, without evaluating conditions
Inclusive Inclusive (OR) Gateway Takes every outgoing path whose condition is true

A parallel gateway does not offer conditions, and it does not offer a default flow. It waits at a joining point until every incoming branch has arrived.

You can also connect a gateway directly to another gateway. The chain is followed in one go, so the case does not stop between the two gateways.

Routing rules

Right-click the gateway and choose Routing rules. Each outgoing connection has one row.

  • Each row has a visible drag handle; drag rows to change the order in which the conditions are evaluated.
  • Expanding a row's Condition field does not resize or shrink the window, and the expanded row keeps its height.
  • Save and reopen: the new order is kept.

Write the condition by hand; the @@ button opens the variable picker. See Conditions for the expression syntax.

Default flow

One outgoing connection can be marked as the default flow. It is taken only when no other rule matched, which is what keeps a case from stopping when the data does not fit any condition.

Open the gateway's context menu and choose Default Flow, then the connection. The submenu is not offered on a parallel gateway, where every path is always taken.

How the rules are evaluated

The rules are read in the order of the list, and the order matters:

Gateway When several conditions are true
Exclusive The first matching rule wins; the rest are not taken
Inclusive, parallel by evaluation Every matching rule is taken
Any with a default flow The default is used only if nothing matched

If nothing matches and there is no default flow, the case cannot move:

Process definition error: All conditions in evaluation routing rule evaluated to false, so workflow has stopped. Please change the definition of the evaluation routing rule.

The message names the routing rule, not the case: the fix is a default flow or a wider condition in the process definition.

What the canvas refuses to save

The diagram is validated as you connect elements. These are errors, not warnings:

  • A converging gateway needs two or more incoming connections.
  • A diverging gateway needs two or more outgoing connections.
  • A converging gateway needs an outgoing connection.
  • A diverging gateway needs an incoming connection.

Subprocesses

Right-click a subprocess to see its context menu; it does not offer Delete routing rule. In Properties, the input and output variable tables sort by Source and Target, and the @@ button in the Target column opens the variable picker without errors.

  • Conditions — the expressions a routing rule evaluates.
  • Events — what starts a case and what it waits for.
  • Task properties — steps and trigger conditions.
  • Derivation — what the user sees when a case moves.