See it happen
Section titled “See it happen”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.
| # | url | source |
|---|---|---|
| 0 | https://news.example/a/1 | news |
| 1 | https://news.example/a/2 | news |
| 2 | https://news.example/a/3 | news |
What an item looks like
Section titled “What an item looks like”An item is a JSON object with named fields:
{ "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.
[ { "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 itslinksfield. 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.
How many times does a step run?
Section titled “How many times does a step run?”| 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).
When you do want to repeat work yourself
Section titled “When you do want to repeat work yourself”Running once per item covers most jobs. Build a loop only when the repeat depends on a condition, a batch size or a deadline.
- Loop Repeat steps while a condition holds. Example Click Next until the last page.
- Split in Batches Work through a long list a few items at a time. Example 500 rows, 20 at a time, to respect a rate limit.
- Poll Until Check a URL again and again until it's ready. Example Every 5 minutes until an export finishes.
You’ll notice this when…
Section titled “You’ll notice this when…”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.