Skip to main content

Hello Zapier Community,

I’m currently running a Zap that is intended to send personalized emails to a list of business contacts, but I’m noticing that my tasks are getting used up very quickly, causing my task limit (1,500 tasks/month plan) to be exhausted before the end of the month.

Here’s a breakdown of my automation setup:

Goal:

The objective of the Zap is to send a customized email to each contact listed in a Google Sheet, using Microsoft Outlook. Once the email is sent, the Google Sheet is updated to mark that specific contact as "Sent" to avoid sending multiple emails to the same contact.

Automation Setup:

  1. Trigger: Schedule by Zapier – The Zap runs every 15 minutes to check for new contacts.

  2. Action: Google Sheets - Lookup Spreadsheet Rows (Advanced) – It retrieves up to 5 rows where the status column is empty (no email sent yet).

  3. Action: Looping by Zapier – Creates a loop to handle each contact individually.

  4. Action: Filter by Zapier – Ensures that only rows with a blank status proceed.

  5. Action: Delay by Zapier – A 30-second delay to avoid rapid email sends and potential Outlook flags.

  6. Action: Microsoft Outlook - Send Email – Sends the email with a personalized message.

  7. Action: Google Sheets - Update Row – Updates the status column to "Sent" after each email is successfully delivered.

📍 Problem:

  • The Zap is using too many tasks, possibly because each step within the loop is consuming tasks individually. For example, if 5 rows are processed, the number of tasks used is significantly higher than expected.

  • Additionally, the delay step and the update row step may also be contributing to higher task consumption than necessary.

❓ Questions for the Community:

  • Are there any recommendations to optimize the current Zap structure to reduce task usage while maintaining the current logic?

  • Would consolidating certain steps or using other apps/extensions help to lower task consumption?

  • Should I consider using a different looping or batch processing method to minimize task usage?

Any suggestions or best practices would be greatly appreciated.
Thank you in advance for your assistance!

Best regards,
Giorgos --Details removed by moderator--

This post has been edited by a moderator to remove personally identifiable information (PII). Please remember that this is a public forum and avoid sharing sensitive details.

Welcome to the Community, ​@twodotswebstudio🎉

The Looping, Filter and Delay actions themselves would not could towards your task usage. How often are new contacts being added to the spreadsheet? And why is it pulling only 5 rows each time instead of all the rows that have the status column empty?

That said, I think you could simplify the Zap to use less tasks if you switched to the New or Updated Spreadsheet Row trigger. If you used that trigger you could have the Zap set up like so:

  • Trigger: New or Updated Spreadsheet Row (Google Sheets)
  • Action: Only continue if... (Filter by Zapier)
  • Action: Send Email (Microsoft Outlook)
  • Action: Updated Spreadsheet Row (Google Sheets)

This would ensure that the Zap runs when a new record is added (with the status column empty) the Zap then sends out the email and updates the status column to mark that the email has been sent. With this set up for every new row added to the spreadsheet the Zap would use 2 tasks.

If you’re adding new rows to the spreadsheet in bulk though then you’ll want to use a Delay After Queue (Delay by Zapier) action ahead of the Send Email action to help space out each email.

Hope that helps to point you in the right direction. Keep us posted on how it goes—happy to help if you have any other questions! 🙂


​Hey there, ​@twodotswebstudio 👋 

Just checking in—did my suggestion help to get you pointed in the right direction?

Let us know how it’s going, want to make sure you’re all set!