Generate cold outreach drafts from Google Sheets with GPT-4o-mini & Gmail
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 11 nodes and runs manually, when you click “Execute workflow”. Along the way it connects Google Sheets and Gmail.
How it runs
Trigger: Manually, when you click “Execute workflow”.
- Read Business Data (Google Sheets): uses Google Sheets
- Filter Unsent Emails (If): checks a condition and branches into true / false
- Personalize Email (ChatGPT) (HTTP Request): calls an HTTP API (POST)
- Generate Subject (ChatGPT) (HTTP Request): calls an HTTP API (POST)
- Merge: merges the data from its input branches
- Prepare Email Draft (Edit Fields (Set)): sets 6 fields: email_subject, business_name, email…
- Create Email Draft (Gmail): work with draft
- Prepare Sheet Update (Edit Fields (Set)): sets or maps fields
- Update Google Sheet (Google Sheets): update
- Rate Limit Wait (Wait): waits 3 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 (8)
- Manual Trigger
n8n-nodes-base.manualTrigger - Google Sheets
n8n-nodes-base.googleSheets - If
n8n-nodes-base.if - Edit Fields (Set)
n8n-nodes-base.set - Wait
n8n-nodes-base.wait - HTTP Request
n8n-nodes-base.httpRequest - Gmail
n8n-nodes-base.gmail - Merge
n8n-nodes-base.merge
From the author
How It Works 1. Starts with a Manual Trigger 2. Reads lead list from Google Sheet 3. Filter rows where email wasn’t sent 4. Generate personalized email body (AI) 5. Generate email subject line (AI) 6. Merge AI outputs with original row data 7. Create Gmail…