Merge Lists
Merge multiple lists into a single flat list
What does this node do?
The Merge Lists node combines multiple lists into a single flat list. It takes two or more arrays and concatenates them into one unified output.
Common uses:
- Combine results from parallel API calls
- Merge data from multiple Notion databases
- Flatten nested list structures
- Aggregate items from different workflow branches
Quick setup
Add the Merge Lists node
Find it in Tools → Merge Lists
Choose your input mode
Toggle Multiple Inputs on for separate handles, or off for a single JSON array of arrays
Connect your lists
Wire your source nodes to the list inputs
Connect the output
Use {{MergeLists_0.merged_list}} in downstream nodes
Configuration
Single input mode
lists json required A JSON array of arrays to merge.
Example:
[
["apple", "banana"],
["cherry", "date"],
["elderberry"]
] Multi-input mode
Enable the Multiple Inputs toggle to get separate input handles.
list_count number default: 2 Number of list inputs (2-10).
Each input appears as a separate handle: list_1, list_2, etc.
list_1 json required First list to merge.
list_2 json required Second list to merge.
Up to 10 list inputs are available when using multi-input mode. Increase the Number of Lists setting to add more handles.
Output
A single flat array containing all items from all input lists, in order:
{
"merged_list": ["apple", "banana", "cherry", "date", "elderberry"]
}
Access the result: {{MergeLists_0.merged_list}}
Examples
Merge keyword lists from Semrush and Majestic
Goal: Combine keyword data from two SEO tools into a single list for analysis.
graph LR
A[Semrush Keywords] --> C[Merge Lists]
B[Majestic Keywords] --> C
C --> D[LLM Analysis]
Configuration:
- Multiple Inputs: On
- Number of Lists: 2
list_1:{{Semrush_0.keywords}}list_2:{{Majestic_0.keywords}}
Result: A unified keyword list ready for deduplication or scoring.
Combine results from a Loop
Goal: Merge paginated API results collected in a loop.
graph LR
A[Loop over pages] --> B[HTTP Request]
B --> C[Collect Results]
C --> D[Merge Lists]
D --> E[BigQuery Write]
Configuration:
- Single input mode
lists:{{Loop_0.results}}
Each loop iteration returns an array of records. Merge Lists flattens them into one list.
Merge data from multiple Google Sheets
Goal: Combine rows from three different spreadsheets.
graph LR
A[Sheet - US] --> D[Merge Lists]
B[Sheet - EU] --> D
C[Sheet - APAC] --> D
D --> E[Process All Rows]
Configuration:
- Multiple Inputs: On
- Number of Lists: 3
list_1:{{GoogleSheets_0.data}}list_2:{{GoogleSheets_1.data}}list_3:{{GoogleSheets_2.data}}
Best practices
Use multi-input mode for different sources
When merging lists from distinct nodes (e.g., two API calls, three spreadsheets), use multi-input mode. Each source connects to its own handle, making the workflow easier to read.
Use single input mode for dynamic lists
When the number of lists is not known in advance (e.g., loop results, a JSON array of arrays from an API), use single input mode. It accepts any array of arrays regardless of length.
Deduplicate after merging
Merge Lists does not remove duplicates. If your sources may contain overlapping items, add a Filter List or Code Block node after merging to deduplicate.
Common issues
Input is not a list
Each input must be a valid JSON array. If you’re passing a string, wrap it in brackets or use a Code Block to parse it first. Check that your source node outputs an array, not a single object.
Empty result
- Verify that the source nodes are producing output
- In multi-input mode, check that the connected handles match the configured Number of Lists
- In single input mode, ensure the input is an array of arrays, not a flat array
Order of items is unexpected
Items are merged in order: all items from list_1 first, then list_2, and so on. If you need a specific order, sort the result after merging using a Code Block node.