Skip to content
FlowWP logo
Menu

Delays, loops and repeats

Wait before continuing, repeat steps for every item in a list, or run them a set number of times.

Updated

These steps change when and how often the rest of a workflow runs. All four are in the Logic group and need the Personal plan or above.

Delay

Waits for a period of time before continuing: a number of seconds, minutes, hours or days. Use it for follow-ups — a check-in three days after a first order, a reminder an hour before a deadline.

  • Nobody waits on it. The run is suspended and handed to Action Scheduler, so no request is held open and visitors never wait. The run shows as Waiting in the run history.
  • The deadline is kept exactly. The time to continue is stored with the run. If the background queue wakes the run early, it works out the time left and waits again.
  • Check again after waiting. Things change during a delay. Put a condition after it — is the order still unpaid? — before acting.
A Delay step named Wait three days, set to wait 3 days, between a filter and an email on the canvas.
A Delay step waiting three days before a follow-up email.

For each

Repeats the steps connected to it for every item in a list — each row of a file, each product in an order — then continues from its Done output.

Setting What it does
Items The list to repeat for, usually data from an earlier step such as the rows from Parse a file. Text is split into lines, or on commas.
Run the items At the same time (faster) or one after another, in order.
If an item fails Carry on to Done and list the failures, or fail this step once every item has run.

Inside the loop, {{ loop.item }} is the current item.

Repeat

Runs the connected steps a set number of times — send three reminders, create five coupons — then continues. How many times is a whole number from 1 to 500, or a token holding one; {{ loop.item }} is the number of the current run. It has the same Run the items and If an item fails settings as For each.

Long workflows

A run never depends on one request surviving to the end. Each pass executes a bounded number of steps, then hands the rest back to the queue, so a long workflow with loops finishes in the background.