This workflow corresponds to n8n.io template #3758 — we link there as the canonical source.
This workflow follows the Chainllm → Gmail 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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "2bbfcb6a-940c-49ee-848a-65516c28b24f",
"name": "Extract URLs from Google Search",
"type": "n8n-nodes-base.code",
"position": [
1240,
260
],
"parameters": {},
"typeVersion": 2
},
{
"id": "2f089fa5-d328-4cad-ba18-b099d0db828e",
"name": "Remove Duplicate URLs",
"type": "n8n-nodes-base.removeDuplicates",
"onError": "continueErrorOutput",
"position": [
2120,
180
],
"parameters": {},
"typeVersion": 1.1,
"alwaysOutputData": true
},
{
"id": "0c4f7004-a7bd-4233-b20e-bd7a96c20bd8",
"name": "Remove Duplicate Emails",
"type": "n8n-nodes-base.removeDuplicates",
"onError": "continueErrorOutput",
"position": [
2000,
1180
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "3c7bff6c-28f9-4d95-9e97-68e69c274931",
"name": "Split Emails into Items",
"type": "n8n-nodes-base.splitOut",
"onError": "continueRegularOutput",
"position": [
1380,
940
],
"parameters": {},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "77624839-8afe-47c4-ad2d-6f10da785dca",
"name": "Aggregate Email Lists",
"type": "n8n-nodes-base.aggregate",
"onError": "continueErrorOutput",
"position": [
1000,
940
],
"parameters": {},
"typeVersion": 1
},
{
"id": "0ca87cc7-2112-46c4-9f5e-5229687624e4",
"name": "Search Google Maps",
"type": "n8n-nodes-base.httpRequest",
"position": [
880,
260
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "4f3d81c4-ea82-48c5-9b84-8afc6e458ac3",
"name": "Filter Out Google/Schema URLs",
"type": "n8n-nodes-base.filter",
"onError": "continueRegularOutput",
"position": [
1540,
240
],
"parameters": {},
"typeVersion": 2.2,
"alwaysOutputData": false
},
{
"id": "8e23dc4c-a801-4114-8a59-618b85efb6e1",
"name": "Loop Through Unique URLs",
"type": "n8n-nodes-base.splitInBatches",
"onError": "continueRegularOutput",
"position": [
2620,
360
],
"parameters": {},
"typeVersion": 3,
"alwaysOutputData": false
},
{
"id": "4b7f2746-aad4-4105-ad42-988ed2d2161d",
"name": "Fetch Website Content (via URL)",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
3060,
480
],
"parameters": {},
"typeVersion": 4.2,
"alwaysOutputData": false
},
{
"id": "2ac85d70-e59c-4e61-a859-fa56256176ef",
"name": "Loop Through Website Content Batches",
"type": "n8n-nodes-base.splitInBatches",
"onError": "continueRegularOutput",
"position": [
700,
940
],
"parameters": {},
"executeOnce": false,
"typeVersion": 3,
"alwaysOutputData": false
},
{
"id": "3e1b74a7-990d-44ac-b5ba-6174096d5347",
"name": "Extract and Filter Emails",
"type": "n8n-nodes-base.code",
"onError": "continueRegularOutput",
"position": [
860,
1120
],
"parameters": {},
"typeVersion": 2,
"alwaysOutputData": true
},
{
"id": "aea3cd69-adf5-4694-b331-f7f36a2c1cdd",
"name": "Loop Through Search Queries",
"type": "n8n-nodes-base.splitInBatches",
"position": [
260,
240
],
"parameters": {},
"typeVersion": 3
},
{
"id": "46c01643-a99b-4d62-85f1-ddeb79c0c781",
"name": "Wait Before Google Search",
"type": "n8n-nodes-base.wait",
"position": [
600,
260
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "f37d04cc-5829-4b7a-8c00-2e20a5b045ae",
"name": "Process AI-Generated Queries",
"type": "n8n-nodes-base.code",
"position": [
20,
180
],
"parameters": {},
"typeVersion": 2,
"alwaysOutputData": true
},
{
"id": "d9964fd4-ccd2-4cdd-9ab1-6ae585e87e0a",
"name": "Generate Google Maps Queries (OpenAI)",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
-440,
180
],
"parameters": {},
"executeOnce": false,
"typeVersion": 1.4,
"alwaysOutputData": true
},
{
"id": "de4f2577-7409-4785-a6b1-ba80348dea0e",
"name": "Extract Domain from Email",
"type": "n8n-nodes-base.code",
"position": [
960,
1840
],
"parameters": {},
"typeVersion": 2,
"alwaysOutputData": true
},
{
"id": "d4497c99-b6c9-4d69-bc95-2f96869f1b59",
"name": "Loop Through Unique Emails",
"type": "n8n-nodes-base.splitInBatches",
"position": [
540,
1840
],
"parameters": {},
"typeVersion": 3
},
{
"id": "e71ee458-1b74-4f60-b5e4-d54c88bedb61",
"name": "Scrape Website Content (Jina.ai)",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
1240,
1840
],
"parameters": {},
"typeVersion": 4.2,
"alwaysOutputData": true
},
{
"id": "c84a0ae2-9c6b-4013-9e2f-ce2ecd45e064",
"name": "Check for Scraping Error",
"type": "n8n-nodes-base.if",
"position": [
1540,
1840
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "076795cc-c588-4ecf-a614-b5baa991b630",
"name": "Truncate Website Content",
"type": "n8n-nodes-base.code",
"position": [
1780,
1860
],
"parameters": {},
"typeVersion": 2,
"alwaysOutputData": true
},
{
"id": "0e3ba69b-dfa2-4a4b-9cc1-f62b8d76076a",
"name": "Check if URL Exists",
"type": "n8n-nodes-base.if",
"position": [
1780,
300
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "9369fe87-b227-4929-b001-eda425192321",
"name": "Wait Between Emails",
"type": "n8n-nodes-base.wait",
"position": [
3680,
2500
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "5d04cf90-0717-4043-b5e3-045010fa491c",
"name": "Generate Random Delay",
"type": "n8n-nodes-base.code",
"position": [
3500,
1920
],
"parameters": {},
"typeVersion": 2
},
{
"id": "224201c5-a994-4a94-9bdf-6ef140466777",
"name": "Sticky Note: Scraping Section",
"type": "n8n-nodes-base.stickyNote",
"position": [
-20,
0
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b6415488-0675-4d9f-ac5e-2726866ffb50",
"name": "Sticky Note: Email Extraction Section",
"type": "n8n-nodes-base.stickyNote",
"position": [
-20,
900
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "a99dfb07-c04e-4b3d-9b9f-2ea972e871af",
"name": "Sticky Note: Personalization & Sending Section",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
1600
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "cd8da4f0-c732-4bab-ad07-1a71435d505c",
"name": "Generate Personalized Email (LLM Chain)",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
2160,
1860
],
"parameters": {},
"typeVersion": 1.5
},
{
"id": "cb2cfc94-1381-4bb8-b423-a1c4d8c48b3c",
"name": "Parse AI Email Output (JSON)",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
2260,
2120
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "09094316-4cb8-4879-8a01-fc68eb3c11f8",
"name": "NoOp (If URL Invalid)",
"type": "n8n-nodes-base.noOp",
"position": [
2020,
360
],
"parameters": {},
"typeVersion": 1
},
{
"id": "a889ad50-02fb-4ef0-a56d-34471b3c9de3",
"name": "MANUAL TRIGGER: Start Workflow",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1060,
220
],
"parameters": {},
"typeVersion": 1
},
{
"id": "f3960d5f-ff1c-4870-a8b2-11ccf239c55e",
"name": "Sticky Note: CONFIGURATION",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1220,
-20
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "e43371b8-1ddb-40a3-947b-8e10d35d85e5",
"name": "Configure OpenAI Chat Model (GPT-4o-mini)",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
2020,
2120
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "ba8d2a27-5658-4d52-b25e-09681dd47f4b",
"name": "Sticky Note: Workflow Description",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2720,
900
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "47eda3fc-472d-4ceb-8f15-2b052cd114a2",
"name": "Set Random Index",
"type": "n8n-nodes-base.function",
"position": [
2680,
1840
],
"parameters": {},
"typeVersion": 1
},
{
"id": "7575bee6-9da1-4397-82a3-5399691512e8",
"name": "Switch SMTP",
"type": "n8n-nodes-base.switch",
"position": [
2920,
1820
],
"parameters": {},
"typeVersion": 2
},
{
"id": "a54ea639-2eb4-4cdf-a712-6f1f48453c53",
"name": "Gmail 1",
"type": "n8n-nodes-base.gmail",
"position": [
3240,
1620
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "fa420d07-2e5a-46dd-8226-0bc27738e2a1",
"name": "Gmail 3",
"type": "n8n-nodes-base.gmail",
"position": [
3240,
1920
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "cf301d59-2dfd-4f4b-a9e0-966c8e7b44a3",
"name": "Gmail 4",
"type": "n8n-nodes-base.gmail",
"position": [
3240,
2060
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "68c173d1-de99-4602-8106-9b47c35da110",
"name": "Gmail 5",
"type": "n8n-nodes-base.gmail",
"position": [
3240,
2320
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "1b89b546-7023-4585-801b-af984af3f00c",
"name": "Gmail ",
"type": "n8n-nodes-base.gmail",
"position": [
3240,
1760
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "1314d224-2831-4796-92fc-6869bef9ed9d",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-720,
140
],
"parameters": {},
"typeVersion": 3
}
],
"connections": {
"Gmail ": {
"main": [
[
{
"node": "Generate Random Delay",
"type": "main",
"index": 0
}
]
]
},
"Gmail 1": {
"main": [
[
{
"node": "Generate Random Delay",
"type": "main",
"index": 0
}
]
]
},
"Gmail 3": {
"main": [
[
{
"node": "Generate Random Delay",
"type": "main",
"index": 0
}
]
]
},
"Gmail 4": {
"main": [
[
{
"node": "Generate Random Delay",
"type": "main",
"index": 0
}
]
]
},
"Gmail 5": {
"main": [
[
{
"node": "Generate Random Delay",
"type": "main",
"index": 0
}
]
]
},
"Switch SMTP": {
"main": [
[
{
"node": "Gmail 1",
"type": "main",
"index": 0
}
],
[
{
"node": "Gmail ",
"type": "main",
"index": 0
}
],
[
{
"node": "Gmail 3",
"type": "main",
"index": 0
}
],
[
{
"node": "Gmail 4",
"type": "main",
"index": 0
}
],
[
{
"node": "Gmail 5",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[],
[
{
"node": "Generate Google Maps Queries (OpenAI)",
"type": "main",
"index": 0
}
]
]
},
"Set Random Index": {
"main": [
[
{
"node": "Switch SMTP",
"type": "main",
"index": 0
}
]
]
},
"Search Google Maps": {
"main": [
[
{
"node": "Extract URLs from Google Search",
"type": "main",
"index": 0
}
]
]
},
"Check if URL Exists": {
"main": [
[
{
"node": "Remove Duplicate URLs",
"type": "main",
"index": 0
}
],
[
{
"node": "NoOp (If URL Invalid)",
"type": "main",
"index": 0
}
]
]
},
"Wait Between Emails": {
"main": [
[
{
"node": "Loop Through Unique Emails",
"type": "main",
"index": 0
}
]
]
},
"Aggregate Email Lists": {
"main": [
[
{
"node": "Split Emails into Items",
"type": "main",
"index": 0
}
]
]
},
"Generate Random Delay": {
"main": [
[
{
"node": "Wait Between Emails",
"type": "main",
"index": 0
}
]
]
},
"Remove Duplicate URLs": {
"main": [
[
{
"node": "Loop Through Unique URLs",
"type": "main",
"index": 0
}
]
]
},
"Remove Duplicate Emails": {
"main": [
[
{
"node": "Loop Through Unique Emails",
"type": "main",
"index": 0
}
]
]
},
"Split Emails into Items": {
"main": [
[
{
"node": "Remove Duplicate Emails",
"type": "main",
"index": 0
}
]
]
},
"Check for Scraping Error": {
"main": [
[
{
"node": "Loop Through Unique Emails",
"type": "main",
"index": 0
}
],
[
{
"node": "Truncate Website Content",
"type": "main",
"index": 0
}
]
]
},
"Loop Through Unique URLs": {
"main": [
[
{
"node": "Loop Through Website Content Batches",
"type": "main",
"index": 0
}
],
[
{
"node": "Fetch Website Content (via URL)",
"type": "main",
"index": 0
}
]
]
},
"Truncate Website Content": {
"main": [
[
{
"node": "Generate Personalized Email (LLM Chain)",
"type": "main",
"index": 0
}
]
]
},
"Extract Domain from Email": {
"main": [
[
{
"node": "Scrape Website Content (Jina.ai)",
"type": "main",
"index": 0
}
]
]
},
"Extract and Filter Emails": {
"main": [
[
{
"node": "Loop Through Website Content Batches",
"type": "main",
"index": 0
}
]
]
},
"Wait Before Google Search": {
"main": [
[
{
"node": "Search Google Maps",
"type": "main",
"index": 0
}
]
]
},
"Loop Through Unique Emails": {
"main": [
[
{
"node": "Loop Through Search Queries",
"type": "main",
"index": 0
}
],
[
{
"node": "Extract Domain from Email",
"type": "main",
"index": 0
}
]
]
},
"Loop Through Search Queries": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait Before Google Search",
"type": "main",
"index": 0
}
]
]
},
"Parse AI Email Output (JSON)": {
"ai_outputParser": [
[
{
"node": "Generate Personalized Email (LLM Chain)",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Process AI-Generated Queries": {
"main": [
[
{
"node": "Loop Through Search Queries",
"type": "main",
"index": 0
}
]
]
},
"Filter Out Google/Schema URLs": {
"main": [
[
{
"node": "Check if URL Exists",
"type": "main",
"index": 0
}
]
]
},
"MANUAL TRIGGER: Start Workflow": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Extract URLs from Google Search": {
"main": [
[
{
"node": "Filter Out Google/Schema URLs",
"type": "main",
"index": 0
}
]
]
},
"Fetch Website Content (via URL)": {
"main": [
[
{
"node": "Loop Through Unique URLs",
"type": "main",
"index": 0
}
]
]
},
"Scrape Website Content (Jina.ai)": {
"main": [
[
{
"node": "Check for Scraping Error",
"type": "main",
"index": 0
}
]
]
},
"Loop Through Website Content Batches": {
"main": [
[
{
"node": "Aggregate Email Lists",
"type": "main",
"index": 0
}
],
[
{
"node": "Extract and Filter Emails",
"type": "main",
"index": 0
}
]
]
},
"Generate Google Maps Queries (OpenAI)": {
"main": [
[
{
"node": "Process AI-Generated Queries",
"type": "main",
"index": 0
}
]
]
},
"Generate Personalized Email (LLM Chain)": {
"main": [
[
{
"node": "Set Random Index",
"type": "main",
"index": 0
}
]
]
},
"Configure OpenAI Chat Model (GPT-4o-mini)": {
"ai_languageModel": [
[
{
"node": "Generate Personalized Email (LLM Chain)",
"type": "ai_languageModel",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
True Multi-Offer Campaigns Promote any mix of products, services or solutions in one run; no separate workflows needed. SMTP Load Balancing A Switch node rotates sends across five Gmail/SMTP accounts to spread volume, avoid rate limits and boost deliverability. Model Flexibility…
Source: https://n8n.io/workflows/3758/ — 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.
Tired of manually finding leads, collecting emails, and sending messages that get ignored? Let AI do the heavy lifting.
[](https://www.youtube.com/watch?v=rfu4MSvtpAw)
This n8n template automates targeted lead discovery, AI-driven data structuring, and personalized cold-email sending at controlled intervals. It’s ideal for sales teams, founders, and agencies that wa
The best content automation template in the market is now even better—with “deep research” on time-sensitive topics\! Unlike most n8n content automation templates that are mainly for “demo purposes,”
Typeform IA - YT. Uses typeformTrigger, agent, lmChatOpenAi, toolWorkflow. Event-driven trigger; 75 nodes.