# Compare datasets - Workflow node | Docs - nodulz

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

Language: en

Compare two lists by key and identify matching, changed or missing items

## Usage and specifics

Supply both datasets and comparison keys. Choose compared fields and inspect differences before any synchronization that writes to a remote system.

Technical type : `compare_datasets`. 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 |
| --- | --- | --- | --- |
| `sourceA` | `string` | `"{{input.a}}"` | -; min 1 |
| `sourceB` | `string` | `"{{input.b}}"` | -; min 1 |
| `keyField` | `string` | `"id"` | - |
| `compareFields` | `array` | `[]` | - |

## Configuration help

| Setting | Purpose and guidance |
| --- | --- |
| `compareFields`<br>Compare fields | Comma-separated fields used to detect duplicates. |
| `sourceA`<br>List A | Expression resolving to an array, or an output containing an items or body array. |
| `sourceB`<br>List B | Expression resolving to an array, or an output containing an items or body array. |
| `keyField`<br>Key field | Shared field in both lists (e.g. id or customer.email). String, number or boolean key; leave empty for lists of primitive values. Missing or null keys remain unmatched. Duplicate keys are paired in their original order. |
| `compareFields`<br>Compare fields | Comma-separated fields, including nested paths. Empty: compare all fields, ignoring property order. Types and array order matter. |
| `keyField`<br>Key field | Field used to match items across multiple inputs. |

## Initial configuration

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

```json
{
  "sourceA": "{{input.a}}",
  "sourceB": "{{input.b}}",
  "keyField": "id",
  "compareFields": []
}
```

## Verification

Test with representative data. Check node output in the inspector and logs, then use editor mapping for downstream fields. A trigger test with a simulated payload does not validate external service delivery.

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)
