Skip to main content

What does this node do?

The Conditional node evaluates conditions and routes your workflow to different branches. Use it for data validation, error handling, A/B logic, and any scenario where execution depends on data values. Common uses:
  • Route based on data values
  • Validate data before processing
  • Handle error conditions
  • Implement business logic

Quick setup

1

Add the Conditional node

Find it in ToolsIf/Else
2

Set your condition

Choose left value, operator, and right value
3

Connect both branches

Connect nodes to True and False outputs
4

Test with sample data

Verify routing works as expected

Configuration

Required fields

left_value
any
required
The value to compare (left side of condition).Examples:
  • Variable: {{WebScraper_0.wordCount}}
  • Static: 100
  • Nested: {{data.status}}
operator
string
required
The comparison operator.
OperatorDescriptionExample
equalsEqual tostatus equals "active"
not_equalsNot equal totype != "test"
greater_thanGreater thanscore > 80
greater_than_or_equalGreater or equalcount >= 10
less_thanLess thanprice < 100
less_than_or_equalLess or equalitems <= 5
containsString containsemail contains "@gmail"
not_containsDoesn’t containurl not_contains "test"
starts_withString starts withname starts_with "Dr."
ends_withString ends withfile ends_with ".pdf"
is_emptyValue is empty/nulldata is_empty
is_not_emptyValue existsresult is_not_empty
right_value
any
The value to compare against (right side).Not required for is_empty and is_not_empty.

Optional fields

case_sensitive
boolean
default:"true"
Whether string comparisons are case-sensitive.
multiple_conditions
array
Additional conditions combined with AND/OR logic.
[
  {
    "left": "{{status}}",
    "operator": "equals",
    "right": "active",
    "logic": "AND"
  }
]

Output

The node evaluates and routes to one of two outputs:
{
  "condition_met": true,
  "left_value": 150,
  "operator": "greater_than",
  "right_value": 100,
  "branch_taken": "true_branch"
}

Examples

Data validation

Check if content exists before processing:
Condition: {{WebScraper_0.content}} is_not_empty

True → Process content
False → Log "No content found"

Score-based routing

Route leads by score: Configuration:
  • Left: {{lead.score}}
  • Operator: greater_than_or_equal
  • Right: 80

Error handling

Check API response status:
Condition: {{HTTP_0.status}} equals 200

True → Process response
False → Handle error

Content type filtering

Process only articles:
Condition: {{page.type}} equals "article"

True → Analyze article
False → Skip

Multiple conditions

Combine conditions with AND/OR:

AND logic (all must be true)

Condition 1: score > 50
AND
Condition 2: status equals "active"
AND
Condition 3: region equals "US"
All three must be true for the True branch.

OR logic (any can be true)

Condition 1: type equals "premium"
OR
Condition 2: spending > 1000
Either condition triggers the True branch.

Mixed logic

(score > 80 AND status = "active") 
OR 
(type = "vip")

Common patterns

Null/empty checking

Always validate data exists:

Range checking

Check if value is in range:

Multi-way branching

Route to multiple paths:

Validation pipeline

Check multiple requirements:

Best practices

Be explicit about types

Numbers and strings compare differently:
❌ "100" equals 100  → May fail (string vs number)
✅ 100 equals 100    → Works (both numbers)

Handle the False branch

Always connect both branches:
❌ Only connect True, ignore False
✅ Connect both, even if False just logs

Use descriptive conditions

Make conditions readable:
❌ {{x}} > {{y}}
✅ {{lead.score}} greater_than {{threshold}}

Test edge cases

Verify behavior with:
  • Empty values
  • Null values
  • Zero
  • Boundary values (exactly equal to threshold)

Common issues

  • Check data types match (string vs number)
  • Verify variable paths are correct
  • Log the actual values being compared
  • Check case sensitivity setting
  • Trim whitespace from values
  • Verify encoding matches
  • Ensure values are numbers, not strings
  • Check for null/undefined values
  • Verify number format (decimals, etc.)
  • Verify AND/OR logic is correct
  • Check each condition individually
  • Ensure all values are accessible