Send timezone-aware drip emails with Gmail and Google Sheets using daily limits

How it works

Three scheduled triggers fire on weekdays at region-appropriate working hours: EU/UK at 10:00 UTC, North America at 18:00 UTC, and Australia at 01:00 UTC All three feed one shared pipeline, so there is no duplicated logic across regions A code node detects the active region from the current UTC hour and picks a daily send limit (45 / 90 / 15 by default) Reads your contact list from Google Sheets, filters by country-to-region mapping, skips rows already marked sent, and caps at the daily limit Sends a personalised email via Gmail using expressions like {{ $json['First Name'] }} and {{ $json['Company'] }} Writes success or error status back to the same row (email_sent, sent_date, status, group_sent, error_msg) No Wait nodes, no long-running executions - timing is driven entirely by Cron schedules

Set up steps

Setup takes about 10-15 minutes Connect a Google Sheets OAuth2 credential with read + write access to your contacts sheet Connect a Gmail OAuth2 credential for the sending account Create a Google Sheet with these columns: First Name, Company, Email, Country, email_sent, sent_date, status, group_sent, error_msg In all three Google Sheets nodes, select your spreadsheet and the contacts tab Open the Build Email node and replace the placeholder subject and HTML body with your own copy In the Send Gmail node, set senderName to your display name Optional: adjust daily send caps inside Determine Group and edit the country-to-region lookup inside Filter and Limit Detailed per-step notes live inside the workflow as sticky notes

0
Downloads
0
Views
8.18
Quality Score
beginner
Complexity
Author:Alena - Prodigy AI Sol(View Original β†’)
Created:4/28/2026
Updated:4/28/2026

πŸ”’ Please log in to import templates to n8n and favorite templates

Workflow Visualization

Loading...

Preparing workflow renderer

Comments (0)

Login to post comments