Skip to Content
BuildAction StepsLoops & IterationRepeater

Repeater

Repeater repeats a multi-Step loop body. Look a customer up, evaluate a rule, write the result back, and start the next pass. It runs once per item in a list, a fixed number of times, or until a rule is met.

At a glanceVerified in app · Oct 29, 2026
Use it to
Repeat a multi-Step loop body once per item (or batch), a fixed number of times, or until a rule is met
Find it
Tools → Flow → Repeater
Cost
Free for the Repeater Step itself (Steps inside the loop body use their normal rate per pass)
Limits
Up to 10,000 source items or passes (50 default safety limit in Until mode) · 1 to 10 concurrent passes
Output
{{ N.results }}, {{ N.items }}, {{ N.stats }} · Inside body: {{ item }} and {{ item.$index }}
Instead
Run for each item (when only a single Step needs to repeat over a list)
Multi-step loop bodyRepeater Circuit
  • Repeats a chain of several Steps connected from Each time and wired back into Repeater.
  • Supports list iteration, fixed pass counts, and Until-a-rule-is-met polling or paging.
  • Groups items into batches (Items per batch above 1) for bulk API endpoints.
Single repeating StepRun for Each Item
  • Repeats one Step (and any aligned followers) over a list without a loop-back wire.
  • Simpler canvas layout when a single action handles each item.
  • See Run for each item under Loops.

It is a circuit, not a block

Repeater has two outputs. Each time runs your loop body on every pass. When finished runs once after all passes complete. To repeat, the final Step of the body must connect back into the Repeater Step.

RepeaterEach timeLook upWrite rowback in — this is what starts the next passWhen finished — once, after every passSend summary

Check the Execution log after your first test run. Verify that Repeater and its body Steps appear once per pass. If only pre-loop Steps run, connect the final body Step back into Repeater to close the circuit.

Setting it up

Add Repeater and choose a mode

Open Tools → Flow → Repeater and select How to repeat:

  • Once per item in a list. Runs one pass per item (or batch) from List ({{ 3.result }}).
  • A fixed number of times. Runs a set count without a list. It repeats successful passes too (not a retry policy).
  • Until a rule is met. Runs sequential passes until the latest pass satisfies your rule.

Optional: Group items into batches

Items per batch defaults to 1. Increase it when a bulk endpoint accepts multiple records per call. Inside the body, {{ item }} (Current batch) then holds that slice as a list.

Wire the body and close the loop

Connect your first body Step to Each time and chain the remaining body Steps. Connect the last body Step back into Repeater. Connect post-loop Steps to When finished.

Referring to the current item

Inside the body, {{ item }} holds the current item and {{ item.field }} reads a property. Both position tokens sit under item (write {{ item.$index }}, never bare {{ $index }}):

ReferenceWhat it holds
{{ item }}Current item (or Current batch list when Items per batch > 1)
{{ item.$index }}Pass index (from 0): zero-based position of the current pass
{{ item.$total }}Planned passes in list/count mode; Pass number (1 on the first pass) in Until mode
{{ 2.userId }}Active item of outer Repeater Step 2 when Repeaters are nested ({{ item }} is innermost)
{{ 2.0.userId }}Static index 0 of Step 2’s output

Steps inside a Repeater body already run once per pass, so their own Each item setting is disabled. For a list inside a list, nest a second Repeater or flatten the inner lists with Code editor first. Combine joins two lists rather than flattening.

Stopping, Pacing & Pass Failures

ModeWhen it stopsPasses at onceDefault Safety Limit
Once per item in a listAfter every item or batch (up to 10,000 source items before batching).1 to 10 (default 1)10,000 passes
A fixed number of timesAfter the configured pass count finishes.1 to 10 (default 1)10,000 passes
Until a rule is metWhen a pass satisfies your rule (hitting the safety limit first fails the Step).Fixed at 150 passes
  • Until rule inputs. Test Current pass outputs, Pass number ({{ item.$total }}), Pass index (from 0) ({{ item.$index }}), or pre-loop outputs and workspace variables.
  • Rate limits and credits. Reduce Passes running at once or add a Wait Step in a sequential (1 at a time) loop if you hit 429 errors. Use Limit or Safety limit to bound Step Credits, Tokens & Storage.

What it passes on

After all passes finish, Repeater outputs a list in {{ N.results }} (reordered to match your input list):

ReferenceWhat it holds
{{ N.results }}Successful results only, in the order of your input list
{{ N.items }}Every item with its position, status and error
{{ N.stats }}total, succeeded, failed, skipped
{{ N.message }}Human-readable pass summary (for example, 3 passes: 3 succeeded.)

If collected outputs exceed the step payload ceiling, the Step fails after its passes run. Return only the fields you need per pass.

Examples to copy

How to repeat: Once per item in a list · List: {{ 2.ret.records }} · Items per batch: 1. Wire Each time to an email Step using {{ item.email }} and {{ item.name }}. Connect it back into Repeater. Set Passes running at once to 3 if rate limits allow.

Verify it works
Run
Connect the loop body from Each time and wire the final body Step back into Repeater, then click Run
You should see
The Execution log shows the body Steps running once per pass, and Repeater outputs { results, items, stats, message }.

What’s Next?

Last updated on

Search documentation

Start with a guide, or search by Step, task or error.