{"workflow":{"id":12855,"name":"Extract and qualify local business leads and draft cold emails with OpenAI, Apify and Hunter","views":155,"recentViews":0,"totalViews":155,"createdAt":"2026-01-20T21:49:22.304Z","description":"# AI-Powered Business Lead Scraping, Qualification & Outreach System\n\n## Description\n**Search → Scrape → Qualify → CRM → Email Draft Automation**\n\n**Categories:** Lead Generation, Sales Automation, AI Enrichment, Revenue Ops\n\n---\n\nThis workflow automatically finds local businesses, extracts real contact details from their websites, qualifies them, and writes everything into a CRM — with personalized cold email drafts ready to send.\n\nIt’s designed to remove the manual grind from lead sourcing and first-touch outreach.\n\n**Search → leads → context → drafts → done.**\n\n---\n\n## What This Workflow Does\n\nThis automation takes raw local business results and turns them into usable, qualified leads:\n\n- Pulls local business websites from a search dataset  \n- Scrapes each site for real contact information  \n- Normalizes emails, phones, names, and addresses  \n- Qualifies leads based on reachability and ops signals  \n- Writes clean, deduplicated records into a CRM  \n- Generates human-sounding cold email drafts  \n\nNo copying websites. No guessing emails. No messy spreadsheets.\n\n---\n\n## Why This Exists\n\nMost lead gen systems fail before outreach even starts.\n\nThey rely on:\n- Shallow scraped data  \n- Guessy enrichment  \n- Low-quality lists  \n- Manual cleanup  \n\nThis system fixes that by grounding everything in what actually exists on the business website, then using AI only where it makes sense.\n\n**Human judgment at the edges. Automation in the middle.**\n\n---\n\n## How It Works (High Level)\n\n### 1. Lead Source Ingestion (Apify Dataset)\n\nThe workflow starts with a dataset of local business search results.\n\nThis can be:\n- Google search results  \n- Industry-specific directories  \n- Any Apify-powered source that includes URLs  \n\nBatch size is intentionally limited for safety.\n\n---\n\n### 2. Website Scraping\n\nEach business website is fetched and stripped down to raw text.\n\nFailures are allowed — broken sites simply don’t qualify later.\n\nThe raw content becomes the single source of truth.\n\n---\n\n### 3. AI Contact Extraction & Normalization\n\nAI parses the site content to extract:\n- Emails and phones  \n- Company name and address  \n- Contact people and titles  \n- Social links and contact pages  \n- Context snippets for traceability  \n\nEverything is normalized and returned as strict JSON.  \nIf something isn’t clearly present, it stays empty.\n\n---\n\n### 4. Lead Qualification\n\nLeads are scored based on:\n- Reachability (email + website)  \n- Basic operational signals  \n- Optional social presence  \n\nLow-quality or unreachable leads are filtered out automatically.\n\n---\n\n### 5. CRM Write (Google Sheets)\n\nQualified leads are written into a lightweight CRM:\n\n- Append-or-update by email  \n- Safe to re-run  \n- Easy to inspect and debug  \n\nThis sheet becomes the system of record.\n\n---\n\n### 6. Cold Email Draft Generation\n\nFor each qualified lead, AI generates a personalized cold email draft:\n\n- Casual, human tone  \n- Uses real site context  \n- Stored as drafts only  \n- Never auto-sent  \n\nPerfect for review, sequencing, or export into an outreach tool.\n\n---\n\n## Tools Used\n\n- **n8n** — workflow orchestration  \n- **Apify** — lead sourcing  \n- **OpenAI** — extraction, qualification, email drafting  \n- **Google Sheets** — lightweight CRM  \n- **Hunter** — email verification  \n- **Tavily** — optional enrichment & validation  \n\n---\n\n## Who This Is For\n\n- Automation and AI agencies  \n- Consultants doing outbound  \n- Freelancers selling repeatable services  \n- Local-service lead gen operators  \n- Anyone tired of low-quality scraped lists  \n\n---\n\n## Customization Notes\n\n- Swap Google Sheets for Airtable, HubSpot, or Notion  \n- Adjust qualification thresholds to control lead volume  \n- Replace Apify source with any directory or search dataset  \n- Plug drafts into any outbound sequencing tool  \n- Extend metadata for analytics or CRM sync  \n\n---\n\n## Difficulty & Cost\n\n**Difficulty:** Intermediate  \n(Simple concept, careful execution)\n\n**Estimated setup time:** 30–45 minutes  \n\n**Ongoing cost:**  \nOpenAI + Apify + verification APIs only\n\n---\n\n## Summary\n\nThis is not just a scraper.\n\nIt’s a **lead intelligence pipeline** that turns raw search results into real, usable outbound opportunities.\n\n**Search → scrape → qualify → CRM → drafts**  \nNo guessing. No junk leads. No manual cleanup.","workflow":{"id":"5ebLWBeeTQaP5uWD","meta":{"instanceId":"1ec593ae0fa2619f595b38d245960de2a2f6fed6beb5ec356f635531651a388c","templateCredsSetupCompleted":true},"name":"AI-Powered Local Business Lead Scraping, Qualification and Outreach System","tags":[],"nodes":[{"id":"594adee7-a24d-4b4e-9738-83b3e12c7fa6","name":"Scrape Lead Website","type":"n8n-nodes-base.html","position":[2976,1136],"parameters":{"options":{},"operation":"extractHtmlContent","dataPropertyName":"=data","extractionValues":{"values":[{"key":"content","cssSelector":"body"}]}},"typeVersion":1.2},{"id":"3ce2d134-2d1f-42b6-ae9e-b3724e7bef2a","name":"Filter Qualified Leads","type":"n8n-nodes-base.filter","position":[3600,1136],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"id-1","operator":{"type":"number","operation":"notEquals"},"leftValue":"={{ $('Lead Qualification Agent').item.json.output[1].content[0].text.quality_tier }}","rightValue":0},{"id":"3bdaf791-7e98-43fd-ba61-fafaab97216c","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.status }}","rightValue":"valid"}]}},"typeVersion":2.3},{"id":"9c5d551e-e3b5-4deb-ab18-029c1a68638e","name":"Write Qualified Leads to CRM","type":"n8n-nodes-base.googleSheets","position":[4352,1008],"parameters":{"columns":{"value":{"Email":"={{ $json.output[1].content[0].text.email }}","Notes":"={{ $json.output[1].content[0].text.notes }}","Status":"Qualified","Phone Raw":"={{ $json.output[1].content[0].text.phone_raw }}","Phone E164":"={{ $json.output[1].content[0].text.phone_e164 }}","Phone Type":"={{ $json.output[1].content[0].text.phone_type }}","Social URL":"={{ $json.output[1].content[0].text.social_url }}","Source URL":"={{ $json.output[1].content[0].text.source_url }}","Person Name":"={{ $json.output[1].content[0].text.person_name }}","Phone Label":"={{ $json.output[1].content[0].text.phone_label }}","Address Line":"={{ $json.output[1].content[0].text.address_line }}","Person Email":"={{ $json.output[1].content[0].text.person_email }}","Person Title":"={{ $json.output[1].content[0].text.person_title }}","Address Label":"={{ $json.output[1].content[0].text.address_label }}","Email Context":"={{ $json.output[1].content[0].text.email_context }}","Phone Context":"={{ $json.output[1].content[0].text.phone_context }}","Person Context":"={{ $json.output[1].content[0].text.person_context }}","Social Context":"={{ $json.output[1].content[0].text.social_context }}","Address Context":"={{ $json.output[1].content[0].text.address_context }}","Icebreaker Line":"={{ $json.output[1].content[0].text.icebreaker_line }}","Social Platform":"={{ $json.output[1].content[0].text.social_platform }}","Contact Page URL":"={{ $json.output[1].content[0].text.contact_page_url }}","Messenger Handle":"={{ $json.output[1].content[0].text.messenger_handle }}","Person Phone Raw":"={{ $json.output[1].content[0].text.person_phone_raw }}","Messenger Context":"={{ $json.output[1].content[0].text.messenger_context }}","Company Legal Name":"={{ $json.output[1].content[0].text.company_legal_name }}","Confidence Overall":"={{ $json.output[1].content[0].text.confidence_overall }}","Messenger Platform":"={{ $json.output[1].content[0].text.messenger_platform }}","Contact Page Context":"={{ $json.output[1].content[0].text.contact_page_context }}"},"schema":[{"id":"Source URL","type":"string","display":true,"removed":false,"required":false,"displayName":"Source URL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Company Legal Name","type":"string","display":true,"removed":false,"required":false,"displayName":"Company Legal Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Status","type":"string","display":true,"removed":false,"required":false,"displayName":"Status","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Email","type":"string","display":true,"removed":false,"required":false,"displayName":"Email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Email Context","type":"string","display":true,"removed":false,"required":false,"displayName":"Email Context","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Phone Raw","type":"string","display":true,"removed":false,"required":false,"displayName":"Phone Raw","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Phone E164","type":"string","display":true,"removed":false,"required":false,"displayName":"Phone E164","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Phone Type","type":"string","display":true,"removed":false,"required":false,"displayName":"Phone Type","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Phone Label","type":"string","display":true,"removed":false,"required":false,"displayName":"Phone Label","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Phone Context","type":"string","display":true,"removed":false,"required":false,"displayName":"Phone Context","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Social Platform","type":"string","display":true,"removed":false,"required":false,"displayName":"Social Platform","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Social URL","type":"string","display":true,"removed":false,"required":false,"displayName":"Social URL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Social Context","type":"string","display":true,"removed":false,"required":false,"displayName":"Social Context","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Messenger Platform","type":"string","display":true,"removed":false,"required":false,"displayName":"Messenger Platform","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Messenger Handle","type":"string","display":true,"removed":false,"required":false,"displayName":"Messenger Handle","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Messenger Context","type":"string","display":true,"removed":false,"required":false,"displayName":"Messenger Context","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Contact Page URL","type":"string","display":true,"removed":false,"required":false,"displayName":"Contact Page URL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Contact Page Context","type":"string","display":true,"removed":false,"required":false,"displayName":"Contact Page Context","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Address Line","type":"string","display":true,"removed":false,"required":false,"displayName":"Address Line","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Address Label","type":"string","display":true,"removed":false,"required":false,"displayName":"Address Label","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Address Context","type":"string","display":true,"removed":false,"required":false,"displayName":"Address Context","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Person Name","type":"string","display":true,"removed":false,"required":false,"displayName":"Person Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Person Title","type":"string","display":true,"removed":false,"required":false,"displayName":"Person Title","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Person Email","type":"string","display":true,"removed":false,"required":false,"displayName":"Person Email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Person Phone Raw","type":"string","display":true,"removed":false,"required":false,"displayName":"Person Phone Raw","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Person Context","type":"string","display":true,"removed":false,"required":false,"displayName":"Person Context","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Notes","type":"string","display":true,"removed":false,"required":false,"displayName":"Notes","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Confidence Overall","type":"string","display":true,"removed":false,"required":false,"displayName":"Confidence Overall","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Icebreaker Line","type":"string","display":true,"removed":false,"required":false,"displayName":"Icebreaker Line","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Company Logo","type":"string","display":true,"removed":false,"required":false,"displayName":"Company Logo","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Cold Email","type":"string","display":true,"removed":false,"required":false,"displayName":"Cold Email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Qualified","type":"string","display":true,"removed":false,"required":false,"displayName":"Qualified","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Problem","type":"string","display":true,"removed":false,"required":false,"displayName":"Problem","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Solution","type":"string","display":true,"removed":false,"required":false,"displayName":"Solution","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Scope","type":"string","display":true,"removed":false,"required":false,"displayName":"Scope","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Cost","type":"string","display":true,"removed":false,"required":false,"displayName":"Cost","defaultMatch":false,"canBeUsedToMatch":true},{"id":"How soon?","type":"string","display":true,"removed":false,"required":false,"displayName":"How soon?","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["Email"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1ROLrrdi9qCrbt80dpn27UrnXydCRH_oGKbW61_G_liw/edit#gid=0","cachedResultName":"Sheet1"},"documentId":{"__rl":true,"mode":"list","value":"1ROLrrdi9qCrbt80dpn27UrnXydCRH_oGKbW61_G_liw","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1ROLrrdi9qCrbt80dpn27UrnXydCRH_oGKbW61_G_liw/edit?usp=drivesdk","cachedResultName":"CRM"}},"credentials":{"googleSheetsOAuth2Api":{"id":"qynqhwYBSaAKJABt","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"4fd08224-8981-44b4-93ae-0caf1b499c26","name":"Write Cold Email to CRM","type":"n8n-nodes-base.googleSheets","position":[4352,1248],"parameters":{"columns":{"value":{"Email":"={{ $json.output[1].content[0].text.email_address }}","Cold Email":"={{ $json.output[1].content[0].text }}"},"schema":[{"id":"Source URL","type":"string","display":true,"removed":false,"required":false,"displayName":"Source URL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Company Legal Name","type":"string","display":true,"removed":false,"required":false,"displayName":"Company Legal Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Status","type":"string","display":true,"removed":false,"required":false,"displayName":"Status","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Email","type":"string","display":true,"removed":false,"required":false,"displayName":"Email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Email Context","type":"string","display":true,"removed":false,"required":false,"displayName":"Email Context","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Phone Raw","type":"string","display":true,"removed":false,"required":false,"displayName":"Phone Raw","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Phone E164","type":"string","display":true,"removed":false,"required":false,"displayName":"Phone E164","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Phone Type","type":"string","display":true,"removed":false,"required":false,"displayName":"Phone Type","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Phone Label","type":"string","display":true,"removed":false,"required":false,"displayName":"Phone Label","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Phone Context","type":"string","display":true,"removed":false,"required":false,"displayName":"Phone Context","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Social Platform","type":"string","display":true,"removed":false,"required":false,"displayName":"Social Platform","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Social URL","type":"string","display":true,"removed":false,"required":false,"displayName":"Social URL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Social Context","type":"string","display":true,"removed":false,"required":false,"displayName":"Social Context","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Messenger Platform","type":"string","display":true,"removed":false,"required":false,"displayName":"Messenger Platform","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Messenger Handle","type":"string","display":true,"removed":false,"required":false,"displayName":"Messenger Handle","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Messenger Context","type":"string","display":true,"removed":false,"required":false,"displayName":"Messenger Context","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Contact Page URL","type":"string","display":true,"removed":false,"required":false,"displayName":"Contact Page URL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Contact Page Context","type":"string","display":true,"removed":false,"required":false,"displayName":"Contact Page Context","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Address Line","type":"string","display":true,"removed":false,"required":false,"displayName":"Address Line","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Address Label","type":"string","display":true,"removed":false,"required":false,"displayName":"Address Label","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Address Context","type":"string","display":true,"removed":false,"required":false,"displayName":"Address Context","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Person Name","type":"string","display":true,"removed":false,"required":false,"displayName":"Person Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Person Title","type":"string","display":true,"removed":false,"required":false,"displayName":"Person Title","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Person Email","type":"string","display":true,"removed":false,"required":false,"displayName":"Person Email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Person Phone Raw","type":"string","display":true,"removed":false,"required":false,"displayName":"Person Phone Raw","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Person Context","type":"string","display":true,"removed":false,"required":false,"displayName":"Person Context","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Notes","type":"string","display":true,"removed":false,"required":false,"displayName":"Notes","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Confidence Overall","type":"string","display":true,"removed":false,"required":false,"displayName":"Confidence Overall","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Icebreaker Line","type":"string","display":true,"removed":false,"required":false,"displayName":"Icebreaker Line","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Company Logo","type":"string","display":true,"removed":false,"required":false,"displayName":"Company Logo","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Cold Email","type":"string","display":true,"required":false,"displayName":"Cold Email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Qualified","type":"string","display":true,"removed":false,"required":false,"displayName":"Qualified","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Problem","type":"string","display":true,"removed":false,"required":false,"displayName":"Problem","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Solution","type":"string","display":true,"removed":false,"required":false,"displayName":"Solution","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Scope","type":"string","display":true,"removed":false,"required":false,"displayName":"Scope","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Cost","type":"string","display":true,"removed":false,"required":false,"displayName":"Cost","defaultMatch":false,"canBeUsedToMatch":true},{"id":"How soon?","type":"string","display":true,"removed":false,"required":false,"displayName":"How soon?","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["Email"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1ROLrrdi9qCrbt80dpn27UrnXydCRH_oGKbW61_G_liw/edit#gid=0","cachedResultName":"Sheet1"},"documentId":{"__rl":true,"mode":"list","value":"1ROLrrdi9qCrbt80dpn27UrnXydCRH_oGKbW61_G_liw","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1ROLrrdi9qCrbt80dpn27UrnXydCRH_oGKbW61_G_liw/edit?usp=drivesdk","cachedResultName":"CRM"}},"credentials":{"googleSheetsOAuth2Api":{"id":"qynqhwYBSaAKJABt","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"115f1d4e-75ac-4434-b1e7-680ef4f3ff90","name":"Get dataset items","type":"@apify/n8n-nodes-apify.apify","position":[2112,1136],"parameters":{"limit":1,"offset":{},"resource":"Datasets","datasetId":"DYsNRwZgOhOhmXttk","authentication":"apifyOAuth2Api"},"credentials":{"apifyOAuth2Api":{"id":"mM2XQ3q1y78CG8ts","name":"Apify account"}},"typeVersion":1},{"id":"7dbe1d4a-65bc-4619-bb0c-7ac539da4aa6","name":"When clicking ‘Execute workflow’","type":"n8n-nodes-base.manualTrigger","position":[1888,1136],"parameters":{},"typeVersion":1},{"id":"cc00d4cf-472f-4771-b807-b1fca0a31837","name":"Limit","type":"n8n-nodes-base.limit","position":[2336,1136],"parameters":{"maxItems":3},"typeVersion":1},{"id":"59838c68-cc52-42ee-970e-af9c78d25f22","name":"Scrape Home","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","position":[2752,1152],"parameters":{"url":"={{ $json.organicResults.url }}","options":{"redirect":{"redirect":{"maxRedirects":5}},"allowUnauthorizedCerts":false}},"executeOnce":false,"typeVersion":4.2,"alwaysOutputData":false},{"id":"15ac4695-71b5-44e1-abc8-fb9e1ffc924a","name":"Loop Over Items","type":"n8n-nodes-base.splitInBatches","position":[2560,1136],"parameters":{"options":{}},"typeVersion":3},{"id":"d7686d18-407f-4648-a708-98b719399bb1","name":"Merge","type":"n8n-nodes-base.merge","position":[4624,1232],"parameters":{"mode":"chooseBranch"},"typeVersion":3.2},{"id":"2b3342ff-ab73-4631-a5f2-c8a5ac470489","name":"Lead Normalize Agent","type":"@n8n/n8n-nodes-langchain.openAi","position":[3984,1008],"parameters":{"modelId":{"__rl":true,"mode":"list","value":"gpt-5-mini","cachedResultName":"GPT-5-MINI"},"options":{"reasoning":{"reasoningOptions":{"effort":"low","summary":"none"}},"textFormat":{"textOptions":{"type":"json_object"}}},"simplify":false,"responses":{"values":[{"content":"You will receive stripped HTML / site text (raw content with tags removed or simplified). Extract real contact details, normalize them, and return ONLY a JSON object that validates against the schema below.\n\nIf a field is missing, leave it as an empty string \"\" (or empty array [] if the schema says array). Never guess. Never invent. No null. No \"N/A\". No comments. No extra keys.\n\nPriority order:\n1) emails\n2) phone numbers (convert to E.164 only when you can infer country reliably)\n3) everything else that helps reach them: names/titles, company name, address, contact page URL, socials, messengers, hours, generic inboxes\n4) one single-line icebreaker for outreach\n\nBe strict:\n- Only include items explicitly present in the text, including common obfuscations like \"name [at] domain dot com\" (de-obfuscate conservatively).\n- Emails: lowercase + trim; must include @ and a valid TLD; ignore obvious junk (image filenames, example.com, lorem).\n- Phones: keep phone_raw; E.164 only if country is clear from context (country name/code/format). If unclear, keep e164 as \"\".\n- URLs: keep as seen; include scheme if present.\n- Names/titles: human-readable; don't guess gender.\n- Addresses: single line, keep as written; don't mix hours/directions into it.\n- Deduplicate case-insensitively; keep the clearest variant.\n- confidence_overall is a heuristic 0–1; reserve 0.95+ for unambiguous labeled contact info.\n- For each extracted item, include a short context snippet (<=140 chars) in the corresponding *_context field.\n\nIf you are unsure about an item, leave it out.\n\nIcebreaker:\nAfter filling the schema, set icebreaker_line to exactly one polite sentence in this format:\n\"Hi—I'm not sure if this is {name} or perhaps the front office, but I'm a big fan of {paraphrasedApproach} and wanted to run something by {him/her}.\"\n- {name} = person_name if present, else company_legal_name\n- {paraphrasedApproach} = 3–8 words describing what they do\n- {him/her} = only if clearly inferable; otherwise use \"them\"\nReturn one single line.\n\nReturn format: ONLY the JSON object. No preamble. No markdown.\n\n⸻\n\nJSON Schema (Draft 2020-12) — Single-Item Contact\n\n{\n  \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n  \"title\": \"ContactExtractionSingle\",\n  \"type\": \"object\",\n  \"additionalProperties\": false,\n  \"required\": [\n    \"source_url\",\n    \"company_legal_name\",\n    \"email\",\n    \"email_context\",\n    \"phone_raw\",\n    \"phone_e164\",\n    \"phone_type\",\n    \"phone_label\",\n    \"phone_context\",\n    \"social_platform\",\n    \"social_url\",\n    \"social_context\",\n    \"messenger_platform\",\n    \"messenger_handle\",\n    \"messenger_context\",\n    \"contact_page_url\",\n    \"contact_page_context\",\n    \"address_line\",\n    \"address_label\",\n    \"address_context\",\n    \"person_name\",\n    \"person_title\",\n    \"person_email\",\n    \"person_phone_raw\",\n    \"person_context\",\n    \"notes\",\n    \"confidence_overall\",\n    \"icebreaker_line\"\n  ],\n  \"properties\": {\n    \"source_url\": { \"type\": \"string\", \"default\": \"\" },\n    \"company_legal_name\": { \"type\": \"string\", \"default\": \"\" },\n\n    \"email\": { \"type\": \"string\", \"default\": \"\" },\n    \"email_context\": { \"type\": \"string\", \"default\": \"\" },\n\n    \"phone_raw\": { \"type\": \"string\", \"default\": \"\" },\n    \"phone_e164\": { \"type\": \"string\", \"default\": \"\" },\n    \"phone_type\": {\n      \"type\": \"string\",\n      \"enum\": [\"main\", \"mobile\", \"toll_free\", \"fax\", \"sales\", \"support\", \"billing\", \"other\"],\n      \"default\": \"other\"\n    },\n    \"phone_label\": { \"type\": \"string\", \"default\": \"\" },\n    \"phone_context\": { \"type\": \"string\", \"default\": \"\" },\n\n    \"social_platform\": {\n      \"type\": \"string\",\n      \"enum\": [\"facebook\", \"instagram\", \"linkedin\", \"twitter\", \"x\", \"youtube\", \"tiktok\", \"github\", \"glassdoor\", \"other\", \"\"],\n      \"default\": \"\"\n    },\n    \"social_url\": { \"type\": \"string\", \"default\": \"\" },\n    \"social_context\": { \"type\": \"string\", \"default\": \"\" },\n\n    \"messenger_platform\": {\n      \"type\": \"string\",\n      \"enum\": [\"whatsapp\", \"telegram\", \"wechat\", \"line\", \"signal\", \"facebook_messenger\", \"other\", \"\"],\n      \"default\": \"\"\n    },\n    \"messenger_handle\": { \"type\": \"string\", \"default\": \"\" },\n    \"messenger_context\": { \"type\": \"string\", \"default\": \"\" },\n\n    \"contact_page_url\": { \"type\": \"string\", \"default\": \"\" },\n    \"contact_page_context\": { \"type\": \"string\", \"default\": \"\" },\n\n    \"address_line\": { \"type\": \"string\", \"default\": \"\" },\n    \"address_label\": { \"type\": \"string\", \"default\": \"\" },\n    \"address_context\": { \"type\": \"string\", \"default\": \"\" },\n\n    \"person_name\": { \"type\": \"string\", \"default\": \"\" },\n    \"person_title\": { \"type\": \"string\", \"default\": \"\" },\n    \"person_email\": { \"type\": \"string\", \"default\": \"\" },\n    \"person_phone_raw\": { \"type\": \"string\", \"default\": \"\" },\n    \"person_context\": { \"type\": \"string\", \"default\": \"\" },\n\n    \"notes\": { \"type\": \"string\", \"maxLength\": 180, \"default\": \"\" },\n    \"confidence_overall\": { \"type\": \"number\", \"minimum\": 0, \"maximum\": 1 },\n\n    \"icebreaker_line\": {\n      \"type\": \"string\",\n      \"description\": \"One-line icebreaker email of the format: 'Hi—I'm not sure if this is {name} or perhaps the front office, but I'm a big fan of {paraphrasedApproach} and wanted to run something by {him/her}.'\",\n      \"default\": \"\"\n    }\n  }\n}"},{"content":"={{ $('Scrape Lead Website').item.json.content }}{{ $json.results }}"}]},"builtInTools":{}},"credentials":{"openAiApi":{"id":"VSfMFnY2HfxMoGF5","name":"OpenAi account"}},"typeVersion":2.1},{"id":"f9290323-6427-4c4d-9069-ac06471f3464","name":"Cold Email Writer AI Agent1","type":"@n8n/n8n-nodes-langchain.openAi","position":[3984,1248],"parameters":{"modelId":{"__rl":true,"mode":"list","value":"gpt-5-mini","cachedResultName":"GPT-5-MINI"},"options":{"reasoning":{"reasoningOptions":{"effort":"low","summary":"none"}},"textFormat":{"textOptions":{"type":"json_object"}}},"simplify":false,"responses":{"values":[{"content":"You’re personalizing a cold email based on a prospect’s LinkedIn profile.\n\nYou must fill 5 parts: subjectLine, icebreaker, elevatorPitch, callToAction, ps.\nUse the templates below as the base, but make them feel human:\n- Paraphrase. Don’t copy LinkedIn text.\n- Keep it short, casual, “bar conversation”. No fancy language.\n- Subject line MUST be non-capitalized.\n\nTemplates:\nSubject Line: \"hey {name}, think I have something for you re: {thingAboutThem}\"\nIcebreaker: \"I know you're doing {thing} and I've been following {relatedThing} for a while so I figured it made sense to chat\"\nElevator Pitch: \"The TLDR: I think I can add ~$5K/mo to {theirParaphrasedBusiness} with a few automated systems\"\nCall to Action: \"I just did this for a very similar {industry} company and we hit $28,350 in a few months—they do {relatedThing}—so am very confident I can duplicate this at minimum. Would be 100% risk-free, I'd guarantee at least 20 appts booked or you wouldn't pay.\"\nPS: \"even if we just chat I'd love to hear about what you're doing with {thing}\"\n\nReturn ONLY valid JSON in exactly this shape (no extra keys, no prose):\n{\"email_address\":\"\",\"subjectLine\":\"\",\"icebreaker\":\"\",\"elevatorPitch\":\"\",\"callToAction\":\"\",\"ps\":\"\"}"},{"content":"={{ $('Scrape Lead Website').item.json.content }}{{ $json.results }}"}]},"builtInTools":{}},"credentials":{"openAiApi":{"id":"VSfMFnY2HfxMoGF5","name":"OpenAi account"}},"typeVersion":2.1},{"id":"87bb37dd-2317-4633-b9fd-0ea79ee5fccd","name":"Hunter","type":"n8n-nodes-base.hunter","position":[3440,1136],"parameters":{"email":"={{ $json.output[1].content[0].text[\"email (if exists)\"] }}","operation":"emailVerifier"},"credentials":{"hunterApi":{"id":"j7W6eZxwCzl4XPpc","name":"Hunter account 2"}},"typeVersion":1},{"id":"a1103cc3-2888-45fb-9763-c4845ad7b60b","name":"Search","type":"@tavily/n8n-nodes-tavily.tavily","position":[3776,1136],"parameters":{"query":"={{ $('Lead Qualification Agent').item.json.output[1].content[0].text[\"email (if exists)\"] }}","options":{}},"credentials":{"tavilyApi":{"id":"mnSLy7JNWkQ7d3Je","name":"Tavily account"}},"typeVersion":1},{"id":"dce23c6e-dac0-4ea4-82fc-ef880a63454c","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[1312,864],"parameters":{"width":464,"height":864,"content":"# AI-Powered Local Business Lead Scraping, Qualification & Outreach System\n\nWhat this workflow does (end-to-end)\nThis workflow automatically:\n\t1.\tPulls local business leads from Apify (Google Search / SERP data)\n\t2.\tScrapes each business website\n\t3.\tExtracts & normalizes contact info using AI\n\t4.\tClassifies lead quality & ops needs\n\t5.\tVerifies email deliverability\n\t6.\tWrites qualified leads into a CRM (Google Sheets)\n\t7.\tGenerates personalized cold emails for outreach\n\nThis is a modular, production-ready lead pipeline, you can disable or swap components without breaking the rest.\n\n## ⚙️ Required Setup (DO THIS FIRST)\nAccounts / Credentials you must connect\n\t•\tApify (Dataset access)\n\t•\tOpenAI (for normalization + email writing)\n\t•\tGoogle Sheets (CRM destination)\n\t•\tHunter (email verification)\n\t•\tTavily (optional enrichment / validation)\n\nBefore running\n\t1.\tReplace Apify Dataset ID with your own\n\t2.\tUpdate Google Sheet ID + Sheet Name\n\t3.\tConfirm OpenAI model access (default: gpt-5-mini)\n\t4.\t(Optional) Adjust quality thresholds in Filter Qualified Leads\n\nHow to run\n\t•\tManual trigger → Execute workflow\n\t•\tStart small (Limit node is enabled intentionally)\n\t•\tIncrease batch size only after validation\n"},"typeVersion":1},{"id":"e66fea58-f9b1-4c4e-b14f-3669c4dde0b0","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[2000,864],"parameters":{"width":336,"height":368,"content":"## Lead Source (Apify)\n\nThis section pulls raw local business results from Apify.\nEverything downstream assumes each item has a website URL.\n\nIf you want different industries or cities, change it in Apify, not here.\nThe Limit node is intentional — don’t remove it until you trust the pipeline."},"typeVersion":1},{"id":"cd890b32-c201-4142-b816-f4d4a0ce06b8","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[2736,880],"parameters":{"width":384,"height":416,"content":"## Website Scraping\n\nThis section fetches the business homepage and raw site content.\n\nSome sites will fail or block scraping. That’s expected.\nFailures won’t stop the workflow, they just won’t qualify later.\n\nThe raw text is passed directly into AI for flexible parsing."},"typeVersion":1},{"id":"c662617d-22c5-4742-a696-fb5e82e6f385","name":"Lead Qualification Agent","type":"@n8n/n8n-nodes-langchain.openAi","position":[3136,1136],"parameters":{"modelId":{"__rl":true,"mode":"list","value":"gpt-5-mini","cachedResultName":"GPT-5-MINI"},"options":{"reasoning":{"reasoningOptions":{"effort":"low","summary":"none"}},"textFormat":{"textOptions":{"type":"json_object"}}},"simplify":false,"responses":{"values":[{"content":"You are an experienced AI automation agency expert.\nYou apply real-world conversion experience only to interpret explicit signals.\nDo not infer or assume missing information.\nIf uncertain, default to false.\nOutput only valid JSON.\n\n1. Classification (3 category in total)\nDetermine Lead Ops Needs (boolean), can be any of the below:\n    •   needs_lead_centralization\n\t•\tneeds_follow_up_automation\n\t•\tneeds_booking_automation\nStrong evidence examples:\n\t•\tMultiple inbound channels (form + email + phone + social)\n\t•\tNo clear booking flow\n\t•\tGeneric contact inbox\n\t•\tNo response-time or follow-up expectations stated\n\nDetermine Email AND website (bool)\n\nDetermine other social (linkedin, X, facebook etc) (bool)\n⸻\n\nQuality tiers\nNot qualified  (0)\n\t•\tNo email AND website\n→ You can’t reliably reach them\n\n⸻\n\nAcceptable Quality (1)\n\nHas email and site\n\nReachable, but fragile or manual.\n\n⸻\nMed Quality (2)\n\nHas email and site and Any one of Ops need Or other social\n\t\n⸻\n\nHigh Quality (3)\n\nHas all 3 cate\n\n\n{\n  \"has_email and phone\": false,\n  \"need lead op\": false,\n  \"has social: false,\n  \"quality_tier\": \"0 | 1 | 2 | 3\"\n}\n\n\n\n1. Classification (3 categories total)\n\nDetermine the following three categories.\n\n⸻\n\nA. Lead Ops Needs (boolean)\n\nSet to true if any of the following lead operations needs are evident:\n\t•\tneeds_lead_centralization\n\t•\tneeds_follow_up_automation\n\t•\tneeds_booking_automation\n\nStrong evidence examples:\n\t•\tMultiple inbound channels (form + email + phone + social)\n\t•\tNo clear booking or scheduling flow\n\t•\tGeneric contact inbox (e.g. info@, contact@)\n\t•\tNo stated response-time or follow-up expectations\n\n⸻\n\nB. Email AND Website (boolean)\n\nDetermine whether both an email address and a website are present.\n\n⸻\n\nC. Other Social Presence (boolean)\n\nDetermine whether any social presence is listed\n(e.g. LinkedIn, X/Twitter, Facebook, Instagram).\n\n⸻\n\nQuality Tiers\n\n0 — Not Qualified\n\t•\tNo email and website\n→ The business cannot be reliably reached.\n\n⸻\n\n1 — Acceptable Quality\n\t•\tHas email and website\n\n⸻\n\n2 — Medium Quality\n\t•\tHas email and website\n\t•\tAND any one of:\n\t•\tLead ops need\n\t•\tSocial presence\n\n⸻\n\n3 — High Quality\n\t•\tHas all three categories:\n\t•\tEmail + website\n\t•\tLead ops need\n\t•\tSocial presence\n\noutput schema:\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"has_email_and_site\": {\n      \"type\": \"boolean\"\n    },\n    \"has_lead_ops_need\": {\n      \"type\": \"boolean\"\n    },\n    \"has_social_presence\": {\n      \"type\": \"boolean\"\n    },\n    \"quality_tier\": {\n      \"type\": \"integer\",\n      \"enum\": [0, 1, 2, 3]\n    }\n  },\n  \"required\": [\n    \"has_email_and_site\",\n    \"has_lead_ops_need\",\n    \"has_social_presence\",\n    \"quality_tier\",\n    \"email (if exists)\"\n  ],\n  \"additionalProperties\": false\n}"},{"content":"={{ $('Scrape Lead Website').item.json.content }}"}]},"builtInTools":{}},"credentials":{"openAiApi":{"id":"VSfMFnY2HfxMoGF5","name":"OpenAi account"}},"typeVersion":2.1},{"id":"df3c4163-67a4-4bbd-b2a2-a1799a22ac77","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[3264,880],"parameters":{"width":528,"height":416,"content":"## Qualification & Validation\n\nThis section decides whether a lead is worth keeping.\n\nIt checks:\n\t•\tReachability (email + site)\n\t•\tBasic ops signals\n\t•\tSocial presence (if any)\n\nLow-quality leads are filtered out before hitting the CRM.\nIf you want more or fewer leads, adjust the filter — not the AI prompt."},"typeVersion":1},{"id":"74f92ec9-fa01-46d5-83b7-bfd160991c13","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[4048,736],"parameters":{"width":352,"height":368,"content":"## CRM Write\n\nThis is the system of record.\n\nQualified leads are written to Google Sheets using append-or-update logic.\nRe-running the workflow won’t duplicate rows if the email already exists.\n\nIf you’re debugging, always inspect the sheet first."},"typeVersion":1},{"id":"43a21083-78d0-4766-949c-dfc6b45774c0","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[4048,1232],"parameters":{"width":352,"height":336,"content":"\n\n\n\n\n\n\n\n\n\n## Cold Email Drafting\n\nThis agent writes human-sounding cold email drafts using the extracted context.\n\nThese are drafts only.\nThey are stored in the CRM for review, sequencing, or export.\n\nDo not auto-send unless you add your own approval layer."},"typeVersion":1}],"active":false,"pinData":{},"settings":{"availableInMCP":false,"executionOrder":"v1"},"versionId":"c73223d6-f652-43ac-b834-29bfea7d2d73","connections":{"Limit":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Merge":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Hunter":{"main":[[{"node":"Filter Qualified Leads","type":"main","index":0}]]},"Search":{"main":[[{"node":"Lead Normalize Agent","type":"main","index":0},{"node":"Cold Email Writer AI Agent1","type":"main","index":0}]]},"Scrape Home":{"main":[[{"node":"Scrape Lead Website","type":"main","index":0}]]},"Loop Over Items":{"main":[[],[{"node":"Scrape Home","type":"main","index":0}]]},"Get dataset items":{"main":[[{"node":"Limit","type":"main","index":0}]]},"Scrape Lead Website":{"main":[[{"node":"Lead Qualification Agent","type":"main","index":0}]]},"Lead Normalize Agent":{"main":[[{"node":"Write Qualified Leads to CRM","type":"main","index":0}]]},"Filter Qualified Leads":{"main":[[{"node":"Search","type":"main","index":0}]]},"Write Cold Email to CRM":{"main":[[{"node":"Merge","type":"main","index":1}]]},"Lead Qualification Agent":{"main":[[{"node":"Hunter","type":"main","index":0}]]},"Cold Email Writer AI Agent1":{"main":[[{"node":"Write Cold Email to CRM","type":"main","index":0}]]},"Write Qualified Leads to CRM":{"main":[[{"node":"Merge","type":"main","index":0}]]},"When clicking ‘Execute workflow’":{"main":[[{"node":"Get dataset items","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":21,"nodeTypes":{"n8n-nodes-base.html":{"count":1},"n8n-nodes-base.limit":{"count":1},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.filter":{"count":1},"n8n-nodes-base.hunter":{"count":1},"n8n-nodes-base.stickyNote":{"count":6},"n8n-nodes-base.httpRequest":{"count":1},"n8n-nodes-base.googleSheets":{"count":2},"@apify/n8n-nodes-apify.apify":{"count":1},"n8n-nodes-base.manualTrigger":{"count":1},"n8n-nodes-base.splitInBatches":{"count":1},"@n8n/n8n-nodes-langchain.openAi":{"count":3},"@tavily/n8n-nodes-tavily.tavily":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Chris Zhang","username":"clissz","bio":"I build high roi workflows that maximize productivity of businesses.\n\nqufeizzz@gmail.com","verified":true,"links":[""],"avatar":"https://gravatar.com/avatar/568112800a0df7dd2ea235da25bd2ca4072acd3d284ff36b6900a3d5c791b39b?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":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"resources":{"generic":[{"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/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content 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/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"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/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"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/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"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/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/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"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/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"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.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":24,"icon":"file:merge.svg","name":"n8n-nodes-base.merge","codex":{"data":{"alias":["Join","Concatenate","Wait"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"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/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"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/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.merge/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Merge"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTc3XzUxOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgNDhDMCAyMS40OTAzIDIxLjQ5MDMgMCA0OCAwSDExMkMxMzguNTEgMCAxNjAgMjEuNDkwMyAxNjAgNDhWNTZIMTk2LjI1MkMyNDAuNDM1IDU2IDI3Ni4yNTIgOTEuODE3MiAyNzYuMjUyIDEzNlYxOTJDMjc2LjI1MiAyMTQuMDkxIDI5NC4xNjEgMjMyIDMxNi4yNTIgMjMySDM1MlYyMjRDMzUyIDE5Ny40OSAzNzMuNDkgMTc2IDQwMCAxNzZINDY0QzQ5MC41MSAxNzYgNTEyIDE5Ny40OSA1MTIgMjI0VjI4OEM1MTIgMzE0LjUxIDQ5MC41MSAzMzYgNDY0IDMzNkg0MDBDMzczLjQ5IDMzNiAzNTIgMzE0LjUxIDM1MiAyODhWMjgwSDMxNi4yNTJDMjk0LjE2MSAyODAgMjc2LjI1MiAyOTcuOTA5IDI3Ni4yNTIgMzIwVjM3NkMyNzYuMjUyIDQyMC4xODMgMjQwLjQzNSA0NTYgMTk2LjI1MiA0NTZIMTYwVjQ2NEMxNjAgNDkwLjUxIDEzOC41MSA1MTIgMTEyIDUxMkg0OEMyMS40OTAzIDUxMiAwIDQ5MC41MSAwIDQ2NFY0MDBDMCAzNzMuNDkgMjEuNDkwMyAzNTIgNDggMzUySDExMkMxMzguNTEgMzUyIDE2MCAzNzMuNDkgMTYwIDQwMFY0MDhIMTk2LjI1MkMyMTMuOTI1IDQwOCAyMjguMjUyIDM5My42NzMgMjI4LjI1MiAzNzZWMzIwQzIyOC4yNTIgMjk0Ljc4NCAyMzguODU5IDI3Mi4wNDQgMjU1Ljg1MyAyNTZDMjM4Ljg1OSAyMzkuOTU2IDIyOC4yNTIgMjE3LjIxNiAyMjguMjUyIDE5MlYxMzZDMjI4LjI1MiAxMTguMzI3IDIxMy45MjUgMTA0IDE5Ni4yNTIgMTA0SDE2MFYxMTJDMTYwIDEzOC41MSAxMzguNTEgMTYwIDExMiAxNjBINDhDMjEuNDkwMyAxNjAgMCAxMzguNTEgMCAxMTJWNDhaTTEwNCA0OEMxMDguNDE4IDQ4IDExMiA1MS41ODE3IDExMiA1NlYxMDRDMTEyIDEwOC40MTggMTA4LjQxOCAxMTIgMTA0IDExMkg1NkM1MS41ODE3IDExMiA0OCAxMDguNDE4IDQ4IDEwNFY1NkM0OCA1MS41ODE3IDUxLjU4MTcgNDggNTYgNDhIMTA0Wk00NTYgMjI0QzQ2MC40MTggMjI0IDQ2NCAyMjcuNTgyIDQ2NCAyMzJWMjgwQzQ2NCAyODQuNDE4IDQ2MC40MTggMjg4IDQ1NiAyODhINDA4QzQwMy41ODIgMjg4IDQwMCAyODQuNDE4IDQwMCAyODBWMjMyQzQwMCAyMjcuNTgyIDQwMy41ODIgMjI0IDQwOCAyMjRINDU2Wk0xMTIgNDA4QzExMiA0MDMuNTgyIDEwOC40MTggNDAwIDEwNCA0MDBINTZDNTEuNTgxNyA0MDAgNDggNDAzLjU4MiA0OCA0MDhWNDU2QzQ4IDQ2MC40MTggNTEuNTgxNyA0NjQgNTYgNDY0SDEwNEMxMDguNDE4IDQ2NCAxMTIgNDYwLjQxOCAxMTIgNDU2VjQwOFoiIGZpbGw9IiM1NEI4QzkiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTc3XzUxOCI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Merge","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":136,"icon":"file:hunter.png","name":"n8n-nodes-base.hunter","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.hunter/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/hunter/"}]},"categories":["Sales"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"output\"]","defaults":{"name":"Hunter"},"iconData":{"type":"file","fileBuffer":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAAw1BMVEUAAAD/Qhz/VxX/RQD/RQD/RAD/PQH/SAD/RQD/OwH/RgD/OQD/SAD/SAD/RgD/QQD/RgD/RAD/QQD/OgD/SgD/SgD/SAD/RAD/QgD/QgD/SAD/SgD/SQD/SAD/SAD/RgD/SAD/SgD/SQD/RAD/RQD/QwD/QgD/PAD/SAD/RAD/SAD/RgD/RgD/RAD/RQD/QgD/QwD/QgD/SwD/TQD/SAD/RwD/QwD/QwD/QgD/PgD/RAD/RQD/SQD/TQD/TAD/TgD/VQBe3z92AAAAO3RSTlMABAL6/fwG/PcKZw7XyJYuYVQbF/nxwoBLMvTt59zPzbyxkoR7OikS4qiejId4c1BGQfTitaZbPSclIH7mBkUAAAKqSURBVEjHxZbXdqMwEIYHVCg27r3bcUlPNj1hJPL+T7WSkiCzwWBf7dg+HMx8558iaYD/Z457KuGqryGPRh2oD8E11NFEEx/udHCNVcWA5URrgjhrAwzE5+VRCIdrSYhsQrAQPm7KGRVPECEjSQ3+oCIvwCktVgBrSWKG09aTZDSefJTJOBwGHUrjOKZVdVHoDfBCCfX0rotMExRjZUxG3HELe/5e85DGxr4uXmcAvACoXJ8LqjWs6TockHFVYcKpQJ/GGWN0XAcnl3ChvhDI9iQoo6lM/jps+JJkFAh6xGSDr/kyfREbBysiJ57QfzGstsD9LbJOCMsS3u128yyYKXRvl+rYpZsJShmRN0Zb6oSI6LVU2dx9jd05skxxmTfaQhBwuEqIUiSyutEbjvPvvnI4E75K1jLKCa8qoK2GJjbsXL/ZbjhQmSMm3RFmcsHorNEc3J0hNbI0Ob/s34YvrwpQnz/dZB4O6z1kmWwS7Dx00OomQkhvvGzpuNY01FGEgmX6TgillO3dK/PY56WjGv9SN6s+lBnELOeYZu612Kz9s14cWCmVUiNiGRjA/OZ4BOKLhm3nsBvTciJZ8G/CNIcUu1NKfDF9B+dHZDcrjoupcqGo2s3DoYGHRajyRyG68749PV03eDoYF1X+iXxc9u8D5bmX/NhjBxRigdVVs679eUroRYMezVWIxej5fuemo8Mim5FCcgg5rn1oh9Tfbpl2lJc+kb2hemrdMzI3if+bEFcO6PjzDyW+SBlLrJVCwSBqVwX5h1AnmCKKmCihZI/AqKI1Chm+8qTP0r3hNYGXDkkY9ASSL4hhVDT+7XiphNUEzWnMxC04R41WaDdmKJARSrbHTX6dL7+/mAhMptwi5RC0wovHpXvK64Wm3rZwkjlcUaeaW9D3v/GpwMArl9LJAAAAAElFTkSuQmCC"},"displayName":"Hunter","typeVersion":1,"nodeCategories":[{"id":2,"name":"Sales"}]},{"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":838,"icon":"fa:mouse-pointer","name":"n8n-nodes-base.manualTrigger","codex":{"data":{"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.manualworkflowtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"When clicking ‘Execute workflow’","color":"#909298"},"iconData":{"icon":"mouse-pointer","type":"icon"},"displayName":"Manual Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":842,"icon":"file:html.svg","name":"n8n-nodes-base.html","codex":{"data":{"alias":["extract","template","table"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.html/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"HTML"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTguNjQwNjIgMEgxMC40Mzc1VjEuNzgxMjVIMTIuMDkzN1YwSDEzLjg5MDZWNS4zOTA2MkgxMi4wOTM3VjMuNTkzNzVIMTAuNDUzMVY1LjM5MDYySDguNjQwNjJNMTYuMjY1NiAxLjc5Njg3SDE0LjY3OTdWMEgxOS42NTYyVjEuNzk2ODdIMTguMDYyNVY1LjM5MDYySDE2LjI2NTZNMjAuNDQ1MyAwSDIyLjMyODFMMjMuNDg0NCAxLjg5ODQ0TDI0LjY0MDYgMEgyNi41MjM0VjUuMzkwNjJIMjQuNzI2NlYyLjcxODc1TDIzLjQ2ODcgNC42NTYyNUwyMi4yMTA5IDIuNzE4NzVWNS4zOTA2MkgyMC40NDUzTTI3LjQxNDEgMEgyOS4yMTA5VjMuNjA5MzdIMzEuNzU3OFY1LjM5MDYySDI3LjQxNDEiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik04LjU3ODEyIDM2Ljc5NjlMNiA3Ljg1OTM4SDM0LjM0MzdMMzEuNzY1NiAzNi43ODEyTDIwLjE0ODQgNDAiIGZpbGw9IiNFNDREMjYiLz4KPHBhdGggZD0iTTIwLjE3MTkgMzcuNTM5MVYxMC4yMzQ0SDMxLjc1NzhMMjkuNTQ2OSAzNC45MjE5IiBmaWxsPSIjRjE2NTI5Ii8+CjxwYXRoIGQ9Ik0xMS4yNjU2IDEzLjc3MzRIMjAuMTcxOVYxNy4zMjAzSDE1LjE1NjJMMTUuNDg0NCAyMC45NTMxSDIwLjE3MTlWMjQuNDkyMkgxMi4yMzQ0TTEyLjM5MDYgMjYuMjczNEgxNS45NTMxTDE2LjIwMzEgMjkuMTA5NEwyMC4xNzE5IDMwLjE3MTlWMzMuODc1TDEyLjg5MDYgMzEuODQzNyIgZmlsbD0iI0VCRUJFQiIvPgo8cGF0aCBkPSJNMjkuMDQ2OSAxMy43NzM0SDIwLjE1NjJWMTcuMzIwM0gyOC43MTg3TTI4LjM5ODQgMjAuOTUzMUgyMC4xNTYyVjI0LjVIMjQuNTMxMkwyNC4xMTcyIDI5LjEwOTRMMjAuMTU2MiAzMC4xNzE5VjMzLjg1OTRMMjcuNDIxOSAzMS44NDM3IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K"},"displayName":"HTML","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":844,"icon":"fa:filter","name":"n8n-nodes-base.filter","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The Filter node can be used to filter items based on a condition. If the condition is met, the item will be passed on to the next node. If the condition is not met, the item will be omitted. Conditions can be combined together by AND(meet all conditions), or OR(meet at least one condition).","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.filter/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Filter","color":"#229eff"},"iconData":{"icon":"filter","type":"icon"},"displayName":"Filter","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1237,"icon":"file:limit.svg","name":"n8n-nodes-base.limit","codex":{"data":{"alias":["Limit","Remove","Slice","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.limit/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Limit"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjMkZCNjdDIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNhKSIgY2xpcC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNNTEyIDQ1OGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC02OGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyNGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDY4YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6bS0xNDAgMGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC02OGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyNGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDY4YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6bS0xNDAgMGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC02OGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyNGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDY4YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6bS0xNDAgMGMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDEyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNjhjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptMTUyLTIyMmMtNi42MjcgMC0xMi01LjM3My0xMi0xMlYzMGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDI0YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MTk0YzAgNi42MjctNS4zNzMgMTItMTIgMTJ6Ii8+PHBhdGggZD0iTTE0OS41NzcgMTQ2Ljk4MmM5LjM5OC05LjM0NiAyNC41OTQtOS4zMDQgMzMuOTQxLjA5NUwyNTYgMjE5Ljk2NGw3Mi40ODItNzIuODg3YzkuMzQ3LTkuMzk5IDI0LjU0My05LjQ0MSAzMy45NDEtLjA5NXM5LjQ0MSAyNC41NDMuMDk1IDMzLjk0MWwtODkuNSA5MGEyNCAyNCAwIDAgMS0zNC4wMzYgMGwtODkuNS05MGMtOS4zNDYtOS4zOTgtOS4zMDQtMjQuNTk0LjA5NS0zMy45NDFNMCAzNTBjMC02LjYyNyA1LjM3My0xMiAxMi0xMmg0ODhjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYyNGMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDEyYy02LjYyNyAwLTEyLTUuMzczLTEyLTEyeiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoNTEydjUxMkgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg=="},"displayName":"Limit","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1250,"icon":"file:openAi.svg","name":"@n8n/n8n-nodes-langchain.openAi","codex":{"data":{"alias":["LangChain","ChatGPT","Sora","DallE","whisper","audio","transcribe","tts","assistant"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-langchain.openai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Miscellaneous","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg1IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NiAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MSA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K"},"displayName":"OpenAI","typeVersion":2,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":37,"name":"Lead Generation"},{"id":49,"name":"AI Summarization"}],"image":[]}}