Skip to main content

Filter

Keeps only items that match specified conditions.

Overview​

The Filter node evaluates conditions and passes through only matching items. Non-matching items are discarded. Use it to:

  • Remove unwanted data
  • Select specific records
  • Narrow down results

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​

Same condition structure as the If node:

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

Comparison Operations​

OperationDescription
EqualsValues are equal
Not EqualsValues are different
Greater ThanField 1 > Field 2
Greater Than or EqualField 1 >= Field 2
Less ThanField 1 < Field 2
Less Than or EqualField 1 <= Field 2
ContainsString contains substring
Not ContainsString doesn't contain substring
Starts WithString starts with value
Ends WithString ends with value
RegexMatches regex pattern
Is SetValue exists
Is Not SetValue is null/undefined
Is EmptyValue is empty
Is Not EmptyValue is not empty

Combine Operation​

OptionBehavior
ANDAll conditions must match
ORAt least one condition must match

Output​

Only matching items pass through. Non-matching items are discarded (not sent to an error output).

Input:

[
{ "name": "Alice", "status": "active" },
{ "name": "Bob", "status": "inactive" },
{ "name": "Carol", "status": "active" }
]

Condition: status Equals active

Output:

[
{ "name": "Alice", "status": "active" },
{ "name": "Carol", "status": "active" }
]

Examples​

Filter by Status​

Keep only active records:

  • Condition: {{\$item.data.status}} Equals active

Filter by Amount​

Keep high-value orders:

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

Filter Non-Empty​

Keep items with email addresses:

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

Multiple Criteria (AND)​

Keep active, high-value customers:

  • Combine: AND
  • Condition 1: {{\$item.data.status}} Equals active
  • Condition 2: {{\$item.data.totalSpent}} Greater Than 1000

Multiple Criteria (OR)​

Keep priority items:

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

Exclude Records​

Keep all except deleted:

  • Condition: {{\$item.data.deleted}} Not Equals true

Pattern Matching​

Keep .com email addresses:

  • Condition: {{\$item.data.email}} Ends With .com
  • Ignore Case: enabled

Filter vs If​

Use Filter when...Use If when...
You only need matching itemsYou need to process both matches and non-matches
Non-matches should be discardedNon-matches need different processing
Simple keep/discard logicBranching workflow logic

Tips​

  • Filter is simpler than If when you don't need the false output
  • Non-matching items are completely discarded
  • Use "Convert Types" for numeric comparisons on string fields
  • Enable "Ignore Case" for case-insensitive text matching
  • Chain multiple Filter nodes for complex logic
  • If no items match, downstream nodes receive no input