core.split_out

Split Out (core.split_out)

Explode a list field into one item per element — the node that turns an API response like {"results": [...]} into a stream of individual items the rest of the workflow can filter, route, and map.

Parameters

ParameterTypeDefaultDescription
fielddot-path""Where the list lives, e.g. data.items. Expression-capable.
destination_fieldstring""Key each element lands under. Empty: object elements become the item's json; scalars land under the path's last segment.
include_other_fieldsbooleanfalseCarry the source item's other top-level keys onto every split item.

Behavior

field   results
input   {"results": [{"id": 1}, {"id": 2}], "page": 1}
output  {"id": 1}   {"id": 2}

With include_other_fields on, page: 1 rides along on both output items. Scalar elements get a key:

field   tags
input   {"tags": ["a", "b"]}
output  {"tags": "a"}   {"tags": "b"}

Every split item keeps a paired_item pointing at its source item and a copy of the source's binary attachments — a 3-element list from one item with a file yields 3 items that all reference that file.

Non-list values pass through as a single item; a missing field yields nothing for that item (the other items still split normally).

Quirks & tips

  • A blank field silently drops everything. An unconfigured Split Out emits zero items and no error — if a run goes mysteriously quiet, check this node's field first.
  • An empty list also yields nothing — correct, but worth remembering when counting outputs.
  • include_other_fields excludes the whole top-level key of the path. Splitting data.items carries batch, page, … but not data.meta — everything under data is considered consumed.
  • Element keys beat carried keys. If an element and the source item both have tag, the element's value wins.
  • A list inside the list stays a list ({"rows": [1, 2]}) — Split Out goes one level deep. Chain two Split Outs to flatten deeper.
  • null elements become items with a null value, they're not skipped.

Related

  • Extract From File — already emits row items for CSV/XLSX/JSON arrays; you rarely need Split Out behind it.
  • Loop Over Items — process the exploded stream in batches.
  • Set — reshape the split items afterward.