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