If/Else
Evaluates field <operator> value and routes execution to one of two outgoing handles:
- Yes (
true) — the condition was true. - No (
false) — the condition was false.
Only one branch executes; the other is skipped entirely.
When to use
- Gate a side-effect on a business rule ("If amount > $1000, send to manager approval, otherwise auto-approve").
- Pick one of two follow-up paths.
- Any classic "if-then-else" split.
If you have more than two outcomes, use Switch instead.
Configuration
| Field | Required | What it does |
|---|---|---|
field | Yes | The value to evaluate. Supports {{...}} refs. |
operator | Yes | Comparison operator (see below). |
value | — | The value to compare against. Required for all operators except exists. Supports {{...}} refs. |
Available operators
| Operator | Meaning | Example |
|---|---|---|
eq | Equals | {{trigger.data.country}} eq "US" |
neq | Not equals | {{trigger.data.status}} neq "cancelled" |
gt | Greater than | {{trigger.data.amount}} gt 1000 |
lt | Less than | {{trigger.data.age}} lt 18 |
gte | Greater than or equal | {{trigger.data.score}} gte 80 |
lte | Less than or equal | {{trigger.data.retries}} lte 3 |
contains | Substring/element match | {{trigger.data.tags}} contains "vip" |
exists | Field is present and non-null | {{trigger.data.refund_id}} exists |
Numeric operators automatically coerce numeric strings (so {{trigger.data.amount}} working with "99.99" and 99.99 both compare correctly).
What it outputs
Nothing is written to the context — this is a routing node, not a data node.
Gotchas
- Empty string vs missing field:
eq ""matches an empty string,existsis false for both missing and null. Pick the right one for your check. - Case-sensitive string comparisons:
eq "US"does not match"us". Normalize casing upstream (with Transform) if needed.