{"workflow":{"id":14084,"name":"Generate and enrich local business leads with Decodo, OpenAI and Gmail","views":23,"recentViews":1,"totalViews":23,"createdAt":"2026-03-16T11:43:10.585Z","description":"## End-to-End Local Business Lead Generation, Enrichment and Outreach Pipeline with Decodo\n\nThis workflow finds local business leads on Google Maps, enriches them with website and AI analysis, and sends personalized cold emails to qualified prospects automatically.\n\n## Who’s it for?\nThis template is for agencies, freelancers, B2B growth teams, and sales operators who want a repeatable outbound lead generation system for local business prospecting.\n\n## How it works\n1. The workflow starts on a schedule and loads the search, scoring, and sender settings from one configuration node.\n2. Decodo scrapes Google Maps search results for businesses that match your niche and city.\n3. The workflow extracts lead details such as business name, address, phone number, website, and rating, then stores each lead in Google Sheets.\n4. Each discovered lead is checked for a website. If no website is available, the lead is marked and skipped from enrichment.\n5. For leads with a website, Decodo scrapes the site and OpenAI scores the business, summarizes it, and suggests enrichment fields such as business type, pain points, and contact email.\n6. The workflow updates the lead in Google Sheets with the enrichment data.\n7. Enriched leads are filtered by score threshold, website presence, email availability, and contact status.\n8. For each qualified lead, the workflow scrapes more website content and uses OpenAI to write a personalized outreach email.\n9. Gmail sends the email, and the lead is marked as contacted in Google Sheets.\n\n## How to set up\nAdd credentials for Decodo, OpenAI, Google Sheets, and Gmail. Replace the placeholder Google Sheet ID in the configuration node. Create a `Leads` sheet with all required columns used in the workflow. Update the niche, city, geo, max leads, score threshold, and sender fields. This template uses the Decodo community node, so it is intended for self-hosted n8n only. Replace the placeholder image above with a real workflow screenshot before submission.","workflow":{"meta":{"instanceId":"08a6d0e1f308886ad36265bf6d0a8d825d1937af3711e87d6f7a52233f832909"},"nodes":[{"id":"sticky-setup-1","name":"📋 WF1 Setup Guide","type":"n8n-nodes-base.stickyNote","position":[2816,1984],"parameters":{"width":672,"height":870,"content":"## End-to-End Local Business Lead Generation, Enrichment and Outreach Pipeline with Decodo\n\nThis workflow finds local business leads on Google Maps, enriches them with website and AI analysis, and sends personalized cold emails to qualified prospects automatically.\n\n## Who’s it for?\nThis template is for agencies, freelancers, B2B growth teams, and sales operators who want a repeatable outbound lead generation system for local business prospecting.\n\n## How it works\n1. The workflow starts on a schedule and loads the search, scoring, and sender settings from one configuration node.\n2. Decodo scrapes Google Maps search results for businesses that match your niche and city.\n3. The workflow extracts lead details such as business name, address, phone number, website, and rating, then stores each lead in Google Sheets.\n4. Each discovered lead is checked for a website. If no website is available, the lead is marked and skipped from enrichment.\n5. For leads with a website, Decodo scrapes the site and OpenAI scores the business, summarizes it, and suggests enrichment fields such as business type, pain points, and contact email.\n6. The workflow updates the lead in Google Sheets with the enrichment data.\n7. Enriched leads are filtered by score threshold, website presence, email availability, and contact status.\n8. For each qualified lead, the workflow scrapes more website content and uses OpenAI to write a personalized outreach email.\n9. Gmail sends the email, and the lead is marked as contacted in Google Sheets.\n\n## How to set up\nAdd credentials for Decodo, OpenAI, Google Sheets, and Gmail. Replace the placeholder Google Sheet ID in the configuration node. Create a `Leads` sheet with all required columns used in the workflow. Update the niche, city, geo, max leads, score threshold, and sender fields. This template uses the Decodo community node, so it is intended for self-hosted n8n only. Replace the placeholder image above with a real workflow screenshot before submission."},"typeVersion":1},{"id":"410c9e4f-b43b-48da-8a9b-bab5c411fe2e","name":"📍 Stage 1: Discovery","type":"n8n-nodes-base.stickyNote","position":[3760,2832],"parameters":{"color":5,"width":1384,"height":328,"content":"## 📍 Stage 1: Discovery\n\nScrapes Google Maps for business leads and saves them to Google Sheets with status='New'"},"typeVersion":1},{"id":"d0770492-2b2a-426a-85aa-85534b4cb981","name":"Schedule: Daily 10AM","type":"n8n-nodes-base.scheduleTrigger","position":[3872,2944],"parameters":{"rule":{"interval":[{"field":"cronExpression","expression":"0 10 * * *"}]}},"typeVersion":1.2},{"id":"set-config-1","name":"Search Config","type":"n8n-nodes-base.set","position":[4096,2944],"parameters":{"options":{},"assignments":{"assignments":[{"id":"cfg-niche","name":"niche","type":"string","value":"digital marketing agency"},{"id":"cfg-city","name":"city","type":"string","value":"New York"},{"id":"cfg-geo","name":"geo","type":"string","value":"United States"},{"id":"cfg-sheet","name":"googleSheetId","type":"string","value":"YOUR_GOOGLE_SHEET_ID_HERE"},{"id":"cfg-max","name":"maxLeads","type":"number","value":15},{"id":"cfg-threshold","name":"scoreThreshold","type":"number","value":6},{"id":"cfg-sender-name","name":"senderName","type":"string","value":"Alex"},{"id":"cfg-sender-company","name":"senderCompany","type":"string","value":"GrowthLab Agency"},{"id":"cfg-sender-offer","name":"senderOffer","type":"string","value":"helping local businesses grow their online presence"}]}},"typeVersion":3.4},{"id":"decodo-maps-1","name":"Decodo: Scrape Google Maps","type":"@decodo/n8n-nodes-decodo.decodo","position":[4320,2944],"parameters":{"geo":"={{ $json.geo }}","url":"={{ 'https://www.google.com/maps/search/' + encodeURIComponent($json.niche + ' ' + $json.city) }}"},"typeVersion":1},{"id":"code-parse-1","name":"Parse Leads from Markdown","type":"n8n-nodes-base.code","position":[4544,2944],"parameters":{"jsCode":"const decodoOut = $input.first().json;\nconst rawContent = decodoOut.markdown || decodoOut.content || decodoOut.body || decodoOut.data || JSON.stringify(decodoOut);\nconst config = $('Search Config').first().json;\nconst niche = config.niche;\nconst city = config.city;\nconst MAX = config.maxLeads || 15;\nconst phoneRx = /\\(?\\d{3}\\)?[\\s.\\-]?\\d{3}[\\s.\\-]?\\d{4}/;\nconst urlRx = /https?:\\/\\/[^\\s)>\"',]+/;\nconst ratingRx = /([0-9]\\.[0-9])\\s*(?:stars?|out of|\\(|·|rating)/i;\nconst addrWords = ['Ave','Avenue','St','Street','Blvd','Boulevard','Rd','Road','Dr','Drive','Lane','Ln','Way','Court','Ct','Plaza','Pl','Suite','Ste'];\nconst lines = rawContent.split('\\n').map(l => l.replace(/[*#`|]/g,'').trim()).filter(l => l.length > 3);\nconst leads = [];\nlet current = {};\nlet leadCount = 0;\nconst isAddress = (line) => addrWords.some(kw => line.includes(kw)) && /\\d/.test(line);\nconst flush = () => {\n  if (current.businessName && (current.phone || current.website || current.address)) {\n    leads.push({ json: { id: `lead_${Date.now()}_${leadCount}`, businessName: current.businessName || '', address: current.address || '', phone: current.phone || '', website: current.website || '', rating: current.rating || '', niche, city, status: 'New', aiScore: '', aiSummary: '', email: '', emailSent: 'No', scrapedAt: new Date().toISOString() } });\n    leadCount++;\n  }\n};\nfor (let i = 0; i < lines.length && leadCount < MAX; i++) {\n  const line = lines[i];\n  const pm = line.match(phoneRx);\n  if (pm && current.businessName && !current.phone) { current.phone = pm[0]; continue; }\n  const um = line.match(urlRx);\n  if (um && current.businessName) { const u = um[0].replace(/[,.)]+$/,''); if (!u.includes('google') && !u.includes('goo.gl') && !u.includes('maps')) { current.website = u; continue; } }\n  const rm = line.match(ratingRx);\n  if (rm && current.businessName && !current.rating) { current.rating = parseFloat(rm[1]); continue; }\n  if (isAddress(line) && current.businessName && !current.address) { current.address = line; continue; }\n  if (/^[A-Z]/.test(line) && line.length >= 5 && line.length <= 75 && !line.includes('http') && !pm) { flush(); current = { businessName: line }; }\n}\nflush();\nif (leads.length === 0) { return [{ json: { error: 'No leads parsed', rawSample: rawContent.substring(0,800), niche, city } }]; }\nreturn leads;"},"typeVersion":2},{"id":"if-valid-lead-1","name":"Is Valid Lead?","type":"n8n-nodes-base.if","position":[4768,2944],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"cond-has-name","operator":{"type":"string","operation":"notEmpty"},"leftValue":"={{ $json.businessName }}","rightValue":""}]}},"typeVersion":2.2},{"id":"sheets-save-1","name":"Save Lead to Google Sheets","type":"n8n-nodes-base.googleSheets","position":[4992,2944],"parameters":{"columns":{"value":{"id":"={{ $json.id }}","city":"={{ $json.city }}","email":"={{ $json.email }}","niche":"={{ $json.niche }}","phone":"={{ $json.phone }}","rating":"={{ $json.rating }}","status":"={{ $json.status }}","address":"={{ $json.address }}","aiScore":"={{ $json.aiScore }}","website":"={{ $json.website }}","aiSummary":"={{ $json.aiSummary }}","emailSent":"={{ $json.emailSent }}","scrapedAt":"={{ $json.scrapedAt }}","businessName":"={{ $json.businessName }}"},"schema":[],"mappingMode":"defineBelow","matchingColumns":["id"]},"options":{},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"name","value":"Leads"},"documentId":{"__rl":true,"mode":"id","value":"={{ $('Search Config').first().json.googleSheetId }}"}},"credentials":{"googleSheetsOAuth2Api":{"id":"OF75AcTXxqM3Wdj9","name":"Google Sheets - Test"}},"typeVersion":4.7},{"id":"e6e50a51-5968-4090-992c-df02378df0c5","name":"Split In Batches","type":"n8n-nodes-base.splitInBatches","position":[5216,2944],"parameters":{"options":{}},"typeVersion":3},{"id":"104b56fb-964f-4a6d-ae7f-7f0e205bcbf7","name":"Has Website?","type":"n8n-nodes-base.if","position":[5440,2864],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"cond-website","operator":{"type":"string","operation":"notEmpty"},"leftValue":"={{ $json.website }}","rightValue":""}]}},"typeVersion":2.2},{"id":"800e38a5-faa1-41b2-b002-d9a636bbc15d","name":"Mark: No Website","type":"n8n-nodes-base.set","position":[5664,2960],"parameters":{"options":{},"assignments":{"assignments":[{"id":"nw-id","name":"id","type":"string","value":"={{ $json.id }}"},{"id":"nw-status","name":"status","type":"string","value":"No Website"},{"id":"nw-score","name":"aiScore","type":"number","value":2},{"id":"nw-summary","name":"aiSummary","type":"string","value":"No website found — lead skipped from AI enrichment."}]}},"typeVersion":3.4},{"id":"b7fbdc15-2f97-4872-8ecb-e707fa1e701f","name":"Decodo: Scrape Business Website","type":"@decodo/n8n-nodes-decodo.decodo","position":[5664,2768],"parameters":{"geo":"United States","url":"={{ $json.website }}"},"typeVersion":1},{"id":"9b9e015e-6032-4417-9ff5-cfa163d6c8a7","name":"Update Lead (No Website)","type":"n8n-nodes-base.googleSheets","position":[5888,2960],"parameters":{"columns":{"value":{"id":"={{ $json.id }}","status":"={{ $json.status }}","aiScore":"={{ $json.aiScore }}","aiSummary":"={{ $json.aiSummary }}"},"schema":[],"mappingMode":"defineBelow","matchingColumns":["id"]},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"name","value":"Leads"},"documentId":{"__rl":true,"mode":"id","value":"={{ $('Search Config').first().json.googleSheetId }}"}},"credentials":{"googleSheetsOAuth2Api":{"id":"OF75AcTXxqM3Wdj9","name":"Google Sheets - Test"}},"typeVersion":4.7},{"id":"faec214f-6216-4ce7-a57d-6be36ef319b4","name":"Merge Website Content","type":"n8n-nodes-base.set","position":[5888,2768],"parameters":{"options":{},"assignments":{"assignments":[{"id":"m-id","name":"id","type":"string","value":"={{ $('Split In Batches').item.json.id }}"},{"id":"m-name","name":"businessName","type":"string","value":"={{ $('Split In Batches').item.json.businessName }}"},{"id":"m-website","name":"website","type":"string","value":"={{ $('Split In Batches').item.json.website }}"},{"id":"m-niche","name":"niche","type":"string","value":"={{ $('Split In Batches').item.json.niche }}"},{"id":"m-city","name":"city","type":"string","value":"={{ $('Split In Batches').item.json.city }}"},{"id":"m-content","name":"websiteContent","type":"string","value":"={{ ($json.markdown || $json.content || $json.body || '').substring(0, 3000) }}"}]}},"typeVersion":3.4},{"id":"17253c4a-3d58-4961-b0a2-19c93e15fb51","name":"AI: Score & Enrich Lead","type":"n8n-nodes-base.openAi","position":[6112,2768],"parameters":{"options":{"maxTokens":500,"temperature":0.2},"resource":"chat","requestOptions":{}},"credentials":{"openAiApi":{"id":"5Ba37MPEpplPwdN5","name":"n8n free OpenAI API credits"}},"typeVersion":1.1},{"id":"2aecd8b5-884b-4f6a-9551-18d3e05d6732","name":"Parse AI Response","type":"n8n-nodes-base.code","position":[6336,2768],"parameters":{"mode":"runOnceForEachItem","jsCode":"const leadData = $('Split In Batches').item.json;\nconst aiRaw = $json.message?.content || $json.choices?.[0]?.message?.content || $json.content || '';\nlet aiResult = {};\ntry {\n  const cleaned = aiRaw.replace(/```json?/gi,'').replace(/```/g,'').trim();\n  aiResult = JSON.parse(cleaned);\n} catch(e) {\n  aiResult = { aiScore: 5, aiSummary: 'AI parse failed: ' + aiRaw.substring(0,100), employeeCount: 'Unknown', businessType: 'Unknown', techSavviness: 'Unknown', painPoints: '', email: '' };\n}\nreturn { json: { id: leadData.id, businessName: leadData.businessName, address: leadData.address||'', phone: leadData.phone||'', website: leadData.website||'', rating: leadData.rating||'', niche: leadData.niche||'', city: leadData.city||'', status: 'Enriched', aiScore: aiResult.aiScore||'', aiSummary: aiResult.aiSummary||'', employeeCount: aiResult.employeeCount||'', businessType: aiResult.businessType||'', techSavviness: aiResult.techSavviness||'', painPoints: aiResult.painPoints||'', email: aiResult.email||leadData.email||'', emailSent: leadData.emailSent||'No', scrapedAt: leadData.scrapedAt||'' } };"},"typeVersion":2},{"id":"58747d01-57a5-42a2-9200-73dc11624591","name":"Update Lead (Enriched)","type":"n8n-nodes-base.googleSheets","position":[6560,2944],"parameters":{"columns":{"value":{"id":"={{ $json.id }}","email":"={{ $json.email }}","status":"={{ $json.status }}","aiScore":"={{ $json.aiScore }}","aiSummary":"={{ $json.aiSummary }}","painPoints":"={{ $json.painPoints }}","businessType":"={{ $json.businessType }}","employeeCount":"={{ $json.employeeCount }}","techSavviness":"={{ $json.techSavviness }}"},"schema":[],"mappingMode":"defineBelow","matchingColumns":["id"]},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"name","value":"Leads"},"documentId":{"__rl":true,"mode":"id","value":"={{ $('Search Config').first().json.googleSheetId }}"}},"credentials":{"googleSheetsOAuth2Api":{"id":"OF75AcTXxqM3Wdj9","name":"Google Sheets - Test"}},"typeVersion":4.7},{"id":"e0b90205-19eb-43cb-b320-6675c889a1ac","name":"Get Enriched Leads","type":"n8n-nodes-base.googleSheets","position":[5440,2528],"parameters":{"options":{},"filtersUI":{"values":[{"lookupValue":"Enriched","lookupColumn":"status"}]},"sheetName":{"__rl":true,"mode":"name","value":"Leads"},"documentId":{"__rl":true,"mode":"id","value":"={{ $('Search Config').first().json.googleSheetId }}"}},"credentials":{"googleSheetsOAuth2Api":{"id":"OF75AcTXxqM3Wdj9","name":"Google Sheets - Test"}},"executeOnce":true,"typeVersion":4.7},{"id":"3bd6b600-155b-44e5-a6fb-837925bb7d4f","name":"Filter by Score Threshold","type":"n8n-nodes-base.code","position":[5664,2528],"parameters":{"jsCode":"const config = $('Search Config').first().json;\nconst threshold = Number(config.scoreThreshold) || 6;\nconst qualifiedLeads = $input.all().filter(item => {\n  const score = Number(item.json.aiScore) || 0;\n  const hasEmail = item.json.email && item.json.email.trim().length > 3;\n  const hasWebsite = item.json.website && item.json.website.trim().length > 5;\n  const notContacted = item.json.emailSent !== 'Yes';\n  return score >= threshold && hasEmail && hasWebsite && notContacted;\n});\nif (qualifiedLeads.length === 0) {\n  return [{ json: { __noLeads: true, message: `No leads meet threshold: score >= ${threshold} with email` } }];\n}\nreturn qualifiedLeads;"},"typeVersion":2},{"id":"6af19658-76da-43a8-9fa7-982961e4668f","name":"Qualified Leads Exist?","type":"n8n-nodes-base.if","position":[5888,2528],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"cond-no-leads","operator":{"type":"boolean","operation":"notEquals"},"leftValue":"={{ $json.__noLeads }}","rightValue":true}]}},"typeVersion":2.2},{"id":"16a7ec75-61a4-41c0-99e5-8903b8fc47a8","name":"Split In Batches1","type":"n8n-nodes-base.splitInBatches","position":[6112,2528],"parameters":{"options":{}},"typeVersion":3},{"id":"79fae8e6-e9ef-4ed5-bef1-54955a8798f7","name":"Decodo: Deep Scrape Website","type":"@decodo/n8n-nodes-decodo.decodo","position":[6336,2272],"parameters":{"geo":"United States","url":"={{ $json.website }}"},"typeVersion":1},{"id":"63c70c4d-210b-4afb-80cd-5bcda8abeba5","name":"Merge Lead + Content","type":"n8n-nodes-base.set","position":[6560,2272],"parameters":{"options":{},"assignments":{"assignments":[{"id":"mc-id","name":"id","type":"string","value":"={{ $('Split In Batches1').item.json.id }}"},{"id":"mc-name","name":"businessName","type":"string","value":"={{ $('Split In Batches1').item.json.businessName }}"},{"id":"mc-email","name":"recipientEmail","type":"string","value":"={{ $('Split In Batches1').item.json.email }}"},{"id":"mc-website","name":"website","type":"string","value":"={{ $('Split In Batches1').item.json.website }}"},{"id":"mc-summary","name":"aiSummary","type":"string","value":"={{ $('Split In Batches1').item.json.aiSummary }}"},{"id":"mc-pain","name":"painPoints","type":"string","value":"={{ $('Split In Batches1').item.json.painPoints }}"},{"id":"mc-niche","name":"niche","type":"string","value":"={{ $('Split In Batches1').item.json.niche }}"},{"id":"mc-city","name":"city","type":"string","value":"={{ $('Split In Batches1').item.json.city }}"},{"id":"mc-sender","name":"senderName","type":"string","value":"={{ $('Search Config').first().json.senderName }}"},{"id":"mc-company","name":"senderCompany","type":"string","value":"={{ $('Search Config').first().json.senderCompany }}"},{"id":"mc-offer","name":"senderOffer","type":"string","value":"={{ $('Search Config').first().json.senderOffer }}"},{"id":"mc-content","name":"websiteContent","type":"string","value":"={{ ($json.markdown || $json.content || $json.body || '').substring(0, 3500) }}"}]}},"typeVersion":3.4},{"id":"155ea4e9-aa18-4623-80a1-7052dfe309fc","name":"AI: Write Cold Email","type":"n8n-nodes-base.openAi","position":[6784,2272],"parameters":{"options":{"maxTokens":600,"temperature":0.7},"resource":"chat","requestOptions":{}},"credentials":{"openAiApi":{"id":"5Ba37MPEpplPwdN5","name":"n8n free OpenAI API credits"}},"typeVersion":1.1},{"id":"8a1f09c2-dbac-4d60-83a5-9a9df288f7ff","name":"Parse Email Content","type":"n8n-nodes-base.code","position":[7008,2272],"parameters":{"mode":"runOnceForEachItem","jsCode":"const lead = $('Merge Lead + Content').item.json;\nconst aiRaw = $json.message?.content || $json.choices?.[0]?.message?.content || $json.content || '';\nlet emailData = {};\ntry {\n  const cleaned = aiRaw.replace(/```json?/gi,'').replace(/```/g,'').trim();\n  emailData = JSON.parse(cleaned);\n} catch(e) {\n  emailData = {\n    emailSubject: `Quick question about ${lead.businessName}`,\n    emailBodyHtml: `<p>Hi there,</p><p>I came across ${lead.businessName} and was impressed by what you've built. I specialize in ${lead.senderOffer} and thought there might be a fit.</p><p>Open to a quick 15-minute call?</p><p>Best,<br>${lead.senderName}<br>${lead.senderCompany}</p>`\n  };\n}\nif (!emailData.emailSubject || emailData.emailSubject.length < 5) emailData.emailSubject = `Quick question, ${lead.businessName}`;\nif (!emailData.emailBodyHtml || emailData.emailBodyHtml.length < 20) emailData.emailBodyHtml = `<p>Hi there,</p><p>Loved your work at ${lead.businessName}. Would love to connect about ${lead.senderOffer}.</p><p>Worth a quick chat?</p><p>${lead.senderName}</p>`;\nreturn { json: { id: lead.id, businessName: lead.businessName, recipientEmail: lead.recipientEmail, website: lead.website, emailSubject: emailData.emailSubject, emailBodyHtml: emailData.emailBodyHtml, senderName: lead.senderName, senderCompany: lead.senderCompany } };"},"typeVersion":2},{"id":"10e90ee5-e213-4300-9e7d-0f4a75948479","name":"Valid Email Address?","type":"n8n-nodes-base.if","position":[7232,2272],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"cond-email","operator":{"type":"string","operation":"contains"},"leftValue":"={{ $json.recipientEmail }}","rightValue":"@"}]}},"typeVersion":2.2},{"id":"6f120d78-0ac2-4772-9592-6a6c6e4d2229","name":"Gmail: Send Cold Email","type":"n8n-nodes-base.gmail","position":[7456,2192],"webhookId":"03b04ff3-ae52-49ff-a17e-2c581f53421d","parameters":{"sendTo":"={{ $json.recipientEmail }}","message":"={{ $json.emailBodyHtml }}","options":{},"subject":"={{ $json.emailSubject }}"},"credentials":{"gmailOAuth2":{"id":"MMCLrFZUWET3tTiy","name":"Admin email account"}},"typeVersion":2.1},{"id":"a28f7f8e-9572-4e1b-9093-0b4372d04bf8","name":"Mark: Invalid Email","type":"n8n-nodes-base.googleSheets","position":[7456,2384],"parameters":{"columns":{"value":{"id":"={{ $json.id }}","status":"No Email"},"schema":[],"mappingMode":"defineBelow","matchingColumns":["id"]},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"name","value":"Leads"},"documentId":{"__rl":true,"mode":"id","value":"={{ $('Search Config').first().json.googleSheetId }}"}},"credentials":{"googleSheetsOAuth2Api":{"id":"OF75AcTXxqM3Wdj9","name":"Google Sheets - Test"}},"typeVersion":4.7},{"id":"5642aa01-efab-40ce-b506-751d613ac5f7","name":"Mark as Contacted","type":"n8n-nodes-base.googleSheets","position":[7680,2336],"parameters":{"columns":{"value":{"id":"={{ $('Parse Email Content').item.json.id }}","status":"Contacted","emailSent":"Yes","contactedAt":"={{ new Date().toISOString() }}","emailSubject":"={{ $('Parse Email Content').item.json.emailSubject }}"},"schema":[],"mappingMode":"defineBelow","matchingColumns":["id"]},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"name","value":"Leads"},"documentId":{"__rl":true,"mode":"id","value":"={{ $('Search Config').first().json.googleSheetId }}"}},"credentials":{"googleSheetsOAuth2Api":{"id":"OF75AcTXxqM3Wdj9","name":"Google Sheets - Test"}},"typeVersion":4.7},{"id":"92be83cc-542b-47be-be3f-ab298efdbfef","name":"📍 Stage 2: Enrichment","type":"n8n-nodes-base.stickyNote","position":[5200,2240],"parameters":{"color":7,"width":1544,"height":920,"content":"## 📍 Stage 2: Enrichment\n\nProcesses 'New' leads, scrapes websites, uses AI to score and enrich, updates status='Enriched'"},"typeVersion":1},{"id":"6ee2e8c7-57a1-4450-9602-26360f1af3a3","name":"📍 Stage 3: Outreach","type":"n8n-nodes-base.stickyNote","position":[6768,2096],"parameters":{"color":4,"width":1080,"height":488,"content":"## 📍 Stage 3: Outreach\n\nFilters enriched leads by score, generates personalized emails with AI, sends via Gmail, marks as 'Contacted'"},"typeVersion":1}],"pinData":{},"connections":{"Has Website?":{"main":[[{"node":"Decodo: Scrape Business Website","type":"main","index":0}],[{"node":"Mark: No Website","type":"main","index":0}]]},"Search Config":{"main":[[{"node":"Decodo: Scrape Google Maps","type":"main","index":0}]]},"Is Valid Lead?":{"main":[[{"node":"Save Lead to Google Sheets","type":"main","index":0}]]},"Mark: No Website":{"main":[[{"node":"Update Lead (No Website)","type":"main","index":0}]]},"Split In Batches":{"main":[[{"node":"Get Enriched Leads","type":"main","index":0}],[{"node":"Has Website?","type":"main","index":0}]]},"Mark as Contacted":{"main":[[{"node":"Split In Batches1","type":"main","index":0}]]},"Parse AI Response":{"main":[[{"node":"Update Lead (Enriched)","type":"main","index":0}]]},"Split In Batches1":{"main":[[],[{"node":"Decodo: Deep Scrape Website","type":"main","index":0}]]},"Get Enriched Leads":{"main":[[{"node":"Filter by Score Threshold","type":"main","index":0}]]},"Mark: Invalid Email":{"main":[[{"node":"Split In Batches1","type":"main","index":0}]]},"Parse Email Content":{"main":[[{"node":"Valid Email Address?","type":"main","index":0}]]},"AI: Write Cold Email":{"main":[[{"node":"Parse Email Content","type":"main","index":0}]]},"Merge Lead + Content":{"main":[[{"node":"AI: Write Cold Email","type":"main","index":0}]]},"Schedule: Daily 10AM":{"main":[[{"node":"Search Config","type":"main","index":0}]]},"Valid Email Address?":{"main":[[{"node":"Gmail: Send Cold Email","type":"main","index":0}],[{"node":"Mark: Invalid Email","type":"main","index":0}]]},"Merge Website Content":{"main":[[{"node":"AI: Score & Enrich Lead","type":"main","index":0}]]},"Gmail: Send Cold Email":{"main":[[{"node":"Mark as Contacted","type":"main","index":0}]]},"Qualified Leads Exist?":{"main":[[{"node":"Split In Batches1","type":"main","index":0}]]},"Update Lead (Enriched)":{"main":[[{"node":"Split In Batches","type":"main","index":0}]]},"AI: Score & Enrich Lead":{"main":[[{"node":"Parse AI Response","type":"main","index":0}]]},"Update Lead (No Website)":{"main":[[{"node":"Split In Batches","type":"main","index":0}]]},"Filter by Score Threshold":{"main":[[{"node":"Qualified Leads Exist?","type":"main","index":0}]]},"Parse Leads from Markdown":{"main":[[{"node":"Is Valid Lead?","type":"main","index":0}]]},"Decodo: Scrape Google Maps":{"main":[[{"node":"Parse Leads from Markdown","type":"main","index":0}]]},"Save Lead to Google Sheets":{"main":[[{"node":"Split In Batches","type":"main","index":0}]]},"Decodo: Deep Scrape Website":{"main":[[{"node":"Merge Lead + Content","type":"main","index":0}]]},"Decodo: Scrape Business Website":{"main":[[{"node":"Merge Website Content","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":31,"nodeTypes":{"n8n-nodes-base.if":{"count":4},"n8n-nodes-base.set":{"count":4},"n8n-nodes-base.code":{"count":4},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.openAi":{"count":2},"n8n-nodes-base.stickyNote":{"count":4},"n8n-nodes-base.googleSheets":{"count":6},"n8n-nodes-base.splitInBatches":{"count":2},"n8n-nodes-base.scheduleTrigger":{"count":1},"@decodo/n8n-nodes-decodo.decodo":{"count":3}}},"status":"published","readyToDemo":null,"user":{"name":"Fahmi Fahreza","username":"fahmiiireza","bio":"AI Automation Developer","verified":true,"links":["https://www.linkedin.com/in/fahmiiireza/"],"avatar":"https://gravatar.com/avatar/46b0a4e99b1fb75c7446b0ae1623544ad9def2bc674564c9f41c33ca6c55d27f?r=pg&d=retro&size=200"},"nodes":[{"id":18,"icon":"file:googleSheets.svg","name":"n8n-nodes-base.googleSheets","codex":{"data":{"alias":["CSV","Sheet","Spreadsheet","GS"],"resources":{"generic":[{"url":"https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/","icon":"❤️","label":"Love at first sight: Ricardo’s n8n journey"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/","icon":"⏲","label":"Creating triggers for n8n workflows using polling"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/","icon":"🍔","label":"How Honest Burgers Use Automation to Save $100k per year"},{"url":"https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/","icon":"💻","label":"How a digital strategist uses n8n for online marketing"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage","Productivity"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\",\"output\"]","defaults":{"name":"Google Sheets"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="},"displayName":"Google Sheets","typeVersion":5,"nodeCategories":[{"id":3,"name":"Data & Storage"},{"id":4,"name":"Productivity"}]},{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":39,"icon":"fa:sync","name":"n8n-nodes-base.splitInBatches","codex":{"data":{"alias":["Loop","Concatenate","Batch","Split","Split In Batches"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Loop Over Items","color":"#007755"},"iconData":{"icon":"sync","type":"icon"},"displayName":"Loop Over Items (Split in Batches)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":356,"icon":"file:gmail.svg","name":"n8n-nodes-base.gmail","codex":{"data":{"alias":["email","human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"transform\"]","defaults":{"name":"Gmail"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"},"displayName":"Gmail","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":839,"icon":"fa:clock","name":"n8n-nodes-base.scheduleTrigger","codex":{"data":{"alias":["Time","Scheduler","Polling","Cron","Interval"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\",\"schedule\"]","defaults":{"name":"Schedule Trigger","color":"#31C49F"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Schedule Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":840,"icon":"file:openAi.svg","name":"n8n-nodes-base.openAi","codex":{"data":{"alias":["ChatGPT","DallE"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-langchain.openai/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/openai/"}]},"categories":["Utility"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"transform\"]","defaults":{"name":"OpenAI"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMjYwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTIzOS4xODQgMTA2LjIwM2E2NC43MiA2NC43MiAwIDAgMC01LjU3Ni01My4xMDNDMjE5LjQ1MiAyOC40NTkgMTkxIDE1Ljc4NCAxNjMuMjEzIDIxLjc0QTY1LjU4NiA2NS41ODYgMCAwIDAgNTIuMDk2IDQ1LjIyYTY0LjcyIDY0LjcyIDAgMCAwLTQzLjIzIDMxLjM2Yy0xNC4zMSAyNC42MDItMTEuMDYxIDU1LjYzNCA4LjAzMyA3Ni43NGE2NC42NyA2NC42NyAwIDAgMCA1LjUyNSA1My4xMDJjMTQuMTc0IDI0LjY1IDQyLjY0NCAzNy4zMjQgNzAuNDQ2IDMxLjM2YTY0LjcyIDY0LjcyIDAgMCAwIDQ4Ljc1NCAyMS43NDRjMjguNDgxLjAyNSA1My43MTQtMTguMzYxIDYyLjQxNC00NS40ODFhNjQuNzcgNjQuNzcgMCAwIDAgNDMuMjI5LTMxLjM2YzE0LjEzNy0yNC41NTggMTAuODc1LTU1LjQyMy04LjA4My03Ni40ODNtLTk3LjU2IDEzNi4zMzhhNDguNCA0OC40IDAgMCAxLTMxLjEwNS0xMS4yNTVsMS41MzUtLjg3IDUxLjY3LTI5LjgyNWE4LjYgOC42IDAgMCAwIDQuMjQ3LTcuMzY3di03Mi44NWwyMS44NDUgMTIuNjM2Yy4yMTguMTExLjM3LjMyLjQwOS41NjN2NjAuMzY3Yy0uMDU2IDI2LjgxOC0yMS43ODMgNDguNTQ1LTQ4LjYwMSA0OC42MDFNMzcuMTU4IDE5Ny45M2E0OC4zNSA0OC4zNSAwIDAgMS01Ljc4MS0zMi41ODlsMS41MzQuOTIxIDUxLjcyMiAyOS44MjZhOC4zNCA4LjM0IDAgMCAwIDguNDQxIDBsNjMuMTgxLTM2LjQyNXYyNS4yMjFhLjg3Ljg3IDAgMCAxLS4zNTguNjY1bC01Mi4zMzUgMzAuMTg0Yy0yMy4yNTcgMTMuMzk4LTUyLjk3IDUuNDMxLTY2LjQwNC0xNy44MDNNMjMuNTQ5IDg1LjM4YTQ4LjUgNDguNSAwIDAgMSAyNS41OC0yMS4zMzN2NjEuMzlhOC4yOSA4LjI5IDAgMCAwIDQuMTk1IDcuMzE2bDYyLjg3NCAzNi4yNzItMjEuODQ1IDEyLjYzNmEuODIuODIgMCAwIDEtLjc2NyAwTDQxLjM1MyAxNTEuNTNjLTIzLjIxMS0xMy40NTQtMzEuMTcxLTQzLjE0NC0xNy44MDQtNjYuNDA1em0xNzkuNDY2IDQxLjY5NS02My4wOC0zNi42M0wxNjEuNzMgNzcuODZhLjgyLjgyIDAgMCAxIC43NjggMGw1Mi4yMzMgMzAuMTg0YTQ4LjYgNDguNiAwIDAgMS03LjMxNiA4Ny42MzV2LTYxLjM5MWE4LjU0IDguNTQgMCAwIDAtNC40LTcuMjEzbTIxLjc0Mi0zMi42OS0xLjUzNS0uOTIyLTUxLjYxOS0zMC4wODFhOC4zOSA4LjM5IDAgMCAwLTguNDkyIDBMOTkuOTggOTkuODA4Vjc0LjU4N2EuNzIuNzIgMCAwIDEgLjMwNy0uNjY1bDUyLjIzMy0zMC4xMzNhNDguNjUyIDQ4LjY1MiAwIDAgMSA3Mi4yMzYgNTAuMzkxek04OC4wNjEgMTM5LjA5N2wtMjEuODQ1LTEyLjU4NWEuODcuODcgMCAwIDEtLjQxLS42MTRWNjUuNjg1YTQ4LjY1MiA0OC42NTIgMCAwIDEgNzkuNzU3LTM3LjM0NmwtMS41MzUuODctNTEuNjcgMjkuODI1YTguNiA4LjYgMCAwIDAtNC4yNDYgNy4zNjd6bTExLjg2OC0yNS41OEwxMjguMDY3IDk3LjNsMjguMTg4IDE2LjIxOHYzMi40MzRsLTI4LjA4NiAxNi4yMTgtMjguMTg4LTE2LjIxOHoiLz48L3N2Zz4="},"displayName":"OpenAI","typeVersion":1,"nodeCategories":[{"id":7,"name":"Utility"}]}],"categories":[{"id":37,"name":"Lead Generation"},{"id":49,"name":"AI Summarization"}],"image":[]}}