{"workflow":{"id":13674,"name":"Summarize RSS feeds into a daily AI digest with Gemini, Slack, and Gmail","views":119,"recentViews":1,"totalViews":119,"createdAt":"2026-02-24T23:08:07.229Z","description":"## Who is this for\n\nBusy professionals, team leads, and anyone who follows multiple news sources and wants a single, prioritized morning briefing instead of scrolling through dozens of tabs.\n\n## What this workflow does\n\nA Schedule Trigger fires every weekday morning at 8 AM. Two RSS Feed Read nodes pull the latest articles from your configured sources (default: Ars Technica and Hacker News). A Code node merges and deduplicates the articles into a single list. Google Gemini then reads each article, writes a concise summary, assigns an importance score from 1 to 10, and tags it by category. Another Code node builds a formatted digest sorted by importance, splitting stories into \"Top Stories\" and \"Other News.\" The digest is posted to Slack as your daily briefing and simultaneously sent via Gmail for team members who prefer email.\n\n## How to set up\n\n1. Replace the RSS feed URLs in \"Tech News Feed\" and \"Hacker News Feed\" with your preferred sources\n2. Add your free Google Gemini API key from Google AI Studio\n3. Connect Slack and choose the channel for daily posts\n4. Connect Gmail and set the recipient email address\n5. Adjust the cron schedule in \"Morning Schedule\" to your preferred time\n\n## Requirements\n\n- Google Gemini API key (free tier available)\n- Slack workspace\n- Gmail account\n- n8n instance (self-hosted or cloud)\n\n## How to customize\n\n- Add more RSS Feed Read nodes and wire them into \"Merge and Deduplicate\" for additional sources\n- Change the importance scoring criteria in the \"Summarize and Score\" AI prompt\n- Adjust the top story threshold in \"Build Digest\" (default: score 7 or above)\n- Modify the cron expression to run at a different time or include weekends","workflow":{"meta":{"instanceId":"0fd24758e45cbed1f63c03b9ca7326acab4b855985945af441ee95f8874d3e22","templateCredsSetupCompleted":true},"nodes":[{"id":"e631d7fb-dbe8-4ce2-ad9c-27149bcae749","name":"Overview","type":"n8n-nodes-base.stickyNote","position":[416,1696],"parameters":{"width":576,"height":544,"content":"## Daily AI News Digest\n\n### How it works\n1. A schedule trigger runs every morning at your chosen time\n2. RSS Feed nodes pull latest articles from your configured news sources\n3. A Code node merges and deduplicates the articles\n4. Google Gemini summarizes each article and assigns an importance score (1-10)\n5. Another Code node builds a formatted daily digest sorted by importance\n6. The digest is posted to Slack as your morning briefing\n7. A copy goes out via Gmail for people who prefer email\n\n### Setup steps\n1. Add your RSS feed URLs in each RSS Feed Read node\n2. Connect Google Gemini API credentials (free tier)\n3. Connect Slack and pick the channel for daily posts\n4. Connect Gmail and set the recipient list\n5. Adjust the schedule time to match your morning routine\n\n### Customization\n- Add more RSS Feed nodes for additional sources\n- Change the importance scoring criteria in the AI prompt\n- Filter out articles below a certain score in the Code node"},"typeVersion":1},{"id":"6429f1dc-4610-4d4b-baee-83df5f7c1188","name":"Note - Collection","type":"n8n-nodes-base.stickyNote","position":[1008,1696],"parameters":{"color":7,"width":520,"height":500,"content":"## Feed collection\nPulls articles from multiple RSS sources and merges them."},"typeVersion":1},{"id":"4c299734-dbc8-43eb-b496-131085e904bf","name":"Note - AI Summary","type":"n8n-nodes-base.stickyNote","position":[1552,1696],"parameters":{"color":7,"width":520,"height":508,"content":"## AI summarization\nGemini reads each article and creates a scored summary."},"typeVersion":1},{"id":"151082d3-4c0b-4aa7-b73a-875d1c7d305a","name":"Note - Delivery","type":"n8n-nodes-base.stickyNote","position":[2096,1696],"parameters":{"color":7,"width":428,"height":500,"content":"## Digest delivery\nFormats the digest and delivers via Slack and Gmail."},"typeVersion":1},{"id":"3192de6a-a0ae-4b8a-bd6c-1660ea9b4121","name":"Morning Schedule","type":"n8n-nodes-base.scheduleTrigger","position":[1040,1904],"parameters":{"rule":{"interval":[{"field":"cronExpression","expression":"0 8 * * 1-5"}]}},"typeVersion":1.2},{"id":"566d87bf-df76-4fb7-979a-c0f1dfda1d8a","name":"Tech News Feed","type":"n8n-nodes-base.rssFeedRead","position":[1296,1808],"parameters":{"url":"https://feeds.arstechnica.com/arstechnica/technology-lab","options":{}},"typeVersion":1},{"id":"c34c2132-0606-4b78-a49c-3a2bc6d93a48","name":"Hacker News Feed","type":"n8n-nodes-base.rssFeedRead","position":[1296,2000],"parameters":{"url":"https://hnrss.org/frontpage","options":{}},"typeVersion":1},{"id":"ecdbbee0-e35d-488a-a740-021abbfa1f9c","name":"Merge and Deduplicate","type":"n8n-nodes-base.code","position":[1616,1904],"parameters":{"jsCode":"// Merge and deduplicate articles from multiple RSS feeds\nconst techItems = $('Tech News Feed').all();\nconst hnItems = $('Hacker News Feed').all();\n\nconst allArticles = [];\nconst seenUrls = new Set();\n\nconst processItems = (items, source) => {\n  for (const item of items.slice(0, 10)) {\n    const url = item.json.link || item.json.guid || '';\n    if (url && !seenUrls.has(url)) {\n      seenUrls.add(url);\n      allArticles.push({\n        title: item.json.title || 'Untitled',\n        url,\n        description: (item.json.contentSnippet || item.json.description || '').substring(0, 500),\n        pubDate: item.json.pubDate || item.json.isoDate || '',\n        source\n      });\n    }\n  }\n};\n\nprocessItems(techItems, 'Ars Technica');\nprocessItems(hnItems, 'Hacker News');\n\n// Sort by date, newest first\nallArticles.sort((a, b) => new Date(b.pubDate) - new Date(a.pubDate));\n\nreturn [{ json: { articles: allArticles.slice(0, 15), count: allArticles.length, fetchedAt: new Date().toISOString() } }];"},"typeVersion":2},{"id":"08c9895e-990c-4dc3-8406-9898f1e595b6","name":"Summarize and Score","type":"@n8n/n8n-nodes-langchain.chainLlm","position":[1792,1904],"parameters":{},"typeVersion":1.4},{"id":"f62c1dd3-311c-4c59-a36f-def2cb136d85","name":"Gemini Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[1792,2080],"parameters":{"options":{"temperature":0.3},"modelName":"models/gemini-1.5-flash"},"typeVersion":1},{"id":"140bb95a-5122-49b3-8546-9a93c9a43530","name":"Build Digest","type":"n8n-nodes-base.code","position":[2128,1904],"parameters":{"jsCode":"// Build the formatted daily digest\nconst aiResponse = $input.first().json.text || '';\nconst articles = $('Merge and Deduplicate').first().json.articles;\nlet scored = [];\n\ntry {\n  const match = aiResponse.match(/\\[[\\s\\S]*\\]/);\n  if (match) scored = JSON.parse(match[0]);\n} catch (e) {\n  scored = articles.map((a, i) => ({\n    index: i + 1,\n    title: a.title,\n    summary: a.description.substring(0, 100),\n    score: 5,\n    category: 'other'\n  }));\n}\n\n// Sort by score descending\nscored.sort((a, b) => b.score - a.score);\n\n// Build Slack-formatted digest\nconst today = new Date().toISOString().split('T')[0];\nconst topStories = scored.filter(s => s.score >= 7);\nconst otherStories = scored.filter(s => s.score < 7);\n\nlet slackText = `📰 *Daily News Digest — ${today}*\\n\\n`;\n\nif (topStories.length > 0) {\n  slackText += `*🔥 Top Stories*\\n`;\n  topStories.forEach(s => {\n    const article = articles[s.index - 1];\n    slackText += `• *${s.title}* (⭐ ${s.score}/10)\\n  ${s.summary}\\n  ${article ? article.url : ''}\\n\\n`;\n  });\n}\n\nif (otherStories.length > 0) {\n  slackText += `*📋 Other News*\\n`;\n  otherStories.forEach(s => {\n    slackText += `• ${s.title} (${s.score}/10) — ${s.summary}\\n`;\n  });\n}\n\n// Build email HTML\nlet emailBody = `Daily News Digest — ${today}\\n\\n`;\nscored.forEach(s => {\n  const article = articles[s.index - 1];\n  emailBody += `[${s.score}/10] ${s.title}\\n${s.summary}\\n${article ? article.url : ''}\\n\\n`;\n});\n\nreturn [{\n  json: {\n    slackText,\n    emailBody,\n    date: today,\n    totalArticles: scored.length,\n    topStoriesCount: topStories.length\n  }\n}];"},"typeVersion":2},{"id":"ffe915dc-c221-4934-bde9-ee8add47ad9c","name":"Post to Slack","type":"n8n-nodes-base.slack","position":[2336,1808],"webhookId":"99a966f5-82e3-4b3b-b3d1-cb8752918547","parameters":{"text":"={{ $json.slackText }}","otherOptions":{}},"typeVersion":2.2},{"id":"acce60cf-382f-4789-b37c-94a9665c3cb7","name":"Email Digest","type":"n8n-nodes-base.gmail","position":[2336,2016],"webhookId":"8b224aa5-3373-4366-bfe2-583687b5aef6","parameters":{"message":"={{ $json.emailBody }}","options":{},"subject":"=📰 Daily News Digest — {{ $json.date }} ({{ $json.topStoriesCount }} top stories)"},"typeVersion":2.1}],"pinData":{},"connections":{"Build Digest":{"main":[[{"node":"Post to Slack","type":"main","index":0},{"node":"Email Digest","type":"main","index":0}]]},"Tech News Feed":{"main":[[{"node":"Merge and Deduplicate","type":"main","index":0}]]},"Hacker News Feed":{"main":[[{"node":"Merge and Deduplicate","type":"main","index":0}]]},"Morning Schedule":{"main":[[{"node":"Tech News Feed","type":"main","index":0},{"node":"Hacker News Feed","type":"main","index":0}]]},"Gemini Chat Model":{"ai_languageModel":[[{"node":"Summarize and Score","type":"ai_languageModel","index":0}]]},"Summarize and Score":{"main":[[{"node":"Build Digest","type":"main","index":0}]]},"Merge and Deduplicate":{"main":[[{"node":"Summarize and Score","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":13,"nodeTypes":{"n8n-nodes-base.code":{"count":2},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.slack":{"count":1},"n8n-nodes-base.stickyNote":{"count":4},"n8n-nodes-base.rssFeedRead":{"count":2},"n8n-nodes-base.scheduleTrigger":{"count":1},"@n8n/n8n-nodes-langchain.chainLlm":{"count":1},"@n8n/n8n-nodes-langchain.lmChatGoogleGemini":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Oka Hironobu","username":"okp29","bio":"https://okp29.net/","verified":true,"links":[""],"avatar":"https://gravatar.com/avatar/d57c7a2cb027c144079388f3ca6c4204696dbee6f1995242748dccd9619fdc09?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":40,"icon":"file:slack.svg","name":"n8n-nodes-base.slack","codex":{"data":{"alias":["human","form","wait","hitl","approval"],"resources":{"generic":[{"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/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/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/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/","icon":"👏","label":"How to automatically give kudos to contributors with GitHub, Slack, and n8n"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.slack/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/slack/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Slack"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgMTUwLjg1MiAxNTAuODUyIj48dXNlIHhsaW5rOmhyZWY9IiNhIiB4PSIuOTI2IiB5PSIuOTI2Ii8+PHN5bWJvbCBpZD0iYSIgb3ZlcmZsb3c9InZpc2libGUiPjxnIHN0cm9rZS13aWR0aD0iMS44NTIiPjxwYXRoIGZpbGw9IiNlMDFlNWEiIHN0cm9rZT0iI2UwMWU1YSIgZD0iTTQwLjc0MSA5My41NWMwLTguNzM1IDYuNjA3LTE1Ljc3MiAxNC44MTUtMTUuNzcyczE0LjgxNSA3LjAzNyAxNC44MTUgMTUuNzcydjM4LjgyNGMwIDguNzM3LTYuNjA3IDE1Ljc3NC0xNC44MTUgMTUuNzc0cy0xNC44MTUtNy4wMzctMTQuODE1LTE1Ljc3MnoiLz48cGF0aCBmaWxsPSIjZWNiMjJkIiBzdHJva2U9IiNlY2IyMmQiIGQ9Ik05My41NSAxMDcuNDA4Yy04LjczNSAwLTE1Ljc3Mi02LjYwNy0xNS43NzItMTQuODE1czcuMDM3LTE0LjgxNSAxNS43NzItMTQuODE1aDM4LjgyNmM4LjczNSAwIDE1Ljc3MiA2LjYwNyAxNS43NzIgMTQuODE1cy03LjAzNyAxNC44MTUtMTUuNzcyIDE0LjgxNXoiLz48cGF0aCBmaWxsPSIjMmZiNjdjIiBzdHJva2U9IiMyZmI2N2MiIGQ9Ik03Ny43NzggMTUuNzcyQzc3Ljc3OCA3LjAzNyA4NC4zODUgMCA5Mi41OTMgMHMxNC44MTUgNy4wMzcgMTQuODE1IDE1Ljc3MnYzOC44MjZjMCA4LjczNS02LjYwNyAxNS43NzItMTQuODE1IDE1Ljc3MnMtMTQuODE1LTcuMDM3LTE0LjgxNS0xNS43NzJ6Ii8+PHBhdGggZmlsbD0iIzM2YzVmMSIgc3Ryb2tlPSIjMzZjNWYxIiBkPSJNMTUuNzcyIDcwLjM3MUM3LjAzNyA3MC4zNzEgMCA2My43NjMgMCA1NS41NTZzNy4wMzctMTQuODE1IDE1Ljc3Mi0xNC44MTVoMzguODI2YzguNzM1IDAgMTUuNzcyIDYuNjA3IDE1Ljc3MiAxNC44MTVzLTcuMDM3IDE0LjgxNS0xNS43NzIgMTQuODE1eiIvPjxnIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjxwYXRoIGZpbGw9IiNlY2IyMmQiIHN0cm9rZT0iI2VjYjIyZCIgZD0iTTc3Ljc3OCAxMzMuMzMzYzAgOC4yMDggNi42MDcgMTQuODE1IDE0LjgxNSAxNC44MTVzMTQuODE1LTYuNjA3IDE0LjgxNS0xNC44MTUtNi42MDctMTQuODE1LTE0LjgxNS0xNC44MTVINzcuNzc4eiIvPjxwYXRoIGZpbGw9IiMyZmI2N2MiIHN0cm9rZT0iIzJmYjY3YyIgZD0iTTEzMy4zMzQgNzAuMzcxaC0xNC44MTVWNTUuNTU2YzAtOC4yMDcgNi42MDctMTQuODE1IDE0LjgxNS0xNC44MTVzMTQuODE1IDYuNjA3IDE0LjgxNSAxNC44MTUtNi42MDcgMTQuODE1LTE0LjgxNSAxNC44MTV6Ii8+PHBhdGggZmlsbD0iI2UwMWU1YSIgc3Ryb2tlPSIjZTAxZTVhIiBkPSJNMTQuODE1IDc3Ljc3OEgyOS42M3YxNC44MTVjMCA4LjIwNy02LjYwNyAxNC44MTUtMTQuODE1IDE0LjgxNVMwIDEwMC44IDAgOTIuNTkzczYuNjA3LTE0LjgxNSAxNC44MTUtMTQuODE1eiIvPjxwYXRoIGZpbGw9IiMzNmM1ZjEiIHN0cm9rZT0iIzM2YzVmMSIgZD0iTTcwLjM3MSAxNC44MTVWMjkuNjNINTUuNTU2Yy04LjIwNyAwLTE0LjgxNS02LjYwNy0xNC44MTUtMTQuODE1UzQ3LjM0OCAwIDU1LjU1NiAwczE0LjgxNSA2LjYwNyAxNC44MTUgMTQuODE1eiIvPjwvZz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Slack","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"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":1123,"icon":"fa:link","name":"@n8n/n8n-nodes-langchain.chainLlm","codex":{"data":{"alias":["LangChain"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.chainllm/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Chains","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"Basic LLM Chain","color":"#909298"},"iconData":{"icon":"link","type":"icon"},"displayName":"Basic LLM Chain","typeVersion":2,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1262,"icon":"file:google.svg","name":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatgooglegemini/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"Google Gemini Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDggNDgiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNDQuNSAyMEgyNHY4LjVoMTEuOEMzNC43IDMzLjkgMzAuMSAzNyAyNCAzN2MtNy4yIDAtMTMtNS44LTEzLTEzczUuOC0xMyAxMy0xM2MzLjEgMCA1LjkgMS4xIDguMSAyLjlsNi40LTYuNEMzNC42IDQuMSAyOS42IDIgMjQgMiAxMS44IDIgMiAxMS44IDIgMjRzOS44IDIyIDIyIDIyYzExIDAgMjEtOCAyMS0yMiAwLTEuMy0uMi0yLjctLjUtNCIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9ImIiPjx1c2UgeGxpbms6aHJlZj0iI2EiIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48cGF0aCBmaWxsPSIjRkJCQzA1IiBkPSJNMCAzN1YxMWwxNyAxM3oiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im0wIDExIDE3IDEzIDctNi4xTDQ4IDE0VjBIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiMzNEE4NTMiIGQ9Im0wIDM3IDMwLTIzIDcuOSAxTDQ4IDB2NDhIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiM0Mjg1RjQiIGQ9Ik00OCA0OCAxNyAyNGwtNC0zIDM1LTEweiIgY2xpcC1wYXRoPSJ1cmwoI2IpIi8+PC9zdmc+"},"displayName":"Google Gemini Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":32,"name":"Market Research"},{"id":49,"name":"AI Summarization"}],"image":[]}}