Skip to content

Combine

The Combine node merges up to 5 independent data inputs into a single associative object. Each input is stored under a named variable that downstream nodes can access.

Configuration

PropertyTypeDefaultDescription
var1stringx1Variable name for input port 1.
var2stringx2Variable name for input port 2.
var3stringx3Variable name for input port 3.
var4stringx4Variable name for input port 4.
var5stringx5Variable name for input port 5.

Input Ports

The Combine node has 5 named input ports: in1, in2, in3, in4, in5. Each port accepts data from a separate upstream node. You do not need to use all ports -- only connect the ones you need.

If only one connection uses the default input port (instead of a named port), it is treated as in1.

Output

Returns a single associative object (not an array of rows) with each input stored under its variable name:

json
{
  "products": [
    { "id": 1, "name": "Widget A" },
    { "id": 2, "name": "Widget B" }
  ],
  "categories": [
    { "id": 1, "name": "Electronics" },
    { "id": 2, "name": "Home" }
  ]
}

How It Works

  1. For each input port (in1 through in5), the node checks if data was provided.
  2. Each input's data is stored under the corresponding variable name.
  3. The result is returned as a flat associative array (not nested in a list).

Downstream nodes access the combined data using expressions:

  • { {input.products}} -- the full products array
  • { {input.products.0.name}} -- the first product's name
  • { {input.categories}} -- the full categories array

Example Use Cases

Dashboard with multiple data sources

Table Query (orders)     --> Combine (var1: "orders")
Table Query (customers)  --> Combine (var2: "customers")
Table Query (products)   --> Combine (var3: "products")

Output: { "orders": [...], "customers": [...], "products": [...] }

Products with category lookup

Table Query (products)   --> Combine (var1: "products")
Table Query (categories) --> Combine (var2: "categories")
                                |
                            Mapping (row.products)

The Mapping node can then extract one of the combined datasets for further processing.

Combine form context with lookup data for a submission pipeline:

Context (form values)     --> Combine (var1: "form")
Current User              --> Combine (var2: "user")
                                 |
                             Set Field (fieldName: "author_id", expression: "row.user.id")

TIP

The Combine node is the only way to bring multiple independent data streams together in a single pipeline. Use descriptive variable names (like orders instead of x1) for clarity.