All workflows
Google Sheets logoGmail logo

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.

Run manually2 apps5 steps

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. 1Google SheetsCreate tab
  2. 2Google SheetsAppend row
  3. 3Google SheetsRead column
  4. 4Google SheetsRead rows
  5. 5GmailSend

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.

gmailgoogle sheetsmail mergeemailoutreach

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