Reference for how data moves between n8n nodes as JSON items.
All data in n8n flows between nodes as an array of items. Each item is a JSON object with a json property containing the actual data:
[
{
"json": {
"name": "Alice",
"email": "alice@example.com"
}
},
{
"json": {
"name": "Bob",
"email": "bob@example.com"
}
}
]
Items can also carry a binary property for file data (images, PDFs, CSVs).
When a node finishes executing, its output items are sent to every node connected to its output handle. Each downstream node processes the received items independently.
By default, an action node runs once per item it receives. A node that receives 5 items will execute its operation 5 times, producing up to 5 output items.
Note
Some nodes (like Code, Merge, and Summarize) receive all items at once and can output a different number of items than they received.
Use branching to route items down different paths based on conditions.
IF node -- evaluates a condition for each item and sends it to either the true or false output:
[IF] --true--> [Slack: Send Message]
--false-> [Email: Send]
Switch node -- evaluates a value and routes each item to one of up to four named outputs, plus a fallback output.
Tip
Every item must go somewhere. Use the fallback output on a Switch node to catch items that do not match any rule.
The Merge node combines data from two or more input branches. It supports several modes:
| Mode | Behavior |
|---|---|
| Append | Concatenates items from all inputs into a single list |
| Combine | Matches items by position or field value and merges their properties |
| Choose Branch | Waits for all inputs but only passes data from a selected branch |
Within a node's parameters or expressions, you can reference data from any previous node:
{{ $json.email }} // current item's field
{{ $('Node Name').item.json.email }} // specific upstream node's field
{{ $input.all() }} // all items from the immediate parent
Related tips: Data Transformation, Workflow Architecture
I build production n8n and Cloudflare automation for teams — the same engineering behind HarperFlow. Fixed-price, escrow-protected, US-based.