# Filter

> Keep only the entries of a list that match your conditions.

Keeps only the entries in a collection that match your conditions.

## Configuration

| Field | Required | Description |
|---|---|---|
| **Input** | Yes | The collection (array) to filter. Reference as `$vars.<nodeName>.output`. |
| **Conditions** | Yes | One or more conditions. An entry is kept only if all conditions are met. |

## Example

Keep only orders with a `status` of `"completed"`:

- Input: `$vars.fetchOrders1.output.body`
- Condition: `status` equals `completed`

Output available as `$vars.filter1.output`.

The condition value is a literal. It doesn't resolve `$vars` references or expressions. To filter against a value computed at run time, such as a dynamic threshold, use a [Script](node-script.md) node.

## Common issues

| Issue | Resolution |
|---|---|
| Output is empty | The conditions don't match any entries. Inspect the input list in the execution trace to check the field names and values. |

## Next steps

- [Transform](node-transform.md): chain several operations in one node.
- [Script](node-script.md): custom logic when no data operation fits.
