Add a Looping by Zapier step to your Zap to run an action multiple times—once for each value in a list. Learn more about how looping works.
Available on plans:
Free
Professional
Team
Enterprise
This feature is in open beta release. It's available for use but is still in active development and may change.
Create a loop
You can create a loop from text, line items, or numbers.
Create a loop from text
To create a loop from single values, or single values and text:
- Click the Action step, or click the plus + icon to add a step to your Zap.
- Search for and select Looping by Zapier.
- Click the Event dropdown menu and select Create Loop From Text.
- Click Continue.
- In the Values to Loop section, add your values to loop:
- In the field on the left, enter the name of the value.
- In the field on the right, click the field and select the values you want to loop through, separated by a text delimiter.
- In the Text Delimiter field, enter the symbol or text that separates each value in your list. If nothing is entered, the Zap uses a comma by default. You can use special characters as delimiters.
- Click Continue.
- Click Test step. If the looping step is successful, your field name appears followed by the first loop value for that field. A preview of other loop values is also shown.

In this example, use the "emails" value in the next steps of your Zap.
By default, commas are used as the text delimiter.
Create a loop from line items
To create a loop from line items:
- Click the Action step, or click the plus + icon to add a step to your Zap.
- Search for and select Looping by Zapier.
- Click the Event dropdown menu and select Create Loop From Line Items.
- Click Continue.
- In the Values to Loop section, add your values to loop:
- In the field on the left, enter the name of the value.
- In the field on the right, click the field and select a field with the line item values you want to loop through.
- Click Continue.
- Click Test step. If the looping step is successful, your field name appears followed by the first loop value for that field. A preview of other loop values is also shown.
You can add additional line item values to run multiple line items in the same loop. For example, if you need to add line items for price, quantity, and description to an invoice, you can add each line item value in the Create Loop step.
Create a loop from numbers
To create a specific number of loop iterations from a range of numeric values:
- Click the Action step, or click the plus + icon to add a step to your Zap.
- Search for and select Looping by Zapier.
- Click the Event dropdown menu and select Create Loop From Numbers.
- Click Continue.
- In the Loop Iteration Counter Start field, enter the numeric value that you want your first loop iteration to start on.
- In the Loop Iteration Counter End field, enter the numeric value for the loop iteration you want to end with.
- Click Continue.
- Click Test step. If the looping step is successful, the first number in your count appears. A preview of other loop iteration numbers that would be created in a live Zap is also shown.
Stop a loop from running in subsequent action steps
All actions after the looping step run for each iteration of the loop. If you do not want an action step to loop:
- After the last step you want to loop, add a filter step.
- Set the filter to only continue if the value loop_iteration_is_last matches the (Boolean) Is True condition.
The filter runs in every loop but only passes in the last loop. Any action step after the filter runs once in the last loop and uses only 1 task.
If you want an action step to only run once, add it before the looping step, if possible. This uses less tasks and the filter step is not needed.
Troubleshooting
When you test a loop action, the Zap only creates the first loop. It does not create any other loops during the test.
When the Zap runs live, all loops run and appear in your Zap history.
When you test a loop action, the test output includes a preview_loop_values field that shows all your loop values combined together. This field is for preview purposes only—it helps you verify your loop is set up correctly by displaying all the values that will run in each loop iteration.
Do not map preview_loop_values to fields in subsequent steps. This field is not available when your Zap runs live, which means your Zap will fail or produce unexpected results.
Common symptoms if you accidentally use preview_loop_values:
- All data appears in a single row instead of creating multiple rows
- Your Zap creates duplicate or concatenated data
- Fields appear empty when the Zap runs live
What to use instead: Map the individual field names you defined in your loop configuration. For example, if you named your loop value "emails", use the emails field from your loop step—not preview_loop_values.

Each loop iteration results in a separate Zap run.