Skip to main content
The Multi-Condition node routes workflow execution to one of multiple paths based on matching conditions. Use it when you have more than two possible routes, such as categorizing items, routing to departments, or handling multiple statuses.
Multi-Condition node configuration form

Multi-Condition configuration — each branch has a name, a condition, and a handle to wire the outgoing edge to.

When to Use

  • Multiple categories - Route based on type, category, or classification
  • Status handling - Different actions for different statuses
  • Department routing - Send to Sales, Support, Billing, etc.
  • Multi-language - Route based on detected language
  • Tiered responses - Different handling for different levels
Use Multi-Condition instead of nested Conditions when you have 3+ possible paths. It’s cleaner and shows all options at once.

Example: Email Routing

Route support emails to different teams:
1

Classify the email

Use an Ask AI node to categorize the email:
2

Configure Multi-Condition

Add a Multi-Condition node:
  • Mode: value
  • Variable: {{llm_1.response}}
  • Cases:
    • BILLING
    • TECHNICAL
    • SALES
    • GENERAL
  • Default: enabled
3

Connect each case

Connect each handle to the appropriate action:
  • BILLING → Slack #billing-support
  • TECHNICAL → Slack #tech-support
  • SALES → Slack #sales-team
  • GENERAL → Slack #general-support
  • default → Slack #triage (for unexpected categories)

Example: Order Status Handler

Different actions based on order status:

Example: Language-Based Routing

Route to native speakers:

Multi-Condition modes

Value Mode

Compare a single variable against multiple values: Configuration:
Each case checks: {{llm_1.response.priority}} == "P1", etc.

Conditions Mode

Each case has its own independent condition: Configuration:
In conditions mode, cases are evaluated in order. The first matching condition wins. Use a true condition last as a catch-all.

Default Case

The default case handles values that don’t match any defined case:
Always enable the default case unless you’re certain all possible values are covered. Unmatched values with no default will cause the workflow to stop.

Case Naming

Give cases descriptive names that appear on the workflow canvas:

Combining with Wait & Combine

If branches need to rejoin:

Dynamic Case Values

Reference variables in case values:

Tips

Use the Ask AI node before Multi-Condition to classify free-text into known categories. Then Multi-Condition routes based on the AI’s structured output.
Order matters in conditions mode - put more specific conditions first, general catch-alls last.
You don’t need to connect every case. Some cases might intentionally do nothing (the branch just ends).

Condition vs. Multi-Condition

Settings

string
default:"Multi-Condition"
Display name shown on the canvas.
string
default:"switch_1"
Unique identifier for referencing outputs.
string
default:"value"
How to evaluate cases:
  • value - Compare a variable against specific values
  • conditions - Each case has its own condition expression
string
For value mode: the variable to compare (e.g., {{llm_1.response.category}}).
array
Array of cases, each with:
  • name - Label for this case
  • value - Value to match (value mode)
  • condition - Expression to evaluate (conditions mode)
boolean
default:"true"
Whether to include a default case for unmatched values.

Outputs

Multi-Condition has multiple output handles:
  • One handle per case - Named after the case (e.g., “Sales”, “Support”)
  • default - Executes when no cases match (if enabled)
string
The name of the case that matched.
any
The value that triggered the match.

Condition

Simple true/false branching.

Wait and Combine

Rejoin branches after Multi-Condition.