Loop Actions
Actions in the Flow Control → Loop sub-group. Actions nested under a loop run once per iteration.
Repeat for each item in
Iterates over a collection — the rows of a loaded CSV, the messages returned by Read Emails, a list built in Python.

| Parameter | Description |
|---|---|
| Collection Of Items variable | Variable holding the list to iterate over. |
| Current Item variable | Name of the variable that holds the item being processed. Default item. |
Settings → General → Auto Load Cycle Iterable controls whether the Editor loads the
collection while you are building the loop, so the Variables panel can show you the
real shape of item — Ask, Always or Never.
Repeat x times
Runs the nested actions a fixed number of times.

| Parameter | Description |
|---|---|
| Times | How many iterations to run. Accepts a number or a variable. Default 1. |
| Iterator variable | Variable holding the current iteration number. Default i. |
Repeat until
Repeats while a condition holds.

| Parameter | Description |
|---|---|
| Condition | Logical expression evaluated each iteration; the loop ends when it becomes false. |
| Repeat type | Repeat until evaluates the condition before the first iteration, so the body may never run. Repeat until (at least once) runs the body once and then evaluates — the do-while form. |
Stop the loop
Exits the innermost loop immediately. No parameters.
Skip to the next iteration
Skips the rest of the current iteration and continues with the next one. No parameters.
When something fails inside a loop
Since 0.24.0 the first failure inside a loop ends the loop and the run finishes with a Failed status. Clean-up blocks marked Run Always still complete, and exported Python scripts behave the same way.
Before 0.24.0 a failed step skipped the steps that update the loop's condition, so the loop spun forever: the log stopped mid-loop and an overnight job was still "running" the next morning.
An Exit action with Exit type: Soft also ends the enclosing loop — see Exit.
Repeat until can still spin forever if the condition never flips and nothing fails — for example when the action that was supposed to advance the page succeeded but changed nothing. Guard every conditional loop:
- add a counter with Repeat x times as the outer bound, or
- add a Condition + Stop the loop on an iteration limit, or
- make the condition depend on something the screen actually shows, checked with Wait For.