This workflow corresponds to n8n.io template #6758 — we link there as the canonical source.
This workflow follows the Emailsend → Google Sheets recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "0NUf4DsJtFfnyxnp",
"name": "Cold/Warm Email Automation",
"tags": [],
"nodes": [
{
"id": "8df39dbf-a9c7-4de0-9582-8946a312a35f",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
432,
1392
],
"parameters": {},
"typeVersion": 1
},
{
"id": "3adc0f15-d7a2-4b23-b36d-eb0361167446",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1824,
2096
],
"parameters": {
"color": 7,
"height": 256,
"content": "## **Find out SMTP info for your email service provider Link** \n\nhttps://docs.google.com/document/d/1UnAYprKmGWHQ7VDpzdMndV7-iPl1sVlIIke3GY5O8e0/edit?usp=sharing"
},
"typeVersion": 1
},
{
"id": "42a71dd2-654d-48ca-9e89-619402f9b65a",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
80,
1584
],
"parameters": {
"color": 7,
"width": 272,
"height": 208,
"content": "## **Step-by-Step Tutorial YouTube Video Link** \n\n\nhttps://youtu.be/Dg68OaYPhYs?si=LVu9pdxt9JUuCrzM"
},
"typeVersion": 1
},
{
"id": "bb87b350-c396-4cd4-a266-1b58300cf261",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
576,
1584
],
"parameters": {
"color": 7,
"width": 224,
"height": 224,
"content": "## **Sample Google Sheet for Leads I used.** \n\nhttps://docs.google.com/spreadsheets/d/1pWxsNGde3BHzIF7IMiRum4sGjVNRl9LfcJybmgkzuMM/edit?usp=sharing \n\n\n- "
},
"typeVersion": 1
},
{
"id": "5a7e7b8a-30ef-43fa-a290-23ccff275628",
"name": "Schedule Trigger at 9 AM",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
176,
1392
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 9
}
]
}
},
"typeVersion": 1.2
},
{
"id": "5c58d9d4-f19c-44f1-871c-a31dde73f8c3",
"name": "Lead Sheet - Get Rows from the sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
640,
1392
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1pWxsNGde3BHzIF7IMiRum4sGjVNRl9LfcJybmgkzuMM/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1pWxsNGde3BHzIF7IMiRum4sGjVNRl9LfcJybmgkzuMM",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1pWxsNGde3BHzIF7IMiRum4sGjVNRl9LfcJybmgkzuMM/edit?usp=drivesdk",
"cachedResultName": "Leads"
}
},
"typeVersion": 4.6
},
{
"id": "3a2a1244-2870-421b-a27b-ce9dba18eace",
"name": "Updating GSheet if Email Is \"Sent\"",
"type": "n8n-nodes-base.googleSheets",
"position": [
2320,
1744
],
"parameters": {
"columns": {
"value": {
"Tool Name": "={{ $('Google Sheets').item.json['Tool Name'] }}",
"Email Sent": "={{ $json.accepted[0] }}"
},
"schema": [
{
"id": "Tool Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Tool Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Country",
"type": "string",
"display": true,
"required": false,
"displayName": "Country",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Tool Link",
"type": "string",
"display": true,
"required": false,
"displayName": "Tool Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Link to Apply Affiliate",
"type": "string",
"display": true,
"required": false,
"displayName": "Link to Apply Affiliate",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "How to Work",
"type": "string",
"display": true,
"required": false,
"displayName": "How to Work",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Affiliate Link to Share",
"type": "string",
"display": true,
"required": false,
"displayName": "Affiliate Link to Share",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Coupon Code",
"type": "string",
"display": true,
"required": false,
"displayName": "Coupon Code",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Reach Out Mode",
"type": "string",
"display": true,
"required": false,
"displayName": "Reach Out Mode",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "How did you find?",
"type": "string",
"display": true,
"required": false,
"displayName": "How did you find?",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Reach Out Platform",
"type": "string",
"display": true,
"required": false,
"displayName": "Reach Out Platform",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Incoming",
"type": "string",
"display": true,
"required": false,
"displayName": "Incoming",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Script",
"type": "string",
"display": true,
"required": false,
"displayName": "Script",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email Sent",
"type": "string",
"display": true,
"required": false,
"displayName": "Email Sent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Ideas",
"type": "string",
"display": true,
"required": false,
"displayName": "Ideas",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Tool Name"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 2051398108,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1cMGVHzjsAKmjrNqS9Pi0HPAmq6uv8bl211LdzZNg1mY/edit#gid=2051398108",
"cachedResultName": "AI tool reachout"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1cMGVHzjsAKmjrNqS9Pi0HPAmq6uv8bl211LdzZNg1mY",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1cMGVHzjsAKmjrNqS9Pi0HPAmq6uv8bl211LdzZNg1mY/edit?usp=drivesdk",
"cachedResultName": "CF Calendar"
}
},
"executeOnce": true,
"typeVersion": 4.6
},
{
"id": "78f8130a-26ee-4e7b-b749-2c201eb6aca2",
"name": "Checker - If emails are verified or no?",
"type": "n8n-nodes-base.if",
"position": [
1568,
1584
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "d70305b4-4313-4b48-8e20-16a7d10acb81",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.result }}",
"rightValue": "undeliverable"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "935d4058-b2e9-43f1-a887-defb038948c3",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1264,
1760
],
"parameters": {
"width": 208,
"height": 192,
"content": "## **Add Email Verification API** \n\nI use hunter, https://hunter.io/api-keys\n\nYou can use any other tools"
},
"typeVersion": 1
},
{
"id": "4b8ae9a2-346c-424f-ba77-fb0aa42c4e58",
"name": "Creating Field for Updating \"Sent\" in G Sheet1",
"type": "n8n-nodes-base.set",
"position": [
2096,
1744
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "05814c14-4365-4c37-af55-f28bf2ee5819",
"name": "accepted[0]",
"type": "string",
"value": "Sent"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "4f251ddb-b669-4b14-8255-ab47ab062516",
"name": "No Operation, do nothing5",
"type": "n8n-nodes-base.noOp",
"position": [
1872,
1424
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d8fd0b18-6907-4466-b2f5-d5bd19293da8",
"name": "Email verification using Hunter",
"type": "n8n-nodes-base.hunter",
"position": [
1312,
1584
],
"parameters": {
"email": "={{ $json.Email }}",
"operation": "emailVerifier"
},
"typeVersion": 1
},
{
"id": "de42e271-8e99-4a09-b189-a0af7b2bbcb2",
"name": "Checker - If Already \"Sent\" or not",
"type": "n8n-nodes-base.if",
"position": [
864,
1392
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "c72a013e-7b22-4bc7-a6c6-d51e9804ece7",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json['Email Sent'] }}",
"rightValue": "Sent"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "6a1c602a-489b-4c83-b2b8-da27bc80718f",
"name": "Checker - If Lead's \"Email\" Field is empty?",
"type": "n8n-nodes-base.if",
"position": [
1088,
1488
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "d70305b4-4313-4b48-8e20-16a7d10acb81",
"operator": {
"type": "string",
"operation": "empty",
"singleValue": true
},
"leftValue": "={{ $json.Email }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "3234922f-6bc2-4127-aa64-743d2ba2faa2",
"name": "No Operation, Do Nothing",
"type": "n8n-nodes-base.noOp",
"position": [
1040,
1296
],
"parameters": {},
"typeVersion": 1
},
{
"id": "808e5a15-f0ca-4c9a-8361-2dad2ef51849",
"name": "No Operation, Do Nothing1",
"type": "n8n-nodes-base.noOp",
"position": [
1312,
1392
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d98f7325-01c6-4e62-acc9-ca6bee188d39",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
576,
1232
],
"parameters": {
"width": 224,
"height": 128,
"content": "## **Connect with Google Sheet or CRM** "
},
"typeVersion": 1
},
{
"id": "ecfd047b-fcb8-4e7b-a150-537cc96be2f2",
"name": "Send email using SMTP",
"type": "n8n-nodes-base.emailSend",
"position": [
1872,
1744
],
"parameters": {
"text": "=Hello {{ $('Lead Sheet - Get Rows from the sheet').item.json['Tool Name'] }} team, \n\nWe can collborate on multiple features. Can we have a quick meet over the meet?\n\nBest regards,\nJanak",
"options": {},
"subject": "Let's collaborate!",
"toEmail": "={{ $('Lead Sheet - Get Rows from the sheet').item.json.Email }}",
"fromEmail": "user@example.com",
"emailFormat": "text"
},
"executeOnce": false,
"typeVersion": 2.1
},
{
"id": "2188bf86-d2d8-48c2-9783-954d3c879089",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1824,
1920
],
"parameters": {
"width": 224,
"height": 128,
"content": "## **Send email using SMTP- Any Email Provider works** "
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "d5347202-25e6-43fd-aca3-2e53eef114c0",
"connections": {
"Send email using SMTP": {
"main": [
[
{
"node": "Creating Field for Updating \"Sent\" in G Sheet1",
"type": "main",
"index": 0
}
]
]
},
"Email verification using Hunter": {
"main": [
[
{
"node": "Checker - If emails are verified or no?",
"type": "main",
"index": 0
}
]
]
},
"Checker - If Already \"Sent\" or not": {
"main": [
[
{
"node": "No Operation, Do Nothing",
"type": "main",
"index": 0
}
],
[
{
"node": "Checker - If Lead's \"Email\" Field is empty?",
"type": "main",
"index": 0
}
]
]
},
"Lead Sheet - Get Rows from the sheet": {
"main": [
[
{
"node": "Checker - If Already \"Sent\" or not",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "Lead Sheet - Get Rows from the sheet",
"type": "main",
"index": 0
}
]
]
},
"Checker - If emails are verified or no?": {
"main": [
[
{
"node": "No Operation, do nothing5",
"type": "main",
"index": 0
}
],
[
{
"node": "Send email using SMTP",
"type": "main",
"index": 0
}
]
]
},
"Checker - If Lead's \"Email\" Field is empty?": {
"main": [
[
{
"node": "No Operation, Do Nothing1",
"type": "main",
"index": 0
}
],
[
{
"node": "Email verification using Hunter",
"type": "main",
"index": 0
}
]
]
},
"Creating Field for Updating \"Sent\" in G Sheet1": {
"main": [
[
{
"node": "Updating GSheet if Email Is \"Sent\"",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Use this template if you’re collecting leads in Google Sheets manually or automatically and need to send them emails daily using any personal or professional email provider. It’s simple yet effective.
Source: https://n8n.io/workflows/6758/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
📊 Reads leads list from Google Sheets (Name, Email, Send Status) 🔍 Filters out already-contacted leads (skips "SENT" status) 🎲 Randomly selects email template from template library ✏️ Personalizes sub
This n8n workflow demonstrates how to automate a large-scale personalized promotional email campaign, leveraging artificial intelligence to generate unique content for each recipient.
Run professional email campaigns with A/B testing, Google Sheets tracking, and Slack analytics. FEATURES:
This workflow allows you to send multi-step email campaigns using n8n, Gmail and Google Sheets.
This workflow is designed to manage the assignment and validation of unique QR code coupons within a lead generation system with SuiteCRM.