Mail merge a personalised email to every row of a spreadsheet
Sends a personalised email to each row of a Google Sheet, records every send, and never emails the same person twice.
Apps it connects
Authenticate each one once and the workflow is ready to run.
What it does
The integration steps this workflow runs, in the order it first runs them.
- 1
Google SheetsCreate tab - 2
Google SheetsAppend row - 3
Google SheetsRead column - 4
Google SheetsRead rows - 5
GmailSend
How it works
Everything the template sets up, and what to fill in before the first run.
Point this at a Google Sheet of recipients, write your message once with {{First Name}} and {{Company}} where each row's values should go, and it sends one personalised email per row from your own Gmail account.
Your sheet needs a header row with an 'Email' column, plus 'First Name' and 'Company' if your message uses those merge fields. Nothing in your recipient tab is ever changed: the workflow adds a separate 'Sent log' tab alongside it and appends one line there for every email it sends.
That log is what makes a second run safe. Every address is checked against it before sending, so re-running skips everyone who has already been written to - and it also catches the same address appearing twice in your sheet. If an email goes out but the log cannot be written, the run stops immediately rather than carrying on blind.
'maxEmailsThisRun' starts at 1 so your first run is a test: one email goes out, you read it, then you raise the number and run it again to carry on down the list from where it stopped. A row whose Email cell is empty, or whose merge fields are blank, is reported and skipped rather than sent a message reading 'Hi ,'.
Fill in 'sheetUrl', 'sheetTabName', 'emailSubject' and 'emailBody' to set it up. To merge a column this template does not cover, duplicate one of the Replace steps and point it at that column.
Start from a workflow that already works.
Add "Mail merge a personalised email to every row of a spreadsheet" to your workspace, connect its apps, and make it yours. No credit card required.
Free plan available · No credit card required
