Skip to main content

I would like to create a Zap that cyles through each row of a Google Sheet… slowly. For example, I create a sheet with 1000 rows of data and it would do some action to each of those rows, but with, say 20 minutes between each, and only during the hours of 9am-6pm CST.

The practical purpose is to do something like send one text message to a list of people every 10 minutes, instead of all at once, so that we don’t have to copy/paste data in a sheet every time we want a new batch sent.

I see the Schedule by Zapire app, but I can’t quite figure how to refer to “the top-most row that has not already had a Zap run on it” to determine which row to proceed with after a delay.

@zprusr have you used a delay after queue step before? This (specifically a delay after a queue step) could be exactly what you are looking for, I would set it up like this:

  1. Trigger: New row in Google Sheet
  2. Delay after Queue step set to 20 minutes
  3. Send SMS or whatever action you want to take on that row from google sheets.

The delay after queue will ensure that the zap task run for a certain row will wait x number of minutes from when the zap last completed on the previous row. This will induce a 20-minute delay on the first run/row, but also will then space out the processing of each row after that by 20 minutes in between.