Skip to main content
Version: Next

Join

The other half of a fan-out. It gathers the messages an Array Iterator produced — or the results of parallel branches — back into one message carrying an array.

Type: join · Category: Transform · Ports: one input · one output

The Join node as it appears on the pipeline canvas.The Join node as it appears on the pipeline canvas.

When to use it

  • Recombining after an Array Iterator so a downstream step can act on the whole set
  • Batching many small results into one API call or one insert
  • Waiting for several independent branches to finish

Settings

SettingKeyDefaultPurpose
Modemodeautoauto pairs with an upstream Array Iterator.

Example — recombining after a fan-out

SQL (select rows) → Array Iterator → Python (enrich) → Join → REST API (egress, one batch)

Out

{ "payload": [ { "id": 1, "enriched": true },
{ "id": 2, "enriched": true },
{ "id": 3, "enriched": true } ] }

Gotchas

  • auto needs an Array Iterator to count from. When joining branches that were never split, configure the mode explicitly — there is nothing for it to infer.
  • A branch that ended early never arrives. A Python node returning None between the split and the join leaves the join waiting for an item that will never come.

See also