Gmail Mail Merge: Send Personalized Emails from Google Sheets
Sending personalized emails to multiple recipients requires copying templates, manually changing names, and sending individually - a tedious process that doesn't scale. Google Sheets mail merge handles the personalization, but lacks advanced features. This workflow connects Google Sheets directly to Gmail for true mail merge capabilities with custom logic.
What this workflow does
- A Schedule Trigger runs the workflow (or a manual trigger).
- A Google Sheets node reads all rows from your contact spreadsheet.
- A Code node loops through each row, personalizing the email subject and body with data from each row.
- A Gmail node sends each personalized email to the recipient's address from the sheet.
Setup guide
- Import the JSON into n8n (Workflows > Import from File).
- Connect Google Sheets and Gmail (OAuth) in their respective nodes.
- Replace REPLACE_WITH_SPREADSHEET with your actual Google Sheet ID (from the URL).
- Update the Code node to map your sheet columns to the email personalization variables.
- Configure the Schedule Trigger timing or set up the manual trigger for on-demand execution.
- Test with 2-3 rows first, then run on your full contact list.
Want this running 24/7?
Self-host n8n on a cheap VPS and this workflow runs around the clock for less than a coffee a month.
Get an n8n VPS from $5/monthFAQ
Want the workflows this one is a warm-up for?
The Mega Bundle packs both WorkflowForge Pro volumes — 32 production-grade workflows: automations (cart recovery, lead scoring, invoice extraction) and AI agents (support agent, calendar assistant, research agent), each with a setup guide. $39 for both, instant download.
Get the Mega Bundle →Need it customized for your exact process?
I build custom n8n automations and AI agents professionally: your tools, your edge cases, tested and documented.
Hire me on Fiverr →