{"workflow":{"id":13769,"name":"Check workflow templates against Creator Hub guidelines with Gemini and Gmail","views":48,"recentViews":0,"totalViews":48,"createdAt":"2026-02-28T05:28:39.636Z","description":"## Who is this for\n\nTemplate creators who want to validate their n8n workflows against the official Creator Hub approval criteria before submitting. Useful for both new and verified creators looking to reduce rejection rates.\n\n## What this workflow does\n\nThis workflow scrapes the latest approval guidelines from four n8n Creator Hub Notion pages, generates a structured pass/fail checklist using Gemini AI, then reviews your uploaded workflow JSON against every criterion. The results are delivered as a formatted HTML email report with a score and specific fixes.\n\n## Setup\n\n1. Add a **Google Gemini (PaLM) API** credential for criteria generation, file upload, and review.\n2. Add a **Gmail OAuth2** credential for sending the results email.\n3. Activate the workflow and open the generated form URL.\n\n## Requirements\n\n- Google Gemini API key (used for three separate calls: criteria generation, file uploads, and final review)\n- Gmail account with OAuth2 access enabled\n\n## How to customize\n\n- Change the Gemini model in the \"Google Gemini for criteria generation\" and \"Review workflow against criteria\" nodes.\n- Edit the review prompt in the \"Review workflow against criteria\" node to adjust scoring weight or add custom checks.\n- Replace the Gmail node with another email service or a Discord/Slack webhook for different delivery methods.\n\n## Important disclaimer\n\nThis workflow provides AI-generated feedback based on n8n Creator Hub guidelines available as of February 2026. The review results are **not a guarantee** of approval or rejection — actual decisions are made by the n8n review team. Guidelines and criteria may change over time. Always check the latest official information on the [n8n Creator Hub](https://n8n.notion.site/n8n-Creator-hub-7bd2cbe0fce0449198ecb23ff4a2f76f) before submitting your template.","workflow":{"meta":{"instanceId":"0fd24758e45cbed1f63c03b9ca7326acab4b855985945af441ee95f8874d3e22","templateCredsSetupCompleted":true},"nodes":[{"id":"5e032005-5a5e-4b83-9ab0-b8d87d7e19ef","name":"Workflow Overview","type":"n8n-nodes-base.stickyNote","position":[11568,6096],"parameters":{"width":540,"height":588,"content":"## n8n Template Approval Checker\n\nCheck your n8n workflow template against the latest official Creator Hub guidelines before submitting. This workflow fetches live approval criteria from Notion, generates a structured checklist with AI, then uploads your full workflow JSON to Gemini for a detailed pass/fail review. Results are sent to your email as an HTML report.\n\n### How it works\n1. You upload your workflow JSON file and enter the template title via the web form.\n2. The workflow scrapes four official n8n Creator Hub Notion pages using the Splitbee API.\n3. Gemini AI reads the scraped guidelines and generates a structured approval checklist.\n4. Both the checklist and your workflow JSON are uploaded to Gemini Files API.\n5. A second Gemini call reviews your workflow against every criterion and scores it.\n6. The HTML review report is emailed to the address you provided.\n\n### Setup steps\n1. Add your **Google Gemini API** credential (used for criteria generation, file upload, and review).\n2. Add your **Gmail OAuth2** credential (used to send the results email).\n3. Activate the workflow and open the form URL to start checking templates."},"typeVersion":1},{"id":"c5d39394-175a-4893-b9cc-9a9e15933ddb","name":"Step 1 Note","type":"n8n-nodes-base.stickyNote","position":[12128,6096],"parameters":{"color":7,"width":228,"height":320,"content":"## Form input\nCollects the workflow JSON file, template title, and email address for results delivery."},"typeVersion":1},{"id":"d17599ce-329c-486e-bf4a-0aab16c86a65","name":"Step 2 Note","type":"n8n-nodes-base.stickyNote","position":[12368,6096],"parameters":{"color":7,"width":732,"height":320,"content":"## Scrape guidelines\nFetches four Creator Hub pages via the Notion unofficial API, then extracts readable text from each block."},"typeVersion":1},{"id":"c6937ce6-fd63-4cfa-b0d1-f2b82bb2c77e","name":"Step 3 Note","type":"n8n-nodes-base.stickyNote","position":[13120,6096],"parameters":{"color":7,"width":360,"height":496,"content":"## AI criteria generation\nGemini reads the scraped guidelines and outputs a numbered pass/fail checklist."},"typeVersion":1},{"id":"ae935fec-2b4f-40f2-94f6-a4b73689b766","name":"Step 4 Note","type":"n8n-nodes-base.stickyNote","position":[13504,6096],"parameters":{"color":7,"width":760,"height":320,"content":"## Upload and review\nBoth files are uploaded to Gemini Files API, then a second Gemini call reviews the workflow against the checklist."},"typeVersion":1},{"id":"34c5c85b-f1ec-4c43-8cbe-3739a93f7a7a","name":"Step 5 Note","type":"n8n-nodes-base.stickyNote","position":[14272,6096],"parameters":{"color":7,"width":310,"height":320,"content":"## Email results\nThe HTML review report is sent to the email address provided in the form."},"typeVersion":1},{"id":"5c8d63e9-ccbe-4e27-8e62-256d08de3017","name":"Submit workflow for review","type":"n8n-nodes-base.formTrigger","position":[12192,6256],"webhookId":"169886ac-41b6-4986-97f2-2322d5506d7c","parameters":{"path":"169886ac-41b6-4986-97f2-2322d5506d7c","options":{},"formTitle":"n8n Template Approval Checker","formFields":{"values":[{"fieldType":"file","fieldLabel":"Workflow JSON File","requiredField":true},{"fieldLabel":"Template Title","placeholder":"Workflow title (max 80 characters)","requiredField":true},{"fieldLabel":"Email Address","placeholder":"Email address for results delivery","requiredField":true}]},"formDescription":"Upload your workflow JSON to check it against the latest n8n Creator Hub approval guidelines."},"typeVersion":2},{"id":"efebc416-a774-493a-be20-91b5dd23a6b0","name":"Generate Notion API URLs","type":"n8n-nodes-base.code","position":[12416,6256],"parameters":{"jsCode":"// Generate Notion API URLs for all guideline pages\nvar pageIds = [\n  '7bd2cbe0fce0449198ecb23ff4a2f76f',\n  '9959894476734da3b402c90b124b1f77',\n  '2aa5b6e0c94f8058b0aefddd02655887',\n  'b4c008b47eb74846b48c37c652ec2650'\n];\n\nreturn pageIds.map(function(id) {\n  return { json: { url: 'https://notion-api.splitbee.io/v1/page/' + id, pageId: id } };\n});"},"typeVersion":2},{"id":"0ee6f803-37ab-4910-987f-b2d1c50bdd4c","name":"Fetch guideline pages from Notion","type":"n8n-nodes-base.httpRequest","position":[12592,6256],"parameters":{"url":"={{ $json.url }}","options":{}},"typeVersion":4.2},{"id":"05228ac8-d64b-4f20-84ec-7cf663d79509","name":"Combine all fetched pages","type":"n8n-nodes-base.aggregate","position":[12768,6256],"parameters":{"options":{},"aggregate":"aggregateAllItemData"},"typeVersion":1},{"id":"a7702dec-5ae0-4ae2-99c4-a2e63922ad98","name":"Extract text from Notion blocks","type":"n8n-nodes-base.code","position":[12944,6256],"parameters":{"jsCode":"// Parse Notion API response into readable guidelines text\nfunction extractBlockText(block) {\n  if (!block || !block.value || !block.value.properties || !block.value.properties.title) return '';\n  var titleArr = block.value.properties.title;\n  var text = '';\n  for (var i = 0; i < titleArr.length; i++) {\n    if (typeof titleArr[i][0] === 'string') {\n      text = text + titleArr[i][0];\n    }\n  }\n  return text.trim();\n}\n\nfunction formatBlock(block) {\n  var text = extractBlockText(block);\n  if (!text || text === '\\u2023') return '';\n  var type = (block && block.value && block.value.type) ? block.value.type : '';\n  if (type === 'header') return '\\n# ' + text;\n  if (type === 'sub_header') return '\\n## ' + text;\n  if (type === 'sub_sub_header') return '\\n### ' + text;\n  if (type === 'bulleted_list') return '- ' + text;\n  if (type === 'numbered_list') return '1. ' + text;\n  if (type === 'callout') return '> ' + text;\n  if (type === 'toggle') return '> ' + text;\n  if (type === 'page') return '\\n--- PAGE: ' + text + ' ---';\n  return text;\n}\n\nvar guidelines = '';\nvar items = $input.all();\nfor (var idx = 0; idx < items.length; idx++) {\n  var itemData = items[idx].json;\n  if (!itemData) continue;\n  // Handle aggregated data (array of page results)\n  var pages = Array.isArray(itemData.data) ? itemData.data : [itemData];\n  for (var p = 0; p < pages.length; p++) {\n    var pageData = pages[p];\n    if (!pageData || typeof pageData !== 'object') continue;\n    var keys = Object.keys(pageData);\n    for (var k = 0; k < keys.length; k++) {\n      var block = pageData[keys[k]];\n      if (!block || !block.value) continue;\n      var formatted = formatBlock(block);\n      if (formatted) {\n        guidelines = guidelines + formatted + '\\n';\n      }\n    }\n  }\n}\n\n// Fallback if scraping failed\nif (!guidelines || guidelines.length < 100) {\n  guidelines = 'SCRAPING FAILED - Please check Notion API availability';\n}\n\nreturn {\n  json: {\n    guidelines: guidelines,\n    guidelinesLength: guidelines.length,\n    scrapedFromNotion: guidelines.length > 200,\n    source: guidelines.length > 200 ? 'Notion API (Live)' : 'Scraping Failed'\n  }\n};"},"typeVersion":2},{"id":"1959750c-ff89-461b-8841-0fa1b9fef52c","name":"Generate approval checklist with AI","type":"@n8n/n8n-nodes-langchain.chainLlm","position":[13184,6256],"parameters":{"text":"=You are an n8n template marketplace expert.\n\nBelow are the OFFICIAL guidelines scraped from n8n's Creator Hub Notion pages:\n\n{{ $('Extract text from Notion blocks').first().json.guidelines.substring(0, 6000) }}\n\nBased on these official guidelines, create a STRUCTURED CHECKLIST of approval criteria.\nFormat it as a numbered list with clear pass/fail conditions.\n\nInclude criteria for:\n1. Node count requirements\n2. Integration/service requirements\n3. Sticky note requirements (colors, content, placement)\n4. Title format rules\n5. Description requirements\n6. Technical metadata (executionOrder, credentials, etc.)\n7. Connection completeness\n8. Common rejection reasons\n\nBe specific with numbers and thresholds. Output ONLY the checklist, no intro text.\nRespond in English.","promptType":"define"},"typeVersion":1.4},{"id":"cdeacd12-e90c-4f2f-a48c-8aeba1459ddd","name":"Google Gemini for criteria generation","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[13184,6448],"parameters":{"options":{},"modelName":"models/gemini-3-pro-preview"},"credentials":{"googlePalmApi":{"id":"PUQUOjnr2h6KZNgo","name":"Google Gemini(PaLM) Api account"}},"typeVersion":1},{"id":"0919c2f3-f3c1-4ba7-bd97-2c4a1d2823e8","name":"Convert criteria and workflow to files","type":"n8n-nodes-base.code","position":[13536,6256],"parameters":{"jsCode":"// Convert criteria text and workflow JSON to binary for Gemini Files API upload\nvar criteria = $input.first().json.response || $input.first().json.text || 'No criteria';\nvar formData = $('Submit workflow for review').first().json;\nvar workflowRaw = formData['Workflow JSON File'] || '{}';\nvar workflowJson = (typeof workflowRaw === 'object') ? JSON.stringify(workflowRaw, null, 2) : workflowRaw;\n\n// Output 2 items: criteria file + workflow file\nreturn [\n  {\n    json: { fileType: 'criteria' },\n    binary: {\n      data: await this.helpers.prepareBinaryData(\n        Buffer.from(criteria, 'utf-8'),\n        'criteria.txt',\n        'text/plain'\n      )\n    }\n  },\n  {\n    json: { fileType: 'workflow' },\n    binary: {\n      data: await this.helpers.prepareBinaryData(\n        Buffer.from(workflowJson, 'utf-8'),\n        'workflow.json',\n        'application/json'\n      )\n    }\n  }\n];"},"typeVersion":2},{"id":"45829ddd-8d34-47e8-b951-686a233e26d8","name":"Upload files to Gemini Files API","type":"n8n-nodes-base.httpRequest","position":[13728,6256],"parameters":{"url":"https://generativelanguage.googleapis.com/upload/v1beta/files","method":"POST","options":{},"sendBody":true,"contentType":"binaryData","sendHeaders":true,"authentication":"predefinedCredentialType","headerParameters":{"parameters":[{"name":"X-Goog-Upload-Command","value":"upload, finalize"},{"name":"X-Goog-Upload-Protocol","value":"raw"}]},"inputDataFieldName":"data","nodeCredentialType":"googlePalmApi"},"credentials":{"googlePalmApi":{"id":"PUQUOjnr2h6KZNgo","name":"Google Gemini(PaLM) Api account"}},"typeVersion":4.4},{"id":"20747a51-ce66-4592-b9f3-1ceb286bd77c","name":"Combine uploaded file references","type":"n8n-nodes-base.aggregate","position":[13904,6256],"parameters":{"options":{},"aggregate":"aggregateAllItemData"},"typeVersion":1},{"id":"9b05dee3-812c-405c-a02e-082fc3651d72","name":"Review workflow against criteria","type":"n8n-nodes-base.httpRequest","position":[14112,6256],"parameters":{"url":"https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent","method":"POST","options":{},"jsonBody":"={\n  \"contents\": [\n    {\n      \"parts\": [\n        {\n          \"fileData\": {\n            \"mimeType\": \"{{ $json.data[0].file.mimeType }}\",\n            \"fileUri\": \"{{ $json.data[0].file.uri }}\"\n          }\n        },\n        {\n          \"fileData\": {\n            \"mimeType\": \"{{ $json.data[1].file.mimeType }}\",\n            \"fileUri\": \"{{ $json.data[1].file.uri }}\"\n          }\n        },\n        {\n          \"text\": \"You are an expert n8n template marketplace reviewer.\\n\\nThe first file contains APPROVAL CRITERIA generated from official n8n Creator Hub guidelines.\\nThe second file contains the FULL WORKFLOW JSON to review.\\nTemplate Title: {{ $('Submit workflow for review').first().json['Template Title'] || 'N/A' }}\\n\\nReview the workflow against each criterion. For each: PASS or FAIL with specific reason.\\n\\nThen provide:\\n1. Overall Verdict: APPROVE / NEEDS WORK / REJECT\\n2. Score: X/100\\n3. Top 3 Critical Fixes (mention specific node names, settings)\\n4. Estimated Fix Time\\n\\nFORMAT INSTRUCTIONS:\\n- Output as a complete HTML email body using inline CSS only (no <style> blocks or external stylesheets).\\n- Use a clean, professional email layout with max-width: 640px, centered, white background.\\n- Use a colored header banner:\\n  - APPROVE: green (#22c55e)\\n  - NEEDS WORK: orange (#f59e0b)\\n  - REJECT: red (#ef4444)\\n- Render each criterion result as a row with ✅ or ❌ and the reason.\\n- Use <table> for structured sections (good email client compatibility).\\n- Keep the total output concise but do NOT enforce a character limit.\\n- Do not include <html>, <head>, or <body> tags — output only the inner content suitable for embedding in an email body.\\n- Ensure all spacing, colors, and fonts are defined via inline style attributes.\"\n        }\n      ]\n    }\n  ]\n}","sendBody":true,"specifyBody":"json","authentication":"predefinedCredentialType","nodeCredentialType":"googlePalmApi"},"credentials":{"googlePalmApi":{"id":"PUQUOjnr2h6KZNgo","name":"Google Gemini(PaLM) Api account"}},"typeVersion":4.4},{"id":"45aaf393-7da0-479c-9c68-b9aa5a5a64b0","name":"Send review results via email","type":"n8n-nodes-base.gmail","position":[14384,6256],"webhookId":"5c98dc85-6977-4a13-ae30-6ad5c0a05149","parameters":{"sendTo":"={{ $('Submit workflow for review').first().json['Email Address'] }}","message":"={{ $json.candidates[0].content.parts[0].text }}","options":{},"subject":"=n8n Template Review: {{ $('Submit workflow for review').first().json['Template Title'] }}"},"credentials":{"gmailOAuth2":{"id":"UGspxvKkMZCF4l4Y","name":"Gmail account"}},"typeVersion":2.2}],"pinData":{},"connections":{"Generate Notion API URLs":{"main":[[{"node":"Fetch guideline pages from Notion","type":"main","index":0}]]},"Combine all fetched pages":{"main":[[{"node":"Extract text from Notion blocks","type":"main","index":0}]]},"Submit workflow for review":{"main":[[{"node":"Generate Notion API URLs","type":"main","index":0}]]},"Extract text from Notion blocks":{"main":[[{"node":"Generate approval checklist with AI","type":"main","index":0}]]},"Combine uploaded file references":{"main":[[{"node":"Review workflow against criteria","type":"main","index":0}]]},"Review workflow against criteria":{"main":[[{"node":"Send review results via email","type":"main","index":0}]]},"Upload files to Gemini Files API":{"main":[[{"node":"Combine uploaded file references","type":"main","index":0}]]},"Fetch guideline pages from Notion":{"main":[[{"node":"Combine all fetched pages","type":"main","index":0}]]},"Generate approval checklist with AI":{"main":[[{"node":"Convert criteria and workflow to files","type":"main","index":0}]]},"Google Gemini for criteria generation":{"ai_languageModel":[[{"node":"Generate approval checklist with AI","type":"ai_languageModel","index":0}]]},"Convert criteria and workflow to files":{"main":[[{"node":"Upload files to Gemini Files API","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":18,"nodeTypes":{"n8n-nodes-base.code":{"count":3},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.aggregate":{"count":2},"n8n-nodes-base.stickyNote":{"count":6},"n8n-nodes-base.formTrigger":{"count":1},"n8n-nodes-base.httpRequest":{"count":3},"@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":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":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":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":1225,"icon":"file:form.svg","name":"n8n-nodes-base.formTrigger","codex":{"data":{"alias":["table","submit","post"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.formtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Other Trigger Nodes"]}}},"group":"[\"trigger\"]","defaults":{"name":"On form submission"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NiIgaGVpZ2h0PSI0MCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwQjdCQyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzQuOTc4IDM3LjczMmExLjU2IDEuNTYgMCAwIDEtMS41NjIgMS41NjNINi4yNmExLjU2IDEuNTYgMCAwIDEtMS41NjMtMS41NjNWOS42MDdjMC0uNDA1LjE1Ny0uNzk0LjQzOC0xLjA4Nmw2LjMwNC02LjUzMXY1LjM0NEg4LjIxM2ExLjE3MiAxLjE3MiAwIDEgMCAwIDIuMzQzaDQuNDNhMS4xNyAxLjE3IDAgMCAwIDEuMTcxLTEuMTcxVi4yMzJoMTkuNjAyYTEuNTYgMS41NiAwIDAgMSAxLjU2MiAxLjU2M3YxMC4zMjdsLTIuODYgMi44Ni04LjI1MiA4LjI3NmE0MTMuMDA2IDQxMy4wMDYgMCAwIDEtMS42NTQgMS42NjJsLS4zMzcuMzM3YTIgMiAwIDAgMC0uNTU3IDEuMDhMMjAuMyAzMS45MjJjLS4xMDguNjM4LS4yMTUgMS4wNzkuMjExIDEuNDE4LjQwMy4zMi45LjE3NCAxLjU0LjA2Nmw1LjQwOC0uOTI4YTIgMiAwIDAgMCAxLjA4LS41NTZsNi40NC02LjQyOXptLTI0LjAzLTIxLjI2NWExLjE4IDEuMTggMCAwIDAgMS4xNzEgMS4xNzJoMTMuMTYzYTEuMTcyIDEuMTcyIDAgMSAwIDAtMi4zNDRIMTIuMTE5YTEuMTcgMS4xNyAwIDAgMC0xLjE3MiAxLjE3Mm03LjI5NCAxNC43NjZhMS4xNyAxLjE3IDAgMCAwLTEuMTcyLTEuMTcySDEyLjEyYTEuMTcyIDEuMTcyIDAgMSAwIDAgMi4zNDNoNC45NTFhMS4xNyAxLjE3IDAgMCAwIDEuMTcyLTEuMTcybS44Ni03LjM5MWExLjE3IDEuMTcgMCAwIDAtMS4xNzItMS4xNzJoLTUuODExYTEuMTcyIDEuMTcyIDAgMSAwIDAgMi4zNDNoNS44MWExLjE2NCAxLjE2NCAwIDAgMCAxLjE3My0xLjE3MSIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iIzAwQjdCQyIgZD0ibTMzLjUzMiAxNi4zOTcgNC4yODktNC4yODkgMy43NTggMy43MSAxLjYxNy0xLjYxNiAyLjI1OCAyLjI1N2MuMjE4LjIxOC4zNC41MTMuMzQzLjgyLS4wMDIuMzExLS4xMjUuNjA4LS4zNDQuODNsLTYuODA0IDYuNzk2YTEuMTMgMS4xMyAwIDAgMS0uODI4LjM0MyAxLjE1IDEuMTUgMCAwIDEtLjgyOC0uMzQzIDEuMTggMS4xOCAwIDAgMSAwLTEuNjU3bDUuOTc2LTUuOTY4LTEuMzEyLTEuMzEzLTEuMzgzIDEuNDE0LTEzLjE0OSAxMy4xMjUtNC42MTcuNzgyLjc4Mi00LjYxNy4zMzYtLjMzNyAyLjU2MiAyLjU1NWExLjEgMS4xIDAgMCAwIC44MjguMzQ0Yy4zMTIuMDA1LjYxMi0uMTIuODI4LS4zNDRhMS4xOCAxLjE4IDAgMCAwIDAtMS42NTZsLTIuNTYyLTIuNTYyek00NC43MzYgMTIuMjRjMCAuNDE0LS4xNjMuODEtLjQ1NCAxLjEwMmwtLjkyMi45MTQtMy44NTItMy44MjguOTMtLjkzYTEuNTYzIDEuNTYzIDAgMCAxIDIuMjAzIDBsMS42NCAxLjY0MWMuMjkxLjI5My40NTUuNjkuNDU1IDEuMTAyIi8+PC9zdmc+"},"displayName":"n8n Form Trigger","typeVersion":3,"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":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":5,"name":"Engineering"},{"id":49,"name":"AI Summarization"}],"image":[]}}