Go to Studio

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 ToolsMerge 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.

Info

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.