Configuration
1
Input
An expression that resolves to a JSON array — for example,
{{Steps.API_Call.Output.Body.data.orders}}.2
Logical operator
AND (default) — an item must match every condition to be kept.
OR — an item is kept if it matches at least one condition.
3
Conditions
One or more rules to evaluate against each item. Each condition has:
- Field path — dot-notation path to the field (e.g.,
status,address.city). Leave empty to filter by the item value itself (useful for arrays of strings or numbers). - Operator — the comparison to apply.
- Value — the value to compare against. Supports expressions like
{{Variables.threshold}}. Not required for existence and emptiness operators. - Case sensitive — toggle for string comparisons (off by default).
Operators
Value operators
These require a comparison value.Existence operators
These do not require a value — they check the field itself.Field paths
Use dot notation to reach nested fields:If a field path does not exist on an item, the condition evaluates to
false for most operators. The exception is Not Exists, which returns true for missing fields.Type coercion
The Filter step applies smart comparison:- Numeric fields — if both the field value and the condition value parse as numbers, a numeric comparison is used. This means
"10"is correctly treated as less than"9"in numeric mode, unlike string comparison. - Boolean fields —
true/falsevalues are compared as booleans. - String fallback — if neither numeric nor boolean applies, string comparison is used with the case sensitivity toggle.
Output
The step returns a JSON array containing only the items that passed your conditions. The original order is preserved.[].
Use case: extract overdue invoices from an API
A finance agent fetches all invoices from an accounting API and needs to isolate the ones that are overdue and above a minimum amount before passing them to a model for follow-up email drafting. Agent flow:
Conditions:
What happens at runtime:
Given this input:
- INV-002 is excluded: status is
paid(fails condition 1) - INV-003 is excluded: amount is 300, below the 500 threshold (fails condition 2)
- INV-004 is excluded:
contact.emailis empty (fails condition 3)
