{"workflow":{"id":12837,"name":"Generate personalized cold email icebreakers from LinkedIn or website data with GPT-4","views":80,"recentViews":0,"totalViews":80,"createdAt":"2026-01-20T05:06:57.386Z","description":"# Multi-Channel Cold Email Generator (LinkedIn + Website Fallback)\n\n## Description\nThis workflow automates the generation of hyper-personalized cold emails. It intelligently switches between two data sources: **LinkedIn Activity** and **Company Website**.\n\nIf the lead has recent LinkedIn posts, the AI generates an icebreaker referencing their specific thoughts or news. If no posts are found, the workflow falls back to scraping their company website and generating an angle based on their business proposition.\n\n## How it Works\n1. **Fetch Data:** Pulls a list of leads from a Google Sheet.\n2. **Scrape LinkedIn:** Uses Apify to attempt to scrape recent posts for the lead.\n3. **Conditional Logic:**\n   - **Path A (Posts Found):** Aggregates the posts, analyzes the context using GPT-4, and writes an email referencing the content.\n   - **Path B (No Posts):** Scrapes the URL provided in `companyWebsite`, converts the HTML to Markdown, analyzes the company value prop, and writes an email based on that.\n4. **Save Results:** Writes the generated `Icebreaker`, `Intro`, and `CompanyType` back to the original Google Sheet.\n\n## Requirements\n- **n8n:** Self-hosted or Cloud.\n- **Google Sheets Account:** A sheet containing columns for `email_final`, `linkedin_url`, and `companyWebsite`.\n- **Apify Account:** You must have the LinkedIn Scraper actor (ID: `A3cAPGpwBEG8RJwse` or similar) configured and an API Token.\n- **OpenAI API Key:** Access to GPT-4 model is recommended for best quality.\n\n## Setup Instructions\n1. **Import the JSON:** Copy the provided JSON template and paste it into your n8n canvas.\n2. **Configure Credentials:**\n   - Set up your **Google Sheets** and **OpenAI** credentials in n8n.\n3. **Apify Token:**\n   - Locate the **Apify LinkedIn Scraper** node (HTTP Request).\n   - In `Header Parameters` &gt; `Authorization`, replace `YOUR_APIFY_API_TOKEN` with your actual Apify Bearer token.\n4. **Google Sheet Configuration:**\n   - Open the **Fetch Leads** node. Select your generic Sheet and specific Workbook.\n   - Open both **Update Row** nodes (there are two: one for the Website branch, one for the LinkedIn branch) and ensure they point to the same Sheet/Workbook.\n5. **Customize AI Prompts:**\n   - Open the two **Write Email Copy** nodes.\n   - In the system prompt, look for `[YOUR_BUSINESS_TYPE]` and `[YOUR_COMPANY_NAME]`. Replace these with your actual business details to ensure the AI generates relevant outreach.\n\n## Customization\n- **Model Selection:** You can switch the OpenAI model to `gpt-3.5-turbo` to save costs, though the quality of the \"Icebreakers\" may decrease.\n- **Output Columns:** The workflow currently outputs `Icebreaker`, `intro`, and `companyType`. You can modify the **Update Row** nodes to map these to different column headers in your sheet if needed.","workflow":{"meta":{"instanceId":"3f9200fd36bb1bacb074812d319dd4fba325b9cd32ee87ee82b76f45271f5dfd"},"nodes":[{"id":"748963d2-6626-4ef7-b620-068dbca762d2","name":"When clicking ‘Execute workflow’","type":"n8n-nodes-base.manualTrigger","position":[32,912],"parameters":{},"typeVersion":1},{"id":"77cf3150-4ea2-4103-b688-9b748e10cd8f","name":"Fetch Leads","type":"n8n-nodes-base.googleSheets","position":[256,912],"parameters":{"options":{},"filtersUI":{"values":[{"lookupColumn":"Icebreaker"}]},"sheetName":{"__rl":true,"mode":"list","value":"YOUR_SHEET_GID","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit#gid=0","cachedResultName":"Sheet1"},"documentId":{"__rl":true,"mode":"list","value":"YOUR_GOOGLE_SHEET_ID","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID","cachedResultName":"Leads_Sheet"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"Google Sheets account"}},"typeVersion":4.6},{"id":"f6967a00-0be5-424b-a258-6ff273bb58b6","name":"Loop Over Leads","type":"n8n-nodes-base.splitInBatches","position":[512,912],"parameters":{"options":{}},"typeVersion":3},{"id":"067f5962-a56e-48a3-8226-794a2dcf81c8","name":"Posts Found?","type":"n8n-nodes-base.if","position":[1184,912],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"c7334c6a-1da0-425f-ae7e-79ada4ddc082","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.message }}","rightValue":"No posts found."}]}},"typeVersion":2.2},{"id":"615740e7-8d9b-47a6-bab7-a9690c266f54","name":"Apify LinkedIn Scraper","type":"n8n-nodes-base.httpRequest","maxTries":5,"position":[960,912],"parameters":{"url":"https://api.apify.com/v2/acts/A3cAPGpwBEG8RJwse/run-sync-get-dataset-items","method":"POST","options":{"redirect":{"redirect":{}}},"jsonBody":"={\n  \"includeQuotePosts\": true,\n  \"includeReposts\": false,\n  \"maxComments\": 5,\n  \"maxPosts\": 5,\n  \"maxReactions\": 5,\n  \"scrapeComments\": false,\n  \"scrapeReactions\": false,\n  \"targetUrls\": {{ JSON.stringify(\n    (Array.isArray($json.contactLinkedIn)\n      ? $json.contactLinkedIn\n      : String($json.contactLinkedIn || '').split(',')\n    )\n      .map(u => u.trim())\n      .filter(Boolean)\n  ) }}\n}\n","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer YOUR_TOKEN_HERE"}]}},"retryOnFail":true,"typeVersion":4.2,"alwaysOutputData":false,"waitBetweenTries":5000},{"id":"0eb67acc-77cd-469b-8792-a6c951eb3fc0","name":"Aggregate Posts","type":"n8n-nodes-base.aggregate","position":[1472,1056],"parameters":{"options":{},"fieldsToAggregate":{"fieldToAggregate":[{"fieldToAggregate":"type"},{"renameField":true,"outputFieldName":"content","fieldToAggregate":"content"},{"renameField":true,"outputFieldName":"repostContent","fieldToAggregate":"repost.content"}]}},"typeVersion":1},{"id":"35dc437d-07f2-471b-bb2a-a20271551475","name":"Analyze LinkedIn Context","type":"@n8n/n8n-nodes-langchain.openAi","position":[1712,1056],"parameters":{"modelId":{"__rl":true,"mode":"list","value":"gpt-4","cachedResultName":"GPT-4"},"options":{"temperature":0.6},"messages":{"values":[{"role":"system","content":"=You are a highly intelligent data summarizing AI assistant. DO NOT MAKE UP FALSE DATA"},{"content":"=Your task is to take as input 1–5 recent LinkedIn posts (provided as a single unstructured string) about a client/company and condense them into a JSON output in this exact format:\n\n{\n  \"LinkedInContext\": \"<Concise key points from the LinkedIn posts or write \\\"no content\\\">\",\n  \"PersonContext\":   \"<Concise key points about the individual(s) mentioned or write \\\"no content\\\">\",\n  \"UniqueAngles\":    \"<One or two brief, distinct outreach angles derived from the above contexts>\"\n}\n\nYou’ll receive all necessary data as a single unstructured string. Parse it and emit only the JSON object.\n\nRules:\n- Use ONLY the information present in the provided LinkedIn posts. Do not invent or infer from outside sources.\n- Prioritize in LinkedInContext (summarize if present): \n  1) Their recent hire (name/role/timeframe if stated) \n  2) Their LinkedIn post (main point, initiative, metrics, call-to-action) \n  3) Their company news (funding, launch, partnership, awards) \n  4) Their specific challenge (hiring needs, growth bottlenecks, pains, goals).\n- If none of the above appear, extract any other relevant, factual insights from the posts; if nothing substantive exists, write \"no content\".\n- LinkedInContext: 1–4 sentences of high-impact takeaways from the posts only.\n- PersonContext: 1–4 sentences on the poster or mentioned decision-maker(s): role, priorities, achievements, asks, hiring plans—only if explicitly in the posts; otherwise write \"no content\".\n- UniqueAngles: 1–4 laconic hooks that tie LinkedInContext and PersonContext into a personalized outreach idea; avoid repeating the same facts verbatim.\n- Keep everything short and Spartan—no em dashes, no fluff, no speculation, no emojis, no hashtags.\n"},{"content":"=LinkedIn 1-5 posts Scrape (leave blank if undefined):\n{{ $json.content }}\n\nReposted LinkedIn content scrape:\n{{ $json.repostContent }}\n\nPersonal Data Scrape:\n{{ $('Map Lead Data').item.json['firstName, lastName'] }}\n// firstName lastName of decision maker\n{{ $('Map Lead Data').item.json.city }}                                                         // City \n{{ $('Map Lead Data').item.json.state }}                                                         // State\n{{ $('Map Lead Data').item.json.country }}                                                       // Country\n{{ $('Map Lead Data').item.json.companyName }}                                                     // Company name\n{{ $('Map Lead Data').item.json.companyWebsite }}                                                        // Organization Website\n{{ $('Map Lead Data').item.json.keywords }}\n               // Company Keywords\n{{ $('Map Lead Data').item.json.organizationDescription }}                                                       // Organization Description"}]},"jsonOutput":true},"credentials":{"openAiApi":{"id":"credential-id","name":"OpenAi account"}},"typeVersion":1.8},{"id":"a3d999d6-5210-40db-9e79-0e0cf5a8b4da","name":"Map Lead Data","type":"n8n-nodes-base.set","position":[736,912],"parameters":{"options":{},"assignments":{"assignments":[{"id":"add37642-226b-4a01-8118-c7d45745f3e0","name":"firstName, lastName","type":"string","value":"={{ $json.first_name }}, {{ $json.last_name }}"},{"id":"5bbd682c-a87a-4020-82ea-1b39aa4aad31","name":"email","type":"string","value":"={{ $json.email_final }}"},{"id":"379e82d4-c48a-4d78-a493-f267acbc728c","name":"city","type":"string","value":"={{ $json.city }}"},{"id":"9a683d7c-05e7-437c-b8e3-d774507e2e45","name":"state","type":"string","value":"={{ $json.state }}"},{"id":"f1dfd467-c179-41b8-97d2-af30f313610b","name":"country","type":"string","value":"={{ $json.country }}"},{"id":"eb214186-d59b-47dd-9f63-b396a5202173","name":"companyWebsite","type":"string","value":"={{ $json.organization_website_url }}"},{"id":"ce662212-86bd-4c99-bff2-61d7c4cc51d1","name":"companyName","type":"string","value":"={{ $json.organization_name }}"},{"id":"d82624c0-18c3-4abc-bb4e-a403d7e12059","name":"keywords","type":"string","value":"={{ $json.keywords }}"},{"id":"5cc83eef-28ed-45ed-a401-ef9c61321cc8","name":"contactLinkedIn","type":"string","value":"={{ $json.linkedin_url }}"},{"id":"50b7a49c-fcd1-45f9-a765-b4f6394c2627","name":"companyLinkedIn","type":"string","value":"={{ $json.organization_linkedin_url }}"},{"id":"89241fab-9df4-4e21-b6bf-0b32a496006c","name":"organizationDescription","type":"string","value":"={{ $json.organization_short_description }}"}]}},"typeVersion":3.4},{"id":"d841b947-b72d-43da-9884-db6bfebbafdc","name":"Pass-through (Website)","type":"n8n-nodes-base.set","position":[2672,880],"parameters":{"options":{}},"typeVersion":3.4,"alwaysOutputData":true},{"id":"ccce2cd3-2c25-4d7d-a76c-f1fa94f49ff0","name":"Pass-through (LinkedIn)","type":"n8n-nodes-base.set","position":[2672,1056],"parameters":{"options":{}},"typeVersion":3.4,"alwaysOutputData":true},{"id":"cdb9f77b-540a-4aaf-8e90-fe655ea595e7","name":"Merge Loops","type":"n8n-nodes-base.merge","position":[2896,1040],"parameters":{},"typeVersion":3.2,"alwaysOutputData":true},{"id":"279e02ae-d53a-4df8-8225-4b1ee72b05cf","name":"Scrape Company Website","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","position":[1424,880],"parameters":{"url":"={{ $('Map Lead Data').item.json.companyWebsite }}","options":{}},"typeVersion":4.2,"alwaysOutputData":false},{"id":"4aa07f39-e4ff-46e6-8246-963ef6f40342","name":"Convert HTML to Markdown","type":"n8n-nodes-base.markdown","onError":"continueRegularOutput","position":[1584,880],"parameters":{"html":"={{ $json.data }}","options":{}},"typeVersion":1},{"id":"573fbdb4-8a89-4159-b16e-e5877854ea22","name":"Update Row (Website Data)","type":"n8n-nodes-base.googleSheets","position":[2464,880],"parameters":{"columns":{"value":{"intro":"={{ $json.message.content.intro }}","Icebreaker":"={{ $json.message.content.icebreaker }}","companyType":"={{ $json.message.content.companyType }}","email_final":"={{ $('Fetch Leads').item.json.email_final }}"},"schema":[{"id":"email_final","type":"string","display":true,"removed":false,"required":false,"displayName":"email_final","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Icebreaker","type":"string","display":true,"removed":false,"required":false,"displayName":"Icebreaker","defaultMatch":false,"canBeUsedToMatch":true},{"id":"intro","type":"string","display":true,"required":false,"displayName":"intro","defaultMatch":false,"canBeUsedToMatch":true},{"id":"companyType","type":"string","display":true,"removed":false,"required":false,"displayName":"companyType","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["email_final"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":"YOUR_SHEET_GID","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit#gid=0","cachedResultName":"Sheet1"},"documentId":{"__rl":true,"mode":"list","value":"YOUR_GOOGLE_SHEET_ID","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID","cachedResultName":"Leads_Sheet"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"Google Sheets account"}},"retryOnFail":true,"typeVersion":4.6,"waitBetweenTries":5000},{"id":"6758366e-31eb-483a-8cff-53a4aeb6d670","name":"Analyze Website Context","type":"@n8n/n8n-nodes-langchain.openAi","position":[1712,880],"parameters":{"modelId":{"__rl":true,"mode":"list","value":"gpt-4-turbo","cachedResultName":"GPT-4-Turbo"},"options":{"temperature":0.6},"messages":{"values":[{"role":"system","content":"=You are a highly intelligent ai assistant. DO NOT MAKE UP FALSE DATA"},{"content":"=Your task is to take as input a large amount of unstructured data on a client’s website and profile, and condense it into a JSON output in this exact format:\n\n{\n  \"WebsiteContext\":   \"<Concise key points about the company’s website or write \\\"no content\\\">\",\n  \"PersonContext\":    \"<Concise key points about the individual or write \\\"no content\\\">\",\n  \"UniqueAngles\":     \"<One or two brief, distinct outreach angles derived from the above contexts>\"\n}\n\nYou’ll receive all necessary data as a single unstructured string. Parse it and emit only the JSON object.\n\nRules:\n- Focus on a small number of high-impact points per block for crafting an icebreaker.\n- WebsiteContext: 1–4 sentences on key company/website insights.\n- PersonContext: 1–4 sentences on key personal/professional insights.\n- UniqueAngles: 1–4 laconic hooks or unique angles that tie WebsiteContext and PersonContext into a personalized outreach idea.\n- Keep everything short and Spartan—no em dashes \n- No extra fluff, only valuable information that can be effectively used for cold outreach to the client.  \n"},{"content":"=Website Scrape (leave blank if undefined):\n{{ $json.data.length > 5000 ? $json.data.slice(0, 5000) : $json.data }}\n\nPersonal Data Scrape:\n{{ $('Map Lead Data').item.json['firstName, lastName'] }}\n// firstName lastName of decision maker\n{{ $('Map Lead Data').item.json.city }}                                                         // City \n{{ $('Map Lead Data').item.json.state }}                                                         // State\n{{ $('Map Lead Data').item.json.country }}                                                       // Country\n{{ $('Map Lead Data').item.json.companyName }}                                                     // Company name\n{{ $('Map Lead Data').item.json.companyWebsite }}                                                        // Organization Website\n{{ $('Map Lead Data').item.json.keywords }}\n               // Company Keywords\n{{ $('Map Lead Data').item.json.organizationDescription }}                                                       // Organization Description"}]},"jsonOutput":true},"credentials":{"openAiApi":{"id":"credential-id","name":"OpenAi account"}},"typeVersion":1.8},{"id":"e49de41f-1746-48d6-a087-d421f2a87719","name":"Write Email Copy (Website Context)","type":"@n8n/n8n-nodes-langchain.openAi","position":[2080,880],"parameters":{"modelId":{"__rl":true,"mode":"list","value":"gpt-4","cachedResultName":"GPT-4"},"options":{"temperature":0.7},"messages":{"values":[{"role":"system","content":"=You are a highly intelligent, expert email copywriter. Your task is to generate a JSON object containing the building blocks of a personalized cold email. Prioritise warmth and clarity over cleverness. \n\nRULES:\n- NO em dashes (—) should be used at all in any of the bodies.\n- Make sure the tone is Spartan, laconic, familiar. first-person familiar voice, like you’re talking over coffee. Say \"I\" instead of \"we\" Level yourself with the prospect\n- Use basic English while maintaining the above tone\n"},{"content":"=I own a [YOUR_BUSINESS_TYPE] business called [YOUR_COMPANY_NAME]. Given the prospect's context, produce a 3-block JSON object for the start of a personalized, Spartan-style email. Directed towards operators and decision-makers at SaaS businesses.\n\n{\n\"icebreaker\": \"<Start with '[firstName],' or 'Hey [firstName]'. 20–35 words. Lead with a light, company-focused observation to show homework. Keep details broad. End with a likely pain stated generally. Avoid naming tools or solutions here.>\",\n\"intro\": \"<choose one: I built an AI support chatbot for a similar <companyType> and it went really well; I built CRM + onboarding workflows for a similar <companyType> and it went really well>. Add a brief results hint like 'saved X hours' or 'cut $X'. Keep it natural and concise.\",\n  \"companyType\": \"<plain, short description like 'b2b saas', 'devtools', 'security vendors'. lowercase only, no symbols>\"\n}\n\nPersonalization rules:\n-Tailor blocks where possible around the context, show homework.\n-Tone: Spartan, laconic, familiar. First person coffee chat. Dryly confident.\n-NO em dashes should be used at all in any of the bodies.\n-Imply shared goals where possible without obvious lies.\n- Shorten company names (e.g. “AMS” not “AMS Professional Services”, \"Mood Journal\" not \"The Mood Journal\") and locations (e.g. “LA,” “San Fran”).\n-Don’t be overly specific, leave room for follow up.\n-If no context is given just write general B2B SaaS info."},{"role":"assistant","content":"={\n\"icebreaker\": \"Hey Ashley. Your SaaS positioning and recent updates look sharp at Lotus, clean story. I've been watching teams at this stage. The usual drag is follow through, context switching, and manual handoffs.\",\n\"intro\": \"I built an AI support chatbot for a similar b2b saas and it went really well. Saved ~120 hours monthly and deflected routine tickets.\",\n\"companyType\": \"fitness brands\"\n}"},{"role":"assistant","content":"={\n\"icebreaker\": \"Mark, your devtools focus is clear and release notes read disciplined at DeepLearn. I've been tracking similar platforms. Most lose hours to triage, scattered feedback, and slow loops between support and engineering.\",\n\"intro\": \"I built CRM + onboarding workflows for a similar devtools company and it went really well. Cut first response by ~40% and trimmed ops cost about $80k a year.\",\n\"companyType\": \"fashion retailers\"\n}"},{"content":"=Use this information for context:\nWebsite Context:\n{{ $json.message.content.WebsiteContext }}\n\nPerson Context:\n{{ $json.message.content.PersonContext}}\n\nUnique Angles:\n{{ $json.message.content.UniqueAngles }}"}]},"jsonOutput":true},"credentials":{"openAiApi":{"id":"credential-id","name":"OpenAi account"}},"typeVersion":1.8},{"id":"44336798-7e59-4a07-b670-21fca6e89458","name":"Write Email Copy (LinkedIn Context)","type":"@n8n/n8n-nodes-langchain.openAi","position":[2080,1056],"parameters":{"modelId":{"__rl":true,"mode":"list","value":"gpt-4","cachedResultName":"GPT-4"},"options":{"temperature":0.7},"messages":{"values":[{"role":"system","content":"=You are a highly intelligent, expert email copywriter. Your task is to generate a JSON object containing the building blocks of a personalized cold email. Prioritise warmth and clarity over cleverness. \n\nRULES:\n- NO em dashes (—) should be used at all in any of the bodies.\n- Make sure the tone is Spartan, laconic, familiar. first-person familiar voice, like you’re talking over coffee. Say \"I\" instead of \"we\" Level yourself with the prospect\n- Use basic English while maintaining the above tone\n- KEEP IN MIND SOME LinkedIn POSTS MAY BE OLD SOME MAY BE NEW WE DON'T KNOW THE DATE\n"},{"content":"=I own a [YOUR_BUSINESS_TYPE] business called [YOUR_COMPANY_NAME]. Given the prospect's context, produce a 3-block JSON object for the start of a personalized, Spartan-style email. Directed towards operators and decision-makers at SaaS businesses.\n\n{\n\"icebreaker\": \"<Start with '[firstName],' or 'Hey [firstName]'. 20–35 words. Lead with a light, company-focused observation to show homework based on their LinkedIn if possible. End with a likely pain stated generally. Avoid naming tools or solutions here.>\",\n\"intro\": \"<choose one: I built an AI support chatbot for a similar <companyType> and it went really well; I built CRM + onboarding workflows for a similar <companyType> and it went really well>. Add a brief results hint like 'saved X hours' or 'cut $X'. Keep it natural and concise.\",\n\"companyType\": \"<plain, short description like 'b2b saas', 'devtools', 'security vendors'. lowercase only, no symbols>\"\n}\n\nPersonalization rules:\n-Tailor blocks where possible around the context, show homework.\n-Tone: Spartan, laconic, familiar. First person coffee chat. Dryly confident.\n-NO em dashes should be used at all in any of the bodies.\n-Imply shared goals where possible without obvious lies.\n- Shorten company names (e.g. “AMS” not “AMS Professional Services”, \"Mood Journal\" not \"The Mood Journal\") and locations (e.g. “LA,” “San Fran”).\n-Don’t be overly specific, leave room for follow up.\n-If no context is given just write general B2B SaaS info."},{"role":"assistant","content":"={\n\"icebreaker\": \"Hey Ashley. Your SaaS positioning at Lotus looks sharp, also congrats on your new hire. I've been watching teams at this stage. The usual drag is follow through, context switching, and manual handoffs.\",\n\"intro\": \"I built an AI support chatbot for a similar b2b saas and it went really well. Saved ~120 hours monthly and deflected routine tickets.\",\n\"companyType\": \"b2b fitness saas\"\n}"},{"role":"assistant","content":"={\n\"icebreaker\": \"Mark, saw your recent LinkedIn post on tightening feedback cycles, your devtools focus is clear and release notes read disciplined at DeepLearn. I've been tracking similar platforms. Most lose hours to triage, scattered feedback, and slow loops between support and engineering.\",\n\"intro\": \"I built CRM + onboarding workflows for a similar devtools company and it went really well. Cut first response by ~40% and trimmed ops cost about $80k a year.\",\n\"companyType\": \"fashion retailers\"\n}"},{"content":"=Use this information for context:\nAddress the icebreaker to this name: {{ $('Map Lead Data').first().json['firstName, lastName'] }}\nLinkedIn Posts Context KEEP IN MIND SOME POSTS MAY BE OLD SOME MAY BE NEW WE DON'T KNOW THE DATE:\n{{ $json.message.content.LinkedInContext }}\n\nPerson Context, the person I will be addressing the email to:\n{{ $json.message.content.PersonContext}}\n\nUnique Angles:\n{{ $json.message.content.UniqueAngles }}"}]},"jsonOutput":true},"credentials":{"openAiApi":{"id":"credential-id","name":"OpenAi account"}},"typeVersion":1.8},{"id":"28bfb7e7-b32a-4ed3-9d0d-ea1f447121a7","name":"Update Row (LinkedIn Data)","type":"n8n-nodes-base.googleSheets","position":[2464,1056],"parameters":{"columns":{"value":{"intro":"={{ $json.message.content.intro }}","Icebreaker":"={{ $json.message.content.icebreaker }}","companyType":"={{ $json.message.content.companyType }}","email_final":"={{ $('Fetch Leads').item.json.email_final }}"},"schema":[{"id":"email_final","type":"string","display":true,"removed":false,"required":false,"displayName":"email_final","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Icebreaker","type":"string","display":true,"removed":false,"required":false,"displayName":"Icebreaker","defaultMatch":false,"canBeUsedToMatch":true},{"id":"intro","type":"string","display":true,"required":false,"displayName":"intro","defaultMatch":false,"canBeUsedToMatch":true},{"id":"companyType","type":"string","display":true,"removed":false,"required":false,"displayName":"companyType","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["email_final"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":"YOUR_SHEET_GID","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit#gid=0","cachedResultName":"Sheet1"},"documentId":{"__rl":true,"mode":"list","value":"YOUR_GOOGLE_SHEET_ID","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID","cachedResultName":"Leads_Sheet"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"Google Sheets account"}},"retryOnFail":true,"typeVersion":4.6,"waitBetweenTries":5000},{"id":"e4a53fdc-2243-4933-a5c1-94f50151242d","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[32,608],"parameters":{"color":3,"width":313,"height":218,"content":"## 1. Input Data\nConfigure your Google Sheet.\n**Requirements:**\n- `email_final`\n- `linkedin_url`\n- `companyWebsite`"},"typeVersion":1},{"id":"65ecd3b1-12c4-4563-8549-e8fe409edf9c","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[752,608],"parameters":{"color":4,"width":544,"height":220,"content":"## 2. Scraping Logic\nFirst, we attempt to scrape LinkedIn posts via Apify. \n\n**If Posts Found:** We generate personalization based on recent content.\n\n**If No Posts:** We fallback to scraping the company website directly."},"typeVersion":1},{"id":"18a1acb3-733e-411d-9c5a-f7c4863be1fc","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[1696,656],"parameters":{"color":6,"width":820,"content":"## 3. Website Fallback Branch\nIf LinkedIn fails, we convert the website HTML to Markdown and use GPT-4 to find unique angles."},"typeVersion":1},{"id":"93d9c975-672c-47bf-a5ce-ed583217106c","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[1744,1280],"parameters":{"color":5,"width":820,"content":"## 4. LinkedIn Branch\nIf posts exist, we aggregate them and use GPT-4 to write an icebreaker referencing specific post content."},"typeVersion":1},{"id":"68327f1e-4416-4a58-bb4d-f57014a919e7","name":"Header Note","type":"n8n-nodes-base.stickyNote","position":[-656,624],"parameters":{"color":7,"width":600,"height":544,"content":"# 🤖 Multi-Channel Cold Email Generator\n\n**Overview:** \nThis workflow personalizes cold emails by checking a lead's LinkedIn activity. If they have recent posts, it writes an icebreaker about them. If they don't, it falls back to analyzing their company website.\n\n**Requirements:**\n1. **Google Sheets:** Columns for `email_final`, `linkedin_url`, `companyWebsite`.\n2. **Apify Account:** Using the `run-sync-get-dataset-items` actor.\n3. **OpenAI API:** Access to GPT-4.\n\n**Setup Instructions:**\n1. Open the **Fetch Leads** and **Update Row** nodes. Replace `YOUR_GOOGLE_SHEET_ID` and map your columns.\n2. Open the **Apify LinkedIn Scraper** node and add your Apify API Token.\n3. Open the **Write Email Copy** nodes (both branches) and update the System Prompt with your actual Company Name and Business Type."},"typeVersion":1}],"pinData":{},"connections":{"Fetch Leads":{"main":[[{"node":"Loop Over Leads","type":"main","index":0}]]},"Merge Loops":{"main":[[{"node":"Loop Over Leads","type":"main","index":0}]]},"Posts Found?":{"main":[[{"node":"Scrape Company Website","type":"main","index":0}],[{"node":"Aggregate Posts","type":"main","index":0}]]},"Map Lead Data":{"main":[[{"node":"Apify LinkedIn Scraper","type":"main","index":0}]]},"Aggregate Posts":{"main":[[{"node":"Analyze LinkedIn Context","type":"main","index":0}]]},"Loop Over Leads":{"main":[[],[{"node":"Map Lead Data","type":"main","index":0}]]},"Apify LinkedIn Scraper":{"main":[[{"node":"Posts Found?","type":"main","index":0}]]},"Pass-through (Website)":{"main":[[{"node":"Merge Loops","type":"main","index":0}]]},"Scrape Company Website":{"main":[[{"node":"Convert HTML to Markdown","type":"main","index":0}]]},"Analyze Website Context":{"main":[[{"node":"Write Email Copy (Website Context)","type":"main","index":0}]]},"Pass-through (LinkedIn)":{"main":[[{"node":"Merge Loops","type":"main","index":1}]]},"Analyze LinkedIn Context":{"main":[[{"node":"Write Email Copy (LinkedIn Context)","type":"main","index":0}]]},"Convert HTML to Markdown":{"main":[[{"node":"Analyze Website Context","type":"main","index":0}]]},"Update Row (Website Data)":{"main":[[{"node":"Pass-through (Website)","type":"main","index":0}]]},"Update Row (LinkedIn Data)":{"main":[[{"node":"Pass-through (LinkedIn)","type":"main","index":0}]]},"Write Email Copy (Website Context)":{"main":[[{"node":"Update Row (Website Data)","type":"main","index":0}]]},"Write Email Copy (LinkedIn Context)":{"main":[[{"node":"Update Row (LinkedIn Data)","type":"main","index":0}]]},"When clicking ‘Execute workflow’":{"main":[[{"node":"Fetch Leads","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":23,"nodeTypes":{"n8n-nodes-base.if":{"count":1},"n8n-nodes-base.set":{"count":3},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.markdown":{"count":1},"n8n-nodes-base.aggregate":{"count":1},"n8n-nodes-base.stickyNote":{"count":5},"n8n-nodes-base.httpRequest":{"count":2},"n8n-nodes-base.googleSheets":{"count":3},"n8n-nodes-base.manualTrigger":{"count":1},"n8n-nodes-base.splitInBatches":{"count":1},"@n8n/n8n-nodes-langchain.openAi":{"count":4}}},"status":"published","readyToDemo":null,"user":{"name":"Matthew","username":"matthew-synteria","bio":"","verified":true,"links":["https://www.synteria.co"],"avatar":"https://gravatar.com/avatar/2355353af0f9f7beed92f46857ddf82b41563ab769013cae2c5ba7ee209fa28b?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":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":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":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":564,"icon":"file:markdown.svg","name":"n8n-nodes-base.markdown","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.markdown/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"output\"]","defaults":{"name":"Markdown"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM3LjExNjQgMzIuNjE4N0gyLjg4MzU3QzIuNTA0OSAzMi42MTg3IDIuMTI5OTMgMzIuNTQ0MSAxLjc4MDA4IDMyLjM5OTJDMS40MzAyMyAzMi4yNTQzIDEuMTEyMzQgMzIuMDQxOSAwLjg0NDU3OSAzMS43NzQxQzAuNTc2ODE1IDMxLjUwNjQgMC4zNjQ0MTIgMzEuMTg4NSAwLjIxOTQ5OSAzMC44Mzg2QzAuMDc0NTg1OCAzMC40ODg4IDAgMzAuMTEzOCAwIDI5LjczNTFWMTAuODgzNkMwIDEwLjExODggMC4zMDM4MDQgOS4zODUzNSAwLjg0NDU3OSA4Ljg0NDU4QzEuMzg1MzUgOC4zMDM4IDIuMTE4OCA4IDIuODgzNTcgOEgzNy4xMTY0QzM3LjQ5NTEgOCAzNy44NzAxIDguMDc0NTkgMzguMjE5OSA4LjIxOTVDMzguNTY5OCA4LjM2NDQxIDM4Ljg4NzcgOC41NzY4MSAzOS4xNTU0IDguODQ0NThDMzkuNDIzMiA5LjExMjM0IDM5LjYzNTYgOS40MzAyMyAzOS43ODA1IDkuNzgwMDhDMzkuOTI1NCAxMC4xMjk5IDQwIDEwLjUwNDkgNDAgMTAuODgzNlYyOS43MzE4QzQwLjAwMDIgMzAuMTEwNiAzOS45MjU4IDMwLjQ4NTggMzkuNzgxIDMwLjgzNThDMzkuNjM2MiAzMS4xODU5IDM5LjQyMzggMzEuNTAzOSAzOS4xNTYgMzEuNzcxOUMzOC44ODgyIDMyLjAzOTggMzguNTcwMyAzMi4yNTI0IDM4LjIyMDMgMzIuMzk3NEMzNy44NzAzIDMyLjU0MjQgMzcuNDk1MiAzMi42MTg3IDM3LjExNjQgMzIuNjE4N1pNOS42MTQxMyAyNi44NDgyVjE5LjM0NzZMMTMuNDYxMSAyNC4xNTYzTDE3LjMwNjQgMTkuMzQ3NlYyNi44NDgySDIxLjE1MzRWMTMuNzcyMUgxNy4zMDY0TDEzLjQ2MTEgMTguNTgwOUw5LjYxNDEzIDEzLjc3MjFINS43NjcxNVYyNi44NTE2TDkuNjE0MTMgMjYuODQ4MlpNMzUuMzg2MyAyMC4zMDk0SDMxLjUzOTNWMTMuNzcwNUgyNy42OTRWMjAuMzA5NEgyMy44NDdMMjkuNjE1OCAyNy4wNDE2TDM1LjM4NjMgMjAuMzA5NFoiIGZpbGw9IiMzODM4MzkiLz4KPC9zdmc+Cg=="},"displayName":"Markdown","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"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":1236,"icon":"file:aggregate.svg","name":"n8n-nodes-base.aggregate","codex":{"data":{"alias":["Aggregate","Combine","Flatten","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.aggregate/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Aggregate"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjRkY2RDVBIiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMyIDE0OGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDE0NmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJINDRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6bTAgOTZjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxNDZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYyNGMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDQ0Yy02LjYyNyAwLTEyLTUuMzczLTEyLTEyem0wIDk2YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTQ2YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkg0NGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik03NCA3NmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDExNi4yMTdjMTcuNjczIDAgMzIgMTQuMzI3IDMyIDMydjU2YzAgMjYuOTc4IDEwLjI3MiA1MS41NTcgMjcuMTE5IDcwLjAzOSA1LjA1NSA1LjU0NSA1LjA1NSAxNC4zNzcgMCAxOS45MjItMTYuODQ3IDE4LjQ4Mi0yNy4xMTkgNDMuMDYxLTI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMtMTQuMzI3IDMyLTMyIDMySDg2Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTE2LjIxN2M0NC4xODMgMCA4MC0zNS44MTcgODAtODB2LTU2YzAtMzAuOTI4IDI1LjA3Mi01NiA1Ni01NmE1Ljc4MyA1Ljc4MyAwIDAgMCA1Ljc4My01Ljc4M3YtMzYuNDM0YTUuNzgzIDUuNzgzIDAgMCAwLTUuNzgzLTUuNzgzYy0zMC45MjggMC01Ni0yNS4wNzItNTYtNTZ2LTU2YzAtNDQuMTgzLTM1LjgxNy04MC04MC04MEg4NmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNzYgMjQ0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTEyYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgzODhjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUxMnY1MTJIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4="},"displayName":"Aggregate","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":[]}}