Skip to content

Runs a target workflow once per row of a dataset, setting each row’s column values as project variables before each iteration. Use this when you have a parameterized process that needs to run multiple times with different inputs — for example, “run the monthly close for every business unit in this table,” or “load this report for every quarter listed.”

Each loop iteration sees the variables as if they had been set manually, so the called workflow can reference them in expressions, filters, file paths, and table names using the standard \{variable_name} syntax. The loop is sequential by default; iterations don’t run in parallel.

dataset Q1 Q2 Q3 quarter = Q1 pass 1 quarter = Q2 pass 2 quarter = Q3 pass 3 sequential — one pass at a time, not in parallel
Each row's columns become project variables, then the target workflow runs — one pass per row, in sequence. For isolated parallel fan-out instead, use a Macro.

First, select the Project which contains the workflow that will be run on each loop from the Project dropdown menu.

Next, select the particular workflow for running from the Workflow dropdown menu.

By default, the loop stops at the first iteration whose workflow fails, and the step fails. Under Error Handling, select Continue Past a Failed Iteration to run every iteration even when one fails. Each failure is kept in Loop Run Status, along with each iteration’s outcome, and the step finishes with a warning that says how many iterations failed. Cleared, the loop stops at the first failure.

Examples coming soon