{"workflow":{"id":14125,"name":"Audit connected integrations and email pricing & limits report with n8n API, Claude and Gmail","views":4,"recentViews":0,"totalViews":4,"createdAt":"2026-03-17T15:26:12.457Z","description":"## How it works\n\n- Connects to your n8n instance via API and fetches all credentials you have set up\n- Maps each credential type to its real service name (supports 40+ services: OpenAI, Slack, Notion, Airtable, Google, Stripe, and more)\n- Sends the full list to Claude AI, which researches current pricing tiers, free limits, and API rate limits for every service\n- Builds a colour-coded HTML email report sorted by tier: 🟢 Free · 🟡 Freemium · 🔴 Paid only\n- Includes: free quota, paid plan starting price, API rate limit, and key notes for each service\n\n## Set up steps\n\n- Create an **HTTP Header Auth** credential named `n8n API Key` — Header Name: `X-N8N-API-KEY`, Header Value: your n8n API key (Settings → API → Create API Key)\n- Connect your **Anthropic** account credential for Claude AI pricing research\n- Connect your **Gmail** OAuth2 credential for the report email\n- Open the **Configuration** node and set your n8n instance URL and notification email address\n- Run manually or add a Schedule trigger for automated weekly reports\n","workflow":{"id":"hDAapZssmvlPHvHn","meta":{"instanceId":"3173d83e962b62a16f0c7e40b77b4c4da06dd8d3458906d58869df8bd4af7848"},"name":"n8n Integration Audit — Pricing, Tiers & Limits Report","tags":[],"nodes":[{"id":"sticky-overview","name":"Sticky Overview","type":"n8n-nodes-base.stickyNote","position":[-176,80],"parameters":{"width":640,"height":380,"content":"## 🔌 n8n Integration Audit Report\n\n**What this does:**\n1. Reads all credentials connected to your n8n instance\n2. Maps credential types to real service names\n3. Sends the list to Claude AI — researches pricing, free tiers, and rate limits for each\n4. Emails a colour-coded HTML report: 🟢 Free · 🟡 Freemium · 🔴 Paid\n\n**Run manually** or connect a Schedule trigger for weekly reports."},"typeVersion":1},{"id":"sticky-setup","name":"Sticky Setup","type":"n8n-nodes-base.stickyNote","position":[-176,480],"parameters":{"color":4,"width":640,"height":420,"content":"## ⚙️ Setup — 3 steps\n\n**1. n8n API Key credential**\nCreate an **HTTP Header Auth** credential:\n- Name: `n8n API Key`\n- Header Name: `X-N8N-API-KEY`\n- Header Value: your n8n API key\n(Settings → API → Create API Key)\n\n**2. Instance URL**\nIn the **Configuration** node, replace the placeholder with your n8n instance URL.\nExample: `https://myname.app.n8n.cloud`\n\n**3. Notification email**\nIn the **Configuration** node, set your email address.\n\n**Anthropic credential** is used for Claude AI pricing research."},"typeVersion":1},{"id":"n-trigger","name":"Run Audit","type":"n8n-nodes-base.manualTrigger","position":[0,304],"parameters":{},"typeVersion":1},{"id":"n-config","name":"Configuration","type":"n8n-nodes-base.set","position":[240,304],"parameters":{"options":{},"assignments":{"assignments":[{"id":"c1","name":"n8nInstanceUrl","type":"string","value":"https://YOUR-INSTANCE.app.n8n.cloud"},{"id":"c2","name":"notificationEmail","type":"string","value":"your@email.com"}]}},"typeVersion":3.4},{"id":"n-getcreds","name":"Get n8n Credentials","type":"n8n-nodes-base.httpRequest","position":[480,304],"parameters":{"url":"={{ $('Configuration').first().json.n8nInstanceUrl + '/api/v1/credentials?limit=250' }}","options":{},"authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth"},"credentials":{"httpHeaderAuth":{"id":"N8N_API_KEY_CRED","name":"n8n API Key"}},"typeVersion":4.2},{"id":"n-extract","name":"Extract Service Names","type":"n8n-nodes-base.code","position":[720,304],"parameters":{"jsCode":"const body = $input.first().json;\nconst creds = body.data || (Array.isArray(body) ? body : []);\n\nconst typeToService = {\n  openAiApi: 'OpenAI', anthropicApi: 'Anthropic (Claude AI)',\n  googleDriveOAuth2Api: 'Google Drive', gmailOAuth2: 'Gmail',\n  googleSheetsOAuth2Api: 'Google Sheets', googleCalendarOAuth2Api: 'Google Calendar',\n  googleDocsOAuth2Api: 'Google Docs', youtubeOAuth2Api: 'YouTube Data API',\n  slackApi: 'Slack', slackOAuth2Api: 'Slack', telegramApi: 'Telegram Bot API',\n  notionApi: 'Notion', airtableTokenApi: 'Airtable', airtableApi: 'Airtable',\n  githubApi: 'GitHub', gitlabApi: 'GitLab', hubspotApi: 'HubSpot',\n  salesforceOAuth2Api: 'Salesforce', stripeApi: 'Stripe', twilioApi: 'Twilio',\n  sendGridApi: 'SendGrid', mailchimpApi: 'Mailchimp', shopifyApi: 'Shopify',\n  dropboxApi: 'Dropbox', oneDriveApi: 'Microsoft OneDrive',\n  microsoftTeamsOAuth2Api: 'Microsoft Teams', outlookOAuth2Api: 'Microsoft Outlook',\n  linkedInOAuth2Api: 'LinkedIn', twitterOAuth2Api: 'Twitter / X',\n  facebookGraphApi: 'Facebook Graph API', wordpressApi: 'WordPress REST API',\n  asanaApi: 'Asana', trelloApi: 'Trello', jiraApi: 'Jira (Atlassian)',\n  linearApi: 'Linear', clickupApi: 'ClickUp', mondayApi: 'Monday.com',\n  pipedriveApi: 'Pipedrive', zendeskApi: 'Zendesk', discordApi: 'Discord',\n  discordBotApi: 'Discord Bot', postgresDb: 'PostgreSQL', mysqlDb: 'MySQL',\n  mongoDb: 'MongoDB', supabaseApi: 'Supabase', pineconeApi: 'Pinecone',\n  httpHeaderAuth: null, httpBasicAuth: null, httpQueryAuth: null,\n  httpDigestAuth: null, oAuth2Api: null, oAuth1Api: null,\n  sshPrivateKey: null, noAuth: null,\n};\n\nconst seen = new Set();\nconst services = [];\nfor (const cred of creds) {\n  const mapped = typeToService[cred.type];\n  if (mapped === null) continue;\n  const name = mapped || cred.type.replace(/([A-Z])/g, ' $1').replace('Api', ' API').trim();\n  if (!seen.has(name)) { seen.add(name); services.push({ name, type: cred.type }); }\n}\n\nreturn [{ json: { services, serviceList: services.map(s => s.name).join(', '), totalCreds: creds.length, uniqueServices: services.length } }];"},"typeVersion":2},{"id":"n-research","name":"Research Pricing with Claude","type":"@n8n/n8n-nodes-langchain.chainLlm","position":[960,304],"parameters":{"text":"=Analyze these {{ $json.uniqueServices }} services and return their API pricing, free tiers, and rate limits.\n\nServices: {{ $json.serviceList }}\n\nReturn ONLY a valid JSON array, no markdown, no explanation:\n[\n  {\n    \"service\": \"service name\",\n    \"category\": \"AI | Storage | Communication | CRM | Productivity | Social | Database | Payment | Other\",\n    \"tier\": \"free | freemium | paid\",\n    \"hasFree\": true or false,\n    \"freeLimits\": \"specific quota e.g. 10K chars/month\",\n    \"paidFrom\": \"lowest price e.g. $10/month\",\n    \"rateLimit\": \"e.g. 60 RPM or No published limit\",\n    \"notes\": \"1-2 sentences on key restrictions\"\n  }\n]","batching":{},"messages":{"messageValues":[{"message":"You are an API pricing expert. Return accurate, specific pricing and rate limit data. Return only the JSON array."}]},"promptType":"define"},"typeVersion":1.9},{"id":"n-claude-model","name":"Claude Sonnet 4.5","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[960,528],"parameters":{"model":{"__rl":true,"mode":"id","value":"claude-sonnet-4-5-20250929"},"options":{}},"credentials":{"anthropicApi":{"id":"wMJGfzxq65tO9iMb","name":"Anthropic account"}},"typeVersion":1.3},{"id":"n-format","name":"Build HTML Report","type":"n8n-nodes-base.code","position":[1200,304],"parameters":{"jsCode":"const rawText = $input.first().json.text || '';\nconst meta = $('Extract Service Names').first().json;\n\nlet integrations = [];\ntry {\n  const cleaned = rawText.replace(/```json\\n?/g,'').replace(/```\\n?/g,'').trim();\n  integrations = JSON.parse(cleaned);\n} catch(e) {\n  integrations = [{ service:'Parse Error', category:'Error', tier:'freemium', hasFree:false, freeLimits:'Could not parse response', paidFrom:'N/A', rateLimit:'N/A', notes: rawText.substring(0,300) }];\n}\n\nconst tierOrder = { free:0, freemium:1, paid:2 };\nintegrations.sort((a,b) => {\n  const ta = tierOrder[a.tier]??1, tb = tierOrder[b.tier]??1;\n  return ta!==tb ? ta-tb : a.service.localeCompare(b.service);\n});\n\nconst tierColor={free:'#16a34a',freemium:'#b45309',paid:'#dc2626'};\nconst tierBg={free:'#dcfce7',freemium:'#fef3c7',paid:'#fee2e2'};\nconst tierIcon={free:'🟢',freemium:'🟡',paid:'🔴'};\n\nconst rows = integrations.map((item,i) => {\n  const t = item.tier||'freemium';\n  const bg = i%2===0?'#ffffff':'#f9fafb';\n  return `<tr style=\"background:${bg};border-bottom:1px solid #e5e7eb;\">\n    <td style=\"padding:10px 14px;font-weight:600;\">${item.service}</td>\n    <td style=\"padding:10px 14px;color:#6b7280;font-size:13px;\">${item.category||''}</td>\n    <td style=\"padding:10px 14px;\"><span style=\"background:${tierBg[t]};color:${tierColor[t]};padding:3px 10px;border-radius:12px;font-size:12px;font-weight:700;\">${tierIcon[t]} ${t.charAt(0).toUpperCase()+t.slice(1)}</span></td>\n    <td style=\"padding:10px 14px;font-size:13px;\">${item.freeLimits||(item.hasFree?'Yes':'❌ None')}</td>\n    <td style=\"padding:10px 14px;font-size:13px;\">${item.paidFrom||'N/A'}</td>\n    <td style=\"padding:10px 14px;font-size:13px;\">${item.rateLimit||'N/A'}</td>\n    <td style=\"padding:10px 14px;font-size:12px;color:#6b7280;\">${item.notes||''}</td>\n  </tr>`;\n}).join('');\n\nconst date = new Date().toLocaleDateString('en-US',{year:'numeric',month:'long',day:'numeric'});\nconst freeCount=integrations.filter(i=>i.tier==='free').length;\nconst freemiumCount=integrations.filter(i=>i.tier==='freemium').length;\nconst paidCount=integrations.filter(i=>i.tier==='paid').length;\n\nconst html=`<div style=\"font-family:Arial,sans-serif;max-width:1100px;margin:0 auto;padding:20px;\">\n  <h1 style=\"color:#0F1117;border-bottom:4px solid #EA4B71;padding-bottom:14px;\">🔌 n8n Integration Audit Report</h1>\n  <p style=\"color:#6b7280;\">Generated: ${date} · ${meta.totalCreds} credentials · ${integrations.length} services analysed</p>\n  <div style=\"display:flex;gap:12px;margin:16px 0 24px;\">\n    <div style=\"background:#dcfce7;color:#16a34a;padding:10px 18px;border-radius:8px;font-weight:700;\">🟢 Free: ${freeCount}</div>\n    <div style=\"background:#fef3c7;color:#b45309;padding:10px 18px;border-radius:8px;font-weight:700;\">🟡 Freemium: ${freemiumCount}</div>\n    <div style=\"background:#fee2e2;color:#dc2626;padding:10px 18px;border-radius:8px;font-weight:700;\">🔴 Paid only: ${paidCount}</div>\n  </div>\n  <table style=\"border-collapse:collapse;width:100%;font-size:14px;border:1px solid #e5e7eb;\">\n    <thead><tr style=\"background:#0F1117;color:#fff;\">\n      <th style=\"padding:12px 14px;text-align:left;\">Service</th><th style=\"padding:12px 14px;text-align:left;\">Category</th>\n      <th style=\"padding:12px 14px;text-align:left;\">Tier</th><th style=\"padding:12px 14px;text-align:left;\">Free Limits</th>\n      <th style=\"padding:12px 14px;text-align:left;\">Paid From</th><th style=\"padding:12px 14px;text-align:left;\">Rate Limits</th>\n      <th style=\"padding:12px 14px;text-align:left;\">Notes</th>\n    </tr></thead>\n    <tbody>${rows}</tbody>\n  </table>\n  <p style=\"color:#9ca3af;font-size:12px;margin-top:16px;\">⚠️ Pricing researched by Claude AI — verify with official docs.</p>\n</div>`;\n\nreturn [{ json:{ html, totalCount:integrations.length, freeCount, freemiumCount, paidCount, date } }];"},"typeVersion":2},{"id":"n-email","name":"Email Audit Report","type":"n8n-nodes-base.gmail","position":[1440,304],"webhookId":"a541a9c5-d3fc-4662-9bf0-012a219f3f91","parameters":{"sendTo":"={{ $('Configuration').first().json.notificationEmail }}","message":"={{ $json.html }}","options":{"appendAttribution":false},"subject":"={{ '🔌 Integration Audit: ' + $json.totalCount + ' services | 🟢 ' + $json.freeCount + ' Free | 🟡 ' + $json.freemiumCount + ' Freemium | 🔴 ' + $json.paidCount + ' Paid' }}"},"credentials":{"gmailOAuth2":{"id":"BaBBXj9PR2jwppTt","name":"Gmail OAuth2 API"}},"typeVersion":2.1}],"active":false,"pinData":{},"settings":{"callerPolicy":"workflowsFromSameOwner","availableInMCP":false,"executionOrder":"v1","saveManualExecutions":true,"saveExecutionProgress":true,"saveDataErrorExecution":"all","saveDataSuccessExecution":"all"},"versionId":"9af03acb-c0ca-44a8-abf8-8f1f06d335e8","connections":{"Run Audit":{"main":[[{"node":"Configuration","type":"main","index":0}]]},"Configuration":{"main":[[{"node":"Get n8n Credentials","type":"main","index":0}]]},"Build HTML Report":{"main":[[{"node":"Email Audit Report","type":"main","index":0}]]},"Claude Sonnet 4.5":{"ai_languageModel":[[{"node":"Research Pricing with Claude","type":"ai_languageModel","index":0}]]},"Get n8n Credentials":{"main":[[{"node":"Extract Service Names","type":"main","index":0}]]},"Extract Service Names":{"main":[[{"node":"Research Pricing with Claude","type":"main","index":0}]]},"Research Pricing with Claude":{"main":[[{"node":"Build HTML Report","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":10,"nodeTypes":{"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.code":{"count":2},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.stickyNote":{"count":2},"n8n-nodes-base.httpRequest":{"count":1},"n8n-nodes-base.manualTrigger":{"count":1},"@n8n/n8n-nodes-langchain.chainLlm":{"count":1},"@n8n/n8n-nodes-langchain.lmChatAnthropic":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Poghos Adamyan","username":"poghos","bio":"AI & Automation Specialist based in Armenia. I help businesses eliminate repetitive tasks, cut costs, and scale operations using n8n, AI agents, and custom integrations. From CRM automation and lead generation to AI-powered reporting and workflow optimization — I build solutions that save 10-20+ hours per week. Serving businesses in Armenia and beyond. Book a free consultation to see what automation can do for your business.","verified":false,"links":[""],"avatar":"https://gravatar.com/avatar/484e64c5bf891ef2ed0bb5f2837d1f9f6cc88a5f6a2db0fa7966ddf434c9fe48?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":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":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":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":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":1145,"icon":"file:anthropic.svg","name":"@n8n/n8n-nodes-langchain.lmChatAnthropic","codex":{"data":{"alias":["claude","sonnet","opus"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatanthropic/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"Anthropic Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzdEN0Q4NyIgZD0iTTMyLjczIDBoLTYuOTQ1TDM4LjQ1IDMyaDYuOTQ1ek0xMi42NjUgMCAwIDMyaDcuMDgybDIuNTktNi43MmgxMy4yNWwyLjU5IDYuNzJoNy4wODJMMTkuOTI5IDB6bS0uNzAyIDE5LjMzNyA0LjMzNC0xMS4yNDYgNC4zMzQgMTEuMjQ2eiIvPjwvc3ZnPg=="},"displayName":"Anthropic 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":[]}}