Automate personalized email campaigns with Google Docs, Sheets and SMTP
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
What this workflow does
This workflow has 12 nodes and runs on a schedule (every second). Along the way it connects Google Sheets and Google Docs.
How it runs
Trigger: On a schedule (every second).
- settings (Edit Fields (Set)): sets 3 fields: emailsubject, googledocid, googlesheetid
- template (Google Docs): get
- contacts (Google Sheets): uses Google Sheets
- Merge: merges the data from its input branches
- notemailed (Filter): keeps only the items that match a condition
- updatebody (Edit Fields (Set)): sets 2 fields: email, template
- Loop Over Items (Loop Over Items (Split in Batches)): loops over the items in batches
- Send Email: sends an email over SMTP
- updatecontacts (Google Sheets): update
- Wait: waits 20 seconds
Services it uses
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (10)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Google Sheets
n8n-nodes-base.googleSheets - Google Docs
n8n-nodes-base.googleDocs - Edit Fields (Set)
n8n-nodes-base.set - Send Email
n8n-nodes-base.emailSend - Filter
n8n-nodes-base.filter - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - Wait
n8n-nodes-base.wait - No Operation, do nothing
n8n-nodes-base.noOp - Merge
n8n-nodes-base.merge
From the author
Emailing Using Google Sheet, Google Docs, and SMTP Automate personalized email campaigns using a Google Sheets contact list, a Google Docs template, and SMTP delivery. How It Works - Google Docs is used as the email template with variables: {{firstname}},…