Skip to main content
Real-world automation is rarely linear. A completed task might need an urgent Slack alert if its priority is high, but only a spreadsheet update if it’s routine. Condition steps let you inspect the data flowing through your workflow at any point and route execution down the right path — no code required.

Add a Condition step

1
Insert the Condition step
2
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).
3
Configure the If branch rule
4
  • Click Branch A to open the rule editor.
  • Click + Add Rule.
  • Set the field, operator, and value. For example:
    • Field: data.priority
    • Operator: equals
    • Value: high
  • Click Save Rule.
  • 5
    Branch A now routes execution when task.priority equals high.
    6
    Configure the Else branch
    7
    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).
    8
    Add steps to each branch
    9
    Click the + node beneath each branch and add the actions that belong there:
    10
  • Branch A (high priority)Send Slack Message to #urgent-alerts with the message:
    🚨 HIGH PRIORITY: Task "{{data.task_name}}" just completed. Assigned to {{data.completed_by.name}}.
    
  • Branch B (everything else)Update Spreadsheet Row in your project tracker.
  • 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.
    1. Click the Condition node.
    2. Click + Add Branch.
    3. Name the new branch (for example, Medium Priority) and define its rule:
      • Field: data.priority
      • Operator: equals
      • Value: medium
    4. Add a corresponding action beneath the new branch.
    5. 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.
    1. On the canvas, click the + button below all branch endpoints.
    2. Select Join from the step type menu.
    3. 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.
    4. 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.
    1. Click the + node inside an existing branch.
    2. Select Condition to add a child condition.
    3. Configure the nested branch rules independently of the parent.
    For example, inside the High Priority branch you could add a nested condition:
    • If data.project_id equals proj_vip → ping the VP of Product directly.
    • Else → post to #urgent-alerts as normal.
    Keep nesting to a maximum of two or three levels. Deeply nested conditions become difficult to maintain. If your logic grows complex, consider splitting it into a separate workflow that you call with the Trigger Workflow action.

    FAQ

    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.
    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.
    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.