Skip to main content

If

Routes items to different outputs based on conditions.

Overview​

The If node evaluates conditions for each item and routes it to either the true or false output. Use it to:

  • Branch workflow logic based on data
  • Handle different cases differently
  • Create conditional processing paths

Parameters​

ParameterDescriptionRequired
ConditionsList of conditions to evaluateYes
Combine OperationHow to combine multiple conditionsYes
Convert TypesAuto-convert values before comparisonNo
Ignore CaseCase-insensitive string comparisonsNo

Conditions​

Each condition specifies:

PropertyDescription
Field 1Left side of comparison (supports expressions)
OperationComparison operator
Field 2Right side of comparison (for binary operations)

Comparison Operations​

OperationDescriptionNeeds Field 2
EqualsValues are equalYes
Not EqualsValues are differentYes
Greater ThanField 1 > Field 2Yes
Greater Than or EqualField 1 >= Field 2Yes
Less ThanField 1 < Field 2Yes
Less Than or EqualField 1 <= Field 2Yes
ContainsField 1 contains Field 2 (strings)Yes
Not ContainsField 1 doesn't contain Field 2Yes
Starts WithField 1 starts with Field 2Yes
Ends WithField 1 ends with Field 2Yes
RegexField 1 matches regex patternYes
Is SetValue exists (not null/undefined)No
Is Not SetValue is null/undefinedNo
Is EmptyValue is empty (string, array, object)No
Is Not EmptyValue is not emptyNo

Combine Operation​

OptionBehavior
ANDAll conditions must be true
ORAt least one condition must be true

Outputs​

OutputItems Routed
trueItems where conditions evaluated to true
falseItems where conditions evaluated to false

Examples​

Simple Status Check​

Route by status:

  • Condition: {{\$item.data.status}} Equals active
[Input] → [If: status = active] → true: [Process Active]
→ false: [Process Inactive]

Numeric Comparison​

Route high-value orders:

  • Condition: {{\$item.data.amount}} Greater Than 1000

Multiple Conditions (AND)​

Route items meeting all criteria:

  • Combine: AND
  • Condition 1: {{\$item.data.status}} Equals approved
  • Condition 2: {{\$item.data.amount}} Greater Than 0

Multiple Conditions (OR)​

Route items meeting any criteria:

  • Combine: OR
  • Condition 1: {{\$item.data.priority}} Equals high
  • Condition 2: {{\$item.data.urgent}} Equals true

Check if Field Exists​

  • Condition: {{\$item.data.email}} Is Set

String Contains​

  • Condition: {{\$item.data.description}} Contains urgent
  • Ignore Case: enabled

Regex Match​

Validate email format:

  • Condition: {{\$item.data.email}} Regex ^[^@]+@[^@]+\.[^@]+$

Tips​

  • Each item goes to exactly one output (true or false)
  • Use expressions in Field 1 for dynamic comparisons
  • Enable "Convert Types" to compare numbers stored as strings
  • Enable "Ignore Case" for case-insensitive string comparisons
  • Connect both outputs to handle all items
  • Unconnected outputs discard items silently