Add a Condition step
On your workflow canvas, click the + button at the point where you want the branch to occur, then select Condition from the step type menu. A Condition node appears with two default branches: Branch A (If) and Branch B (Else).
- Field:
data.priority - Operator:
equals - Value:
high
Branch B automatically catches every run that does not satisfy Branch A’s conditions. You can leave it as a plain Else, or click Branch B and add its own rule set to turn the step into a multi-branch switch (see below).
Multiple branches (switch-style routing)
When you need more than two paths, add extra branches to a single Condition step instead of nesting multiple conditions.- Click the Condition node.
- Click + Add Branch.
- Name the new branch (for example,
Medium Priority) and define its rule:- Field:
data.priority - Operator:
equals - Value:
medium
- Field:
- Add a corresponding action beneath the new branch.
- Repeat for as many branches as you need.
When multiple branches have rules that could match the same input, fsckmsft evaluates them top to bottom and executes only the first matching branch. Reorder branches by dragging them in the Condition panel to control priority. The Else branch always runs last, only when no other branch matches.
Merge branches with a Join step
After branching, you often want a single shared step to run regardless of which path was taken — for example, logging the outcome or sending a completion webhook.- On the canvas, click the + button below all branch endpoints.
- Select Join from the step type menu.
- Choose a merge strategy:
- Wait for all — the Join step runs after every active branch finishes (useful when branches run in parallel).
- First to complete — the Join step runs as soon as any one branch finishes.
- Add your shared action below the Join node as you would any other step.
Nested conditions
Place a Condition step inside any branch to create nested logic.- Click the + node inside an existing branch.
- Select Condition to add a child condition.
- Configure the nested branch rules independently of the parent.
- If
data.project_idequalsproj_vip→ ping the VP of Product directly. - Else → post to
#urgent-alertsas normal.
FAQ
Can I use AND / OR logic within a single branch rule?
Can I use AND / OR logic within a single branch rule?
Yes. When adding rules to a branch, click the AND / OR toggle above the rule list to switch between conjunction and disjunction. For example, you can match runs where
data.priority equals high AND data.due_date is before today.What happens if no branch matches and there is no Else branch?
What happens if no branch matches and there is no Else branch?
The Condition step is skipped entirely and execution continues to the next step after the Condition node (or the Join step if one is present). The run is not marked as failed.
Can I reference fields set by a previous action, not just the trigger payload?
Can I reference fields set by a previous action, not just the trigger payload?
Yes. Any output field from a previous step is available in the rule editor. Open the field picker and browse by step name to select outputs from earlier actions.