Back to Templates

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

Last update

Last update 8 hours ago

Categories

Share


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