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