Skip to content
Agentic Workflowdocs
v0.8.2Install free

concepts / data

Items: how data moves

Every step receives items and passes items on. Most steps run once per item, which is why you rarely need a loop.

Get All Link returns one item that holds a list of URLs. Split Out turns that list into three items, so Edit Fields runs three times. Click a step to see what it output.

Example run: Get All Link, 1 item → Split Out, 3 items → Edit Fields, ran 3 times, 3 items. Illustration of a run. In the app, open a step after a run to see its output.

Output of Edit Fields
#urlsource
0https://news.example/a/1news
1https://news.example/a/2news
2https://news.example/a/3news
Illustration of a run. In the app, open a step after a run to see its output.

An item is a JSON object with named fields:

One item
{
"title": "Quarterly report",
"url": "https://example.com/report"
}

A step’s output is either one item or a list of items. A list can hold one item, many items, or none.

Two items
[
{ "title": "Page A", "url": "https://example.com/a" },
{ "title": "Page B", "url": "https://example.com/b" }
]

A list of items is not a list inside an item

Section titled “A list of items is not a list inside an item”

This is the difference that trips people up most:

  • [{ "url": "…/a" }, { "url": "…/b" }] is two items. The next step runs twice.
  • { "links": ["…/a", "…/b"] } is one item with a list in its links field. The next step runs once and sees the whole list.

Many page nodes, like Get All Link, return the second shape. Use Split Out to turn it into one item per entry, and Aggregate to go the other way.

The step receives… It runs…
One item Once
A list of N items N times, once per item. Each run sees one item as $input.
Lists from two connected steps Once for every combination: 2 items and 3 items give 6 runs.
Nothing, because a branch wasn’t taken Not at all. Steps on the untaken port of an IF or Switch are skipped.

Some nodes always work on the whole list at once and run a single time: Aggregate, Limit, Merge, Compare Datasets, Wait, Wait For Approval and Poll Until.

The run log shows the count too: Running node Edit Fields (2/3).

Running once per item covers most jobs. Build a loop only when the repeat depends on a condition, a batch size or a deadline.

A step sent 24 emails instead of 1

It received 24 items, so it ran 24 times. Put Aggregate in front of it to combine the items into one, then build a single message from the combined list. Limit set to 1 also works when you only need the first item.

A step ran once but you expected one run per link

The previous step output one item with a list inside it, not a list of items. Add Split Out on that list field.

A step ran 6 times with only 2 and 3 items coming in

It has two incoming connections that each carry a list, so it ran once for every combination. Join the two lists first with Merge, or make one side a single item with Aggregate.

The next step never ran

Nothing reached it on that path: every item went down the other port of an IF or Switch, or a Filter kept nothing. Open the output of the step before it to see where the items went.

Ask Aria