How it works
- Define multiple cases, each with a condition
- Cases are evaluated in order from top to bottom
- Execution continues down the first case that matches
- Add a case with
{{true}}at the end to create a catch-all path
Configuration
Each case has:| Property | Description |
|---|---|
| Condition | An expression that evaluates to true or false |
| Name | Optional label for the case (for readability) |
Writing case conditions
Matching specific values
Range-based routing
Complex conditions
Creating a catch-all path
Since cases are evaluated in order, you can create a catch-all by adding a final case with the condition{{true}}. This always matches, catching any records that didn’t match previous cases.
Common use cases
Lead tier routing
Route leads to different workflows based on their tier:| Case | Condition | Action |
|---|---|---|
| 1 | {{nodes.score.tier == "A"}} | High-touch sales outreach |
| 2 | {{nodes.score.tier == "B"}} | Automated sequence + SDR |
| 3 | {{nodes.score.tier == "C"}} | Marketing nurture campaign |
| Catch-all | {{true}} | Add to general newsletter |
Industry-specific handling
Customize workflows based on industry:| Case | Condition | Action |
|---|---|---|
| 1 | {{nodes.enrich.industry == "Technology"}} | Tech-focused messaging |
| 2 | {{nodes.enrich.industry == "Healthcare"}} | Healthcare compliance flow |
| 3 | {{nodes.enrich.industry == "Finance"}} | Financial services flow |
| Catch-all | {{true}} | Generic messaging |
Source-based routing
Handle leads differently based on their source:| Case | Condition | Action |
|---|---|---|
| 1 | {{nodes.start.source == "demo_request"}} | Immediate sales contact |
| 2 | {{nodes.start.source == "content"}} | Content follow-up sequence |
| 3 | {{nodes.start.source == "referral"}} | Referral thank-you flow |
| Catch-all | {{true}} | Standard nurture |
Score-based prioritization
Route by lead score ranges:| Case | Condition | Priority |
|---|---|---|
| 1 | {{nodes.score.value >= 90}} | Immediate |
| 2 | {{nodes.score.value >= 70}} | Same day |
| 3 | {{nodes.score.value >= 50}} | Within week |
| Catch-all | {{true}} | Nurture |
Case order matters
Cases are evaluated top to bottom, and the first match wins. Order your cases from most specific to least specific: Correct order:Switch vs. Branch
Choose the right action:| Scenario | Use |
|---|---|
| Yes/No decision | Branch |
| Two paths only | Branch |
| Multiple specific values | Switch |
| More than two paths | Switch |
| Range-based routing | Switch |
Switch vs. Multiple Branches
You can chain multiple Branch nodes, but Switch is cleaner: Multiple Branches (harder to read): Single Switch (cleaner):Best practices
Order cases correctly
Order cases correctly
Put specific conditions before general ones. For numeric ranges, start with
the highest values first.
Name your cases
Name your cases
Give cases descriptive names like “Enterprise” or “Hot Lead” instead of
leaving them as “Case 1”, “Case 2”.
Always add a catch-all
Always add a catch-all
Add a final case with
{{true}} to handle unexpected values gracefully.
This prevents records from falling through without being processed.Keep case count manageable
Keep case count manageable
If you have more than 5-6 cases, consider whether the logic could be
simplified or handled differently.
Use Variables for complex conditions
Use Variables for complex conditions
If conditions are complex, compute them in a Variables node first, then
switch on simple values.
Example: Lead routing by segment
A workflow that routes leads to different teams based on company size and score: 1. Enrich → Get company data 2. Score → Calculate lead score 3. Switch: Route by segment| Case | Condition | Route to |
|---|---|---|
| Enterprise | {{nodes.enrich.employees >= 1000 && nodes.score.value >= 60}} | Enterprise AEs |
| Mid-Market | {{nodes.enrich.employees >= 200 && nodes.score.value >= 50}} | Mid-Market SDRs |
| High-Intent | {{nodes.score.value >= 80}} | Inbound team |
| SMB | {{nodes.enrich.employees >= 20}} | SMB automation |
| Catch-all | {{true}} | Nurture campaign |
- Allocates to the appropriate team
- Creates CRM records with correct owner
- Sends relevant notifications

