{"workflow":{"id":14952,"name":"Send a curated tech RSS digest to Gmail with OpenAI GPT-5 Mini","views":0,"recentViews":0,"totalViews":0,"createdAt":"2026-04-09T07:03:54.563Z","description":"# Workflow: RSS to E-Mail\n*7 Nodes + AI Model\n*\n\n### ⚙️ Pipeline Steps\n1. Daily Morning Trigger\nFires every day at 8:00 AM.\n\n2. Define RSS Sources\nOutputs 27 curated RSS feed URLs across 7 categories:\n\nCategory --------Sources\n![image.png](fileId:5431)\n\n3. Fetch RSS Feeds\nReads each feed (includes error handling so one broken feed won't kill the workflow).\n\n4. Clean and Prepare for AI\nDeduplicates by URL, strips HTML tags, truncates descriptions, sorts by date, and keeps the 150 most recent articles.\n\n5. AI Article Curator (GPT-5 Mini)\nReviews all articles and picks the 30 most interesting and diverse ones.\n\n6. Build Digest Email\nGenerates a beautiful HTML email with a purple gradient header, numbered article cards with titles, descriptions, dates, and source attribution.\n\n7. Send Digest Email\nSends the final curated digest via Gmail.\n\n\n### 🚀 How to Activate\nTo get this workflow running, you need to:\n\n\t• Connect OpenAI: Add your credentials to the AI model node.\n\n\t• Connect Gmail: Add your credentials to the Send node.\n\n\t• Set Target Email: Update your email address in the \"Send Digest Email\" node (it is currently a placeholder).\n\nEnable: Toggle the workflow to Active.\n\n![image.png](fileId:5432)","workflow":{"meta":{"instanceId":"a4a493ac5ac0c4a5f8066a305576504abc7258acb682d7b3738ab3cf0a3231c7","aiBuilderAssisted":true,"templateCredsSetupCompleted":true},"nodes":[{"id":"7987c840-16b8-4e66-9422-7101cee44c29","name":"Daily Morning Trigger","type":"n8n-nodes-base.scheduleTrigger","position":[240,400],"parameters":{"rule":{"interval":[{"triggerAtHour":8}]}},"typeVersion":1.3},{"id":"f2aeacc4-41ea-4af6-ab8d-68d833c7cac2","name":"Define RSS Sources","type":"n8n-nodes-base.code","position":[528,400],"parameters":{"jsCode":"var feeds = [\n  { url: \"http://news.ycombinator.com/rss\", source: \"Hacker News\" },\n  { url: \"https://techcrunch.com/feed/\", source: \"TechCrunch\" },\n  { url: \"http://www.theverge.com/rss/full.xml\", source: \"The Verge\" },\n  { url: \"http://venturebeat.com/feed/\", source: \"VentureBeat\" },\n  { url: \"https://blog.pragmaticengineer.com/rss/\", source: \"The Pragmatic Engineer\" },\n  { url: \"https://engineering.fb.com/feed/\", source: \"Engineering at Meta\" },\n  { url: \"https://engineering.atspotify.com/feed/\", source: \"Spotify Engineering\" },\n  { url: \"https://stripe.com/blog/feed.rss\", source: \"Stripe Blog\" },\n  { url: \"https://slack.engineering/feed\", source: \"Slack Engineering\" },\n  { url: \"https://blog.cloudflare.com/rss/\", source: \"Cloudflare Blog\" },\n  { url: \"https://shopifyengineering.myshopify.com/blogs/engineering.atom\", source: \"Shopify Engineering\" },\n  { url: \"https://openai.com/news/engineering/rss.xml\", source: \"OpenAI\" },\n  { url: \"http://googleresearch.blogspot.com/atom.xml\", source: \"Google AI Blog\" },\n  { url: \"https://deepmind.com/blog/feed/basic/\", source: \"DeepMind\" },\n  { url: \"http://news.mit.edu/rss/topic/artificial-intelligence2\", source: \"MIT News AI\" },\n  { url: \"https://www.amazon.science/index.rss\", source: \"Amazon Science\" },\n  { url: \"https://developer.nvidia.com/blog/feed\", source: \"NVIDIA Developer\" },\n  { url: \"http://firstround.com/review/feed.xml\", source: \"First Round Review\" },\n  { url: \"https://lethain.com/feeds/\", source: \"Irrational Exuberance\" },\n  { url: \"http://www.producthunt.com/feed\", source: \"Product Hunt\" },\n  { url: \"http://www.quantamagazine.org/feed/\", source: \"Quanta Magazine\" },\n  { url: \"https://www.sciencealert.com/rss\", source: \"ScienceAlert\" },\n  { url: \"https://singularityhub.com/feed/\", source: \"Singularity Hub\" },\n  { url: \"https://jvns.ca/atom.xml\", source: \"Julia Evans\" },\n  { url: \"https://danluu.com/atom.xml\", source: \"Dan Luu\" },\n  { url: \"https://overreacted.io/rss.xml\", source: \"Dan Abramov\" },\n  { url: \"https://www.joelonsoftware.com/feed/\", source: \"Joel on Software\" }\n];\nreturn feeds.map(function(f) { return { json: f }; });"},"typeVersion":2},{"id":"8246b94e-9e1f-49bc-92b5-7626395b50b6","name":"Fetch RSS Feeds","type":"n8n-nodes-base.rssFeedRead","onError":"continueRegularOutput","position":[800,400],"parameters":{"url":"={{ $json.url }}","options":{"ignoreSSL":true}},"typeVersion":1.2},{"id":"cdf20fa3-1c33-436b-8226-ebd73eae93b0","name":"Clean and Prepare for AI","type":"n8n-nodes-base.code","position":[1088,400],"parameters":{"jsCode":"var items = $input.all();\nvar seen = new Set();\nvar cleaned = [];\nfor (var i = 0; i < items.length; i++) {\n  var d = items[i].json;\n  var title = (d.title || \"\").trim();\n  var link = (d.link || \"\").trim();\n  if (!title || !link || seen.has(link)) continue;\n  seen.add(link);\n  var desc = (d.contentSnippet || d.content || d.description || \"\").replace(/<[^>]*>/g, \"\").trim();\n  if (desc.length > 250) desc = desc.substring(0, 250) + \"...\";\n  var pubDate = d.isoDate || d.pubDate || \"\";\n  var source = d.creator || \"\";\n  if (!source) { try { source = new URL(link).hostname.replace(\"www.\", \"\"); } catch(e) {} }\n  cleaned.push({ title: title, link: link, description: desc, pubDate: pubDate, source: source });\n}\ncleaned.sort(function(a, b) { return new Date(b.pubDate || 0) - new Date(a.pubDate || 0); });\ncleaned = cleaned.slice(0, 150);\nvar articleList = cleaned.map(function(a, idx) {\n  return \"[\" + idx + \"] \" + JSON.stringify(a.title) + \" (\" + (a.source || \"Unknown\") + \", \" + (a.pubDate ? a.pubDate.substring(0, 10) : \"No date\") + \")\\n   \" + (a.description || \"No description\");\n}).join(\"\\n\\n\");\nreturn [{ json: { articleCount: cleaned.length, articleList: articleList, articlesJson: JSON.stringify(cleaned) } }];"},"typeVersion":2},{"id":"a5169a62-6a6b-478b-b93e-e97d65da1e26","name":"AI Article Curator","type":"@n8n/n8n-nodes-langchain.agent","position":[1360,400],"parameters":{"text":"=I have {{ $json.articleCount }} articles from various tech RSS feeds today. Please select the 30 most interesting, impactful, and diverse articles.\n\nHere are all the articles:\n\n{{ $json.articleList }}\n\nReturn ONLY a valid JSON object with this exact structure: {\"selected\": [0, 5, 12, ...]} where the numbers are the article indices from the list above.\n\nSelection criteria:\n1. Timely and newsworthy\n2. Diverse topics (AI, engineering, startups, science, design)\n3. Genuinely interesting to a tech professional\n4. Avoid duplicates or very similar stories\n5. Prioritize original insights over press releases","options":{"systemMessage":"You are an expert tech news curator. Your job is to review a list of articles from various RSS feeds and select exactly 30 of the most interesting and diverse ones for a daily digest email. You must return ONLY valid JSON with the selected article indices in this format: {\"selected\": [index1, index2, ...]}. Do not include any other text, explanation, or formatting."},"promptType":"define"},"typeVersion":3.1},{"id":"9dd360be-7c8c-41a6-a612-db060ee58943","name":"OpenAI GPT-5 Mini","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[1360,624],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-5-mini"},"options":{},"builtInTools":{}},"credentials":{"openAiApi":{"id":"Rfo3BAMEN5KGZ4Py","name":"n8n free OpenAI API credits"}},"typeVersion":1.3},{"id":"5eb8206e-3128-4eba-9a06-53c080795a68","name":"Build Digest Email","type":"n8n-nodes-base.code","position":[1648,400],"parameters":{"jsCode":"var aiOutput = $input.first().json.output;\nvar allArticles = JSON.parse($(\"Clean and Prepare for AI\").first().json.articlesJson);\nvar selected;\ntry {\n  var jsonMatch = aiOutput.match(/\\{[\\s\\S]*\\}/);\n  var parsed = JSON.parse(jsonMatch ? jsonMatch[0] : aiOutput);\n  selected = parsed.selected || parsed.indices || [];\n} catch (e) {\n  var nums = aiOutput.match(/\\d+/g);\n  selected = nums ? nums.map(Number) : [];\n}\nvar articles = selected.filter(function(i) { return i >= 0 && i < allArticles.length; }).slice(0, 30).map(function(i) { return allArticles[i]; });\nvar today = new Date().toLocaleDateString(\"en-US\", { weekday: \"long\", year: \"numeric\", month: \"long\", day: \"numeric\" });\nvar h = \"<!DOCTYPE html><html><head><meta charset=\\\"utf-8\\\"><meta name=\\\"viewport\\\" content=\\\"width=device-width, initial-scale=1.0\\\"></head>\";\nh += \"<body style=\\\"margin:0;padding:0;background:#f1f5f9;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;\\\">\";\nh += \"<table width=\\\"100%\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" style=\\\"background:#f1f5f9;padding:32px 0;\\\">\";\nh += \"<tr><td align=\\\"center\\\">\";\nh += \"<table width=\\\"640\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" style=\\\"background:#fff;border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,0.06);overflow:hidden;max-width:640px;width:100%;\\\">\";\nh += \"<tr><td style=\\\"background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 50%,#a855f7 100%);padding:48px 32px;text-align:center;\\\">\";\nh += \"<h1 style=\\\"margin:0;color:#fff;font-size:32px;font-weight:800;letter-spacing:-0.5px;\\\">&#128236; Tech Digest</h1>\";\nh += \"<p style=\\\"margin:10px 0 0;color:rgba(255,255,255,0.85);font-size:15px;\\\">\" + today + \" &#183; \" + articles.length + \" curated articles</p>\";\nh += \"</td></tr>\";\nh += \"<tr><td style=\\\"padding:28px 32px 12px;\\\"><p style=\\\"margin:0;color:#475569;font-size:15px;line-height:1.6;text-align:center;\\\">Your AI-curated daily selection of the most interesting tech articles from across the web.</p></td></tr>\";\nfor (var idx = 0; idx < articles.length; idx++) {\n  var a = articles[idx];\n  var desc = (a.description || \"\").substring(0, 200);\n  var src = a.source ? \" &#183; \" + a.source : \"\";\n  var dt = \"\";\n  try { dt = a.pubDate ? new Date(a.pubDate).toLocaleDateString(\"en-US\", { month: \"short\", day: \"numeric\" }) : \"\"; } catch(e) {}\n  var num = idx + 1;\n  h += \"<tr><td style=\\\"padding:6px 32px;\\\">\";\n  h += \"<table width=\\\"100%\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" style=\\\"background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0;\\\">\";\n  h += \"<tr><td style=\\\"padding:18px 20px;\\\">\";\n  h += \"<table cellpadding=\\\"0\\\" cellspacing=\\\"0\\\"><tr>\";\n  h += \"<td style=\\\"vertical-align:top;padding-right:14px;\\\"><span style=\\\"display:inline-block;width:28px;height:28px;border-radius:50%;background:#6366f1;color:#fff;font-size:12px;font-weight:700;line-height:28px;text-align:center;\\\">\" + num + \"</span></td>\";\n  h += \"<td>\";\n  h += \"<a href=\\\"\" + a.link + \"\\\" style=\\\"color:#1e293b;text-decoration:none;font-size:16px;font-weight:600;line-height:1.4;\\\">\" + a.title + \"</a>\";\n  if (desc) h += \"<p style=\\\"margin:6px 0 0;color:#64748b;font-size:13px;line-height:1.5;\\\">\" + desc + \"</p>\";\n  h += \"<p style=\\\"margin:8px 0 0;font-size:11px;color:#94a3b8;\\\">\" + dt + src + \"</p>\";\n  h += \"</td></tr></table>\";\n  h += \"</td></tr></table></td></tr>\";\n}\nh += \"<tr><td style=\\\"padding:28px 32px;text-align:center;border-top:1px solid #e2e8f0;\\\">\";\nh += \"<p style=\\\"margin:0;color:#94a3b8;font-size:13px;\\\">Curated with &#10084;&#65039; by your n8n RSS Digest workflow</p>\";\nh += \"<p style=\\\"margin:4px 0 0;color:#cbd5e1;font-size:11px;\\\">27 RSS sources &#183; AI-curated daily</p>\";\nh += \"</td></tr></table></td></tr></table></body></html>\";\nreturn [{ json: { emailHtml: h, emailSubject: \"Tech Digest - \" + today, articleCount: articles.length } }];"},"typeVersion":2},{"id":"7a89c7f3-c608-4dbf-a1e9-f68cead749e1","name":"Send Digest Email","type":"n8n-nodes-base.gmail","position":[1920,400],"webhookId":"592b3bbe-83ee-4fe8-b190-ace876c2d931","parameters":{"sendTo":"your@email.com","message":"={{ $json.emailHtml }}","options":{"senderName":"Tech Digest Bot","appendAttribution":false},"subject":"={{ $json.emailSubject }}"},"credentials":{"gmailOAuth2":{"id":"9RXhvDAIgmDP2v2j","name":"Gmail OAuth2 API"}},"typeVersion":2.2},{"id":"5dd97a86-c72d-4501-b2a9-32160a39ec0f","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-352,-32],"parameters":{"width":576,"height":768,"content":"Workflow: RSS to E-Mail (7 nodes + AI model)\n\n\n1. Daily Morning Trigger - Fires every day at 8:00 AM\n\n2. Define RSS Sources - Outputs 27 curated RSS feed URLs across 7 categories:\n\nTech News:\n Hacker News, TechCrunch, The Verge, VentureBeat\nEngineering: Meta, Spotify, Stripe, Slack, Cloudflare, Shopify, The Pragmatic Engineer\nAI & ML: OpenAI, Google AI, DeepMind, MIT News, Amazon Science, NVIDIA\n\nStartup: \nFirst Round Review, Irrational Exuberance\nProducts: Product Hunt\n\nScience: \nQuanta Magazine, ScienceAlert, Singularity Hub\n\nBloggers:\nJulia Evans, Dan Luu, Dan Abramov, Joel on Software\n3. Fetch RSS Feeds - Reads each feed (with error handling so one broken feed won't kill the workflow)\n\n4. Clean and Prepare for AI - Deduplicates by URL, strips HTML tags, truncates descriptions, sorts by date, keeps the 150 most recent articles\n\n5. AI Article Curator (GPT-5 Mini) - Reviews all articles and picks the 30 most interesting/diverse ones\n\n6. Build Digest Email - Generates a beautiful HTML email with a purple gradient header, numbered article cards with titles, descriptions, dates, and source attribution\n\n7. Send Digest Email - Sends via Gmail\n\nTo activate it, you need to:\n\nConnect your OpenAI credentials to the AI model node\nConnect your Gmail credentials to the Send node\nSet your email address in the \"Send Digest Email\" node (it's a placeholder right now)\nToggle the workflow to Active"},"typeVersion":1},{"id":"7b59bcf8-c125-4466-8f3b-d32cda50212f","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[256,192],"parameters":{"color":7,"width":416,"height":384,"content":"1.Daily Morning Trigger Fires every day at 8:00 AM\n\n\n2. Define RSS Sources - Outputs 27 curated RSS feed URLs across 7 categories"},"typeVersion":1},{"id":"c2ff02d1-5ce1-4f5d-aa6d-abcf7c8f9a1a","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[704,192],"parameters":{"color":7,"width":592,"height":352,"content":"3.Fetch RSS Feeds - Reads each feed (with error handling so one broken feed won't kill the workflow)\n\n\n4. Clean and Prepare for AI - Deduplicates by URL, strips HTML tags, truncates descriptions, sorts by date, keeps the 150 most recent articles"},"typeVersion":1},{"id":"80483840-5b90-4943-b428-bdd8bdf88cc6","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[1344,192],"parameters":{"color":7,"width":256,"height":512,"content":"5.Article Curator (GPT-5 Mini) - Reviews all articles and picks the 30 most interesting/diverse ones"},"typeVersion":1},{"id":"53cdff73-8207-46b7-a672-d909eec13794","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[1648,192],"parameters":{"color":7,"width":448,"height":384,"content":"6.Build Digest Email - Generates a beautiful HTML email with a purple gradient header, numbered article cards with titles, descriptions, dates, and source attribution\n\n7.Send Digest Email - Sends via Gmail"},"typeVersion":1}],"pinData":{},"connections":{"Fetch RSS Feeds":{"main":[[{"node":"Clean and Prepare for AI","type":"main","index":0}]]},"OpenAI GPT-5 Mini":{"ai_languageModel":[[{"node":"AI Article Curator","type":"ai_languageModel","index":0}]]},"AI Article Curator":{"main":[[{"node":"Build Digest Email","type":"main","index":0}]]},"Build Digest Email":{"main":[[{"node":"Send Digest Email","type":"main","index":0}]]},"Define RSS Sources":{"main":[[{"node":"Fetch RSS Feeds","type":"main","index":0}]]},"Daily Morning Trigger":{"main":[[{"node":"Define RSS Sources","type":"main","index":0}]]},"Clean and Prepare for AI":{"main":[[{"node":"AI Article Curator","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":13,"nodeTypes":{"n8n-nodes-base.code":{"count":3},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.stickyNote":{"count":5},"n8n-nodes-base.rssFeedRead":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":1},"n8n-nodes-base.scheduleTrigger":{"count":1},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Flavio Paesano","username":"astro8bit","bio":"Automation specialist, Fullstack dev, Entrepreneur","verified":true,"links":[""],"avatar":"https://gravatar.com/avatar/31a4b46a6d77411c184925fc6c40643d16189738a321d2f3813cc2c774fe881d?r=pg&d=retro&size=200"},"nodes":[{"id":37,"icon":"fa:rss","name":"n8n-nodes-base.rssFeedRead","codex":{"data":{"resources":{"generic":[{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/why-i-chose-n8n-over-zapier-in-2020/","icon":"😍","label":"Why I chose n8n over Zapier in 2020"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.rssfeedread/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"RSS Read","color":"#b02020"},"iconData":{"icon":"rss","type":"icon"},"displayName":"RSS Read","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":356,"icon":"file:gmail.svg","name":"n8n-nodes-base.gmail","codex":{"data":{"alias":["email","human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"transform\"]","defaults":{"name":"Gmail"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"},"displayName":"Gmail","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":839,"icon":"fa:clock","name":"n8n-nodes-base.scheduleTrigger","codex":{"data":{"alias":["Time","Scheduler","Polling","Cron","Interval"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\",\"schedule\"]","defaults":{"name":"Schedule Trigger","color":"#31C49F"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Schedule Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1153,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"OpenAI Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":33,"name":"Social Media"},{"id":49,"name":"AI Summarization"}],"image":[{"id":5431,"url":"https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/image_bdb5ae4706.png"},{"id":5432,"url":"https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/image_24d71e93b3.png"}]}}