Small BusinessIndependent InvestorTrade BusinessAccountingFinanceLegalMarketingOperationsSalesReal EstateTemplatesPricingDocs
Get started

Step Guide: For Each

Flow Control

Process each item in a list individually

Overview

The For Each step takes a list from a previous step and processes each item individually in parallel. It's the entry point of a loop that always ends with a Collect step.

When to Use

  • Process each row from a CSV or Google Sheets import individually
  • Run AI analysis on each item in a list
  • Send personalized emails to a list of recipients
  • Look up property or financial data for each item in a batch

How It Works

The step takes the first list from its input (typically the output of a CSV Import, Google Sheets Read, Filter, or other list-producing step) and creates one parallel iteration for each item. Each iteration has access to one item from the list. All steps between For Each and its paired Collect step are the "loop body" and execute once per item. If the list is empty, For Each skips the body entirely and advances past the Collect step. The failure handling setting controls whether a failed iteration fails the entire run (Fail) or is skipped (Skip, the default).

Tips
  • Use the SKIP failure mode to continue processing even if some iterations fail
  • Maximum list size is 5,000 items

Frequently Asked Questions

What's the maximum number of items For Each can process?
5,000 items per loop. For larger datasets, split the data into batches and process them across multiple runs.
Do iterations run in parallel?
Yes. All iterations run in parallel by default, which speeds up processing significantly compared to sequential execution.
What happens if one iteration fails?
By default (Skip mode), failed iterations are excluded from the Collect output and the loop continues. Switch to Fail mode if you want any failure to stop the entire workflow.