# Filter - Workflow node | Docs - nodulz

Source: https://nodulz.com/docs/nodes/filter

Language: en

Keep only items matching a condition

## Usage and specifics

Use Filter to remove items from a list before iterating or passing it to another step. Unlike an [IF](/docs/nodes/if), this node does not choose a branch: it produces a list in `items`.

For example, with manual input `{ "contacts": [{ "name": "Ada", "active": true }, { "name": "Lin", "active": false }] }`, set:

- Source: `input.contacts`.
- Field: `active`, read within each contact.
- Operator: `equals`; value: `true`.

Expected output:

```json
{
  "items": [{ "name": "Ada", "active": true }],
  "count": 1,
  "removed": 1,
  "combinator": "and"
}
```

With AND, an item must meet all conditions; with OR, one is enough. The field is an item-relative path such as `profile.active`, rather than an `input.contacts...` expression. To run an action per retained contact, use a loop with a source pointing to `nodes.filter1.items`. The [list walkthrough](/docs/working-with-lists) shows the complete chain.

Technical type : `filter`. Runtime : `nodulz`.

## Credentials and prerequisites

This node defines no dedicated external credential. Remote sources or execution targets may still need their own access credentials.

See the [credentials guide](/docs/credentials) if a remote source or execution target requires access.

## Parameters

Names below are technical keys. Defaults are not a ready-to-run configuration: complete fields required by your operation. Paths containing [] describe list items; some fields depend on the selected mode.

| Parameter | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `source` | `string` | `""` | - |
| `combinator` | `enum` | `"and"` | `and`, `or` |
| `conditions` | `array` | `[{"field":"","operator":"equals","value":""}]` | - |
| `conditions[].field` | `string` | `""` | - |
| `conditions[].operator` | `enum` | `"equals"` | `equals`, `not_equals`, `contains`, `not_contains`, `gt`, `gte`, `lt`, `lte`, `empty`, `not_empty` |
| `conditions[].value` | `string` | `""` | - |
| `field` | `string` | - | - |
| `operator` | `enum` | - | `equals`, `not_equals`, `contains`, `not_contains`, `gt`, `gte`, `lt`, `lte`, `empty`, `not_empty` |
| `value` | `string` | - | - |

## Initial configuration

Initial catalog configuration example, to adapt before running. Keep secrets in credentials.

```json
{
  "source": "",
  "combinator": "and",
  "conditions": [
    {
      "field": "",
      "operator": "equals",
      "value": ""
    }
  ]
}
```

## Verification

Test an active contact, an inactive contact and an empty list. Check `count` and `removed`, then the contents of `items`. If all items disappear, check the relative field and comparison value first. An empty list is a possible result, rather than a node failure.

See also : [Expressions and data](/docs/expressions), [Executions](/docs/executions), [Node catalog](/docs/nodes).

## Explore further

- [Features - nodulz](https://nodulz.com/product/overview)
- [Node catalog - nodulz](https://nodulz.com/product/catalog)
- [MCP server - nodulz](https://nodulz.com/product/mcp)
- [Pricing - nodulz](https://nodulz.com/pricing)
- [Use cases and workflow automation - nodulz](https://nodulz.com/use-cases)
- [Choose what your workflows can do. - nodulz](https://nodulz.com/compare)
- [Documentation - nodulz](https://nodulz.com/docs)
