Skip to content

Conditional

A Conditional node is a gate. When its conditions hold, every edge out of it fires and the run continues. When they don’t, no edge fires, and every step that only it leads to is skipped. The run itself still finishes normally.

To send a run one way or another instead, use a Decision.

Under Conditions, each row compares two values:

  1. A left value, such as {{ trigger.amount }}.
  2. A comparison.
  3. A right value, such as 500.

Press Add condition for another row, and pick and or or between two rows. Remove a row with its × button. A Conditional with no rows lets every run through.

Both values are templates. Type {{ to insert a variable, or type a fixed value.

Comparison How it compares
is equal to, is not equal to As numbers when both sides are numbers, otherwise as exact, case-sensitive text
contains, does not contain Whether the right value appears in the left one, case-sensitive
is greater than, is less than As numbers
is greater than or equal to As numbers
is less than or equal to As numbers
is before, is after As dates, such as 2026-10-11 or a full ISO 8601 time

In the four number comparisons, an empty value counts as 0, and text that isn’t a number makes the comparison false. A date comparison with text that isn’t a date is false. Equal as numbers means 750 equals 750.0.

Rows are combined from top to bottom, each with the joiner below it. There is no grouping: A and B or C means (A and B) or C. To test something like A and (B or C), use two Conditional nodes in a row, one for A and one for B or C.

Field What it holds
result Whether the conditions held

The text the Conditional passes on is the text it received, so the next step’s {{ input }} is the same as the Conditional’s. {{ input.<field> }} after a Conditional reads its own result, so read an earlier step’s fields as {{ nodes.<id>.<field> }}.

The Order router template gates on a valid amount before routing:

Left value Comparison Right value
{{trigger.amount}} is greater than 0

A payload of {"amount": 750} continues. A payload of {"amount": 0} stops there, and the rest of the workflow is skipped.