Get familiar with branch types
- Updated: 2025/12/19
Branch types let you specify whether branches should execute unconditionally (always run) or conditionally (when certain conditions are met).

Always run branch
The Always run branch type triggers all outgoing paths at the same time.
- How it works
-
- When the process reaches a split node, every connected branch is activated immediately.
- Each branch runs independently and in parallel.
- The process pauses at the merge node until all branches complete execution.
- Example
-
Consider you have created a workflow where user submits an enquiry on a website. You want to send a confirmation or acknowledgment email to the user every time.
In this scenario, you can select the branch type as Always run, because this step should happen for every submission, no matter what other conditions exist.
Condition branch
A Condition (branch type) evaluates multiple conditions and can trigger one or more branches simultaneously when their conditions are true.
- How it works
-
- Each outgoing branch is assigned a condition like If condition .
- When the process reaches this node, every condition is evaluated.
- For an inclusive (conditional) split, only the paths whose conditions evaluate to true will be executed. Additionally, a conditional branch must include a fallback path, which is triggered if none of the specified conditions are met.
- If multiple conditions are true, multiple branches run in parallel.
- Example
-
In a purchase-order approval workflow that uses conditional logic to determine which approval actions should be taken for a purchase order (PO) and allows for multiple branches to run at the same time if multiple conditions are met.
- If the PO amount is greater than 10,000, Path A is triggered and an approval request is sent to the director
- If the PO is marked as urgent, Path B is triggered and the procurement head is notified.
- If the PO amount is 10,000 or less, Path C is triggered and the PO is auto approved with a notification sent to the requester.
if the PO is both urgent and has an amount greater than 10,000, both Path A and Path B execute at the same time (in parallel). This means the director receives an approval request and the procurement head is notified simultaneously.
However, if only one condition is met (for example, only the amount is greater than 10,000 or only urgent is true), then only the corresponding action is taken for that branch.
Fallback branch
A Fallback branch acts as a safety net. It runs only when none of the conditional branches evaluate to true.
- How it works
-
- When all conditions return false, the workflow proceeds through the Fallback branch.
- An inclusive (conditional) split must have at least one fallback branch.
- This ensures the workflow continues smoothly instead of halting.
- Example
-
Consider a support-ticket routing workflow that uses conditional logic to route incoming support tickets to the appropriate team based on the ticket type.
- If the ticket type is Billing, the ticket is routed to the finance department (Path A).
- If the ticket type is Technical, the ticket is routed to the IT department (Path B).
- If the ticket type doesn’t match Billing or Technical, route the ticket to General support.
Branch type combinations in split node paths
| Branch type selection | Description | Path validity |
|---|---|---|
| Always run (only) | All paths in the split node can be set to Always Run. | Valid path |
| Always run and Condition | Always run and Condition can coexist within the same split node paths. | Valid path |
| Always run, Condition, and Fallback | All three branch types can coexist within the same split node paths. | Valid path |
| Condition and Fallback | Condition and Fallback can coexist within the same split node paths. | Valid path |
| Condition (only) | All paths cannot be set to Condition only in the split node. | Invalid path |
| Fallback (only) | All paths cannot be set to Fallback only in the split node. | Invalid path |
| Always run and Fallback | Always run and Fallback cannot coexist within the same split node paths | Invalid path |