{"workflow":{"id":13320,"name":"Monitor multi-cloud costs and enforce policies with OpenAI and Slack alerts","views":43,"recentViews":0,"totalViews":43,"createdAt":"2026-02-12T04:04:27.315Z","description":"## How It Works\nThis workflow automates cloud cost intelligence and governance for organizations struggling with unpredictable cloud spending and budget overruns. Designed for FinOps teams, cloud architects, and finance departments, it solves the critical challenge of monitoring multi-cloud expenses and enforcing cost policies in real-time. The system performs daily cloud cost checks, simulates spending scenarios, analyzes data through dual AI agents (Cost Intelligence Agent identifies optimization opportunities, Governance Agent enforces policies), routes alerts by severity, and notifies stakeholders via Slack and email. By automating cost analysis, anomaly detection, and policy enforcement, organizations prevent budget violations, optimize resource allocation, and maintain financial accountability—essential for enterprises managing complex cloud infrastructures where uncontrolled spending can escalate rapidly.\n\n## Setup Steps\n1. Connect **Daily Trigger** (schedule time aligned with billing cycle updates)\n2. Configure **Cloud Provider APIs** \n3. Add **OpenAI API keys** to Cost Intelligence Agent and Governance Agent nodes\n4. Set budget thresholds and cost policies in Governance Agent prompts\n5. Configure **Slack** webhooks for critical and high-priority alerts\n6. Link **Gmail** credentials for finance team report distribution\n\n## Prerequisites\nCloud provider API access (AWS/Azure/GCP billing), OpenAI API account\n## Use Cases\nMulti-cloud cost optimization, budget compliance enforcement\n## Customization\nModify AI prompts for company-specific cost policies, adjust severity thresholds for alerts\n## Benefits\nPrevents budget overruns through proactive alerts, reduces cloud waste by 30-50%","workflow":{"id":"KnxWZ03iFkRf9Qyd1jU5f","meta":{"instanceId":"b91e510ebae4127f953fd2f5f8d40d58ca1e71c746d4500c12ae86aad04c1502"},"name":"Cloud Cost Intelligence and Governance Orchestration","tags":[],"nodes":[{"id":"fb24ae48-4b1f-4508-9616-a330439e4dfc","name":"Daily Cloud Cost Check","type":"n8n-nodes-base.scheduleTrigger","position":[-816,464],"parameters":{"rule":{"interval":[{"triggerAtHour":8}]}},"typeVersion":1.3},{"id":"6e455dd4-38ba-4a44-897f-82e6d8668528","name":"Workflow Configuration","type":"n8n-nodes-base.set","position":[-592,464],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"costThresholdCritical","type":"number","value":10000},{"id":"id-2","name":"costThresholdHigh","type":"number","value":5000},{"id":"id-3","name":"slackChannelCritical","type":"string","value":"<__PLACEHOLDER_VALUE__Slack Channel ID for Critical Alerts__>"},{"id":"id-4","name":"slackChannelHigh","type":"string","value":"<__PLACEHOLDER_VALUE__Slack Channel ID for High Priority Alerts__>"},{"id":"id-5","name":"financeEmail","type":"string","value":"<__PLACEHOLDER_VALUE__Finance Team Email Address__>"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"45a9b350-c722-403a-9459-8efcfd8ecf93","name":"Simulate Cloud Spend Data","type":"n8n-nodes-base.set","position":[-368,464],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"cloudProvider","type":"string","value":"AWS"},{"id":"id-2","name":"totalSpend","type":"number","value":12500},{"id":"id-3","name":"previousMonthSpend","type":"number","value":8000},{"id":"id-4","name":"budgetLimit","type":"number","value":10000},{"id":"id-5","name":"topServices","type":"array","value":"[{\"service\": \"EC2\", \"cost\": 5000, \"trend\": \"increasing\"}, {\"service\": \"S3\", \"cost\": 3000, \"trend\": \"stable\"}, {\"service\": \"RDS\", \"cost\": 2500, \"trend\": \"increasing\"}, {\"service\": \"Lambda\", \"cost\": 2000, \"trend\": \"decreasing\"}]"},{"id":"id-6","name":"unusedResources","type":"array","value":"[{\"resourceId\": \"i-abc123\", \"type\": \"EC2 Instance\", \"monthlyCost\": 150}, {\"resourceId\": \"vol-xyz789\", \"type\": \"EBS Volume\", \"monthlyCost\": 50}]"},{"id":"id-7","name":"timestamp","type":"string","value":"={{ $now.toISO() }}"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"d9fa4b7a-5f80-4bd2-b04c-68fb703d90fe","name":"Cost Intelligence Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[-144,464],"parameters":{"text":"=Cloud Spend Data:\nProvider: {{ $json.cloudProvider }}\nTotal Spend: ${{ $json.totalSpend }}\nPrevious Month: ${{ $json.previousMonthSpend }}\nBudget Limit: ${{ $json.budgetLimit }}\n\nTop Services:\n{{ JSON.stringify($json.topServices, null, 2) }}\n\nUnused Resources:\n{{ JSON.stringify($json.unusedResources, null, 2) }}","options":{"systemMessage":"You are a Cloud Cost Intelligence Agent specialized in analyzing cloud infrastructure spending patterns and identifying optimization opportunities.\n\nYour task is to:\n1. Analyze the provided cloud spend metrics including total spend, budget limits, and service-level costs\n2. Calculate the percentage change from the previous month\n3. Determine budget status (within_budget if under limit, over_budget if exceeded, approaching_limit if within 10% of limit)\n4. Identify spending trends (increasing, decreasing, or stable) based on month-over-month comparison\n5. Identify the top 3 cost drivers and their impact on overall spending\n6. Detect unused or underutilized resources and calculate potential savings\n7. Recommend specific optimization opportunities with estimated savings and implementation effort (low/medium/high)\n8. Assess risk level based on budget overrun, spending velocity, and resource waste\n9. Provide detailed reasoning for your analysis\n\nRisk Level Guidelines:\n- Critical: Over budget by >20% OR spending increasing >50% month-over-month\n- High: Over budget by 10-20% OR spending increasing 30-50% month-over-month\n- Medium: Approaching budget limit (within 10%) OR spending increasing 15-30%\n- Low: Within budget and stable or decreasing spend\n\nReturn structured JSON output with all required fields."},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"b4bee34d-84e8-4366-b0a0-ef6f7016dea3","name":"OpenAI Model - Cost Intelligence","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-208,688],"parameters":{"model":{"__rl":true,"mode":"id","value":"gpt-4o"},"options":{"temperature":0.1},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"0e526c0b-74aa-4808-bed3-4d2129d9076f","name":"Cost Analysis Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[16,784],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"totalSpend\": {\n      \"type\": \"number\",\n      \"description\": \"Total cloud spend amount\"\n    },\n    \"budgetStatus\": {\n      \"type\": \"string\",\n      \"description\": \"Budget status: within_budget, over_budget, or approaching_limit\"\n    },\n    \"spendTrend\": {\n      \"type\": \"string\",\n      \"description\": \"Spending trend: increasing, decreasing, or stable\"\n    },\n    \"percentageChange\": {\n      \"type\": \"number\",\n      \"description\": \"Percentage change from previous month\"\n    },\n    \"topCostDrivers\": {\n      \"type\": \"array\",\n      \"description\": \"Top 3 services driving costs\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"service\": {\"type\": \"string\"},\n          \"cost\": {\"type\": \"number\"},\n          \"impact\": {\"type\": \"string\"}\n        }\n      }\n    },\n    \"optimizationOpportunities\": {\n      \"type\": \"array\",\n      \"description\": \"List of cost optimization opportunities\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"opportunity\": {\"type\": \"string\"},\n          \"estimatedSavings\": {\"type\": \"number\"},\n          \"effort\": {\"type\": \"string\"}\n        }\n      }\n    },\n    \"unusedResourcesCount\": {\n      \"type\": \"number\",\n      \"description\": \"Number of unused resources identified\"\n    },\n    \"potentialSavings\": {\n      \"type\": \"number\",\n      \"description\": \"Total potential monthly savings\"\n    },\n    \"riskLevel\": {\n      \"type\": \"string\",\n      \"description\": \"Risk level: low, medium, high, or critical\"\n    },\n    \"analysisReasoning\": {\n      \"type\": \"string\",\n      \"description\": \"Detailed reasoning for the analysis\"\n    }\n  },\n  \"required\": [\"totalSpend\", \"budgetStatus\", \"spendTrend\", \"percentageChange\", \"topCostDrivers\", \"optimizationOpportunities\", \"riskLevel\", \"analysisReasoning\"]\n}"},"typeVersion":1.3},{"id":"b7a797fc-4da0-453c-a6fb-084fcbbdb164","name":"Governance Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[208,464],"parameters":{"text":"=Cost Intelligence Analysis:\n{{ JSON.stringify($json.output, null, 2) }}\n\nConfiguration Thresholds:\nCritical Threshold: ${{ $('Workflow Configuration').first().json.costThresholdCritical }}\nHigh Threshold: ${{ $('Workflow Configuration').first().json.costThresholdHigh }}","options":{"systemMessage":"You are a Cloud Governance Agent responsible for orchestrating alerts, optimization recommendations, and finance escalation based on cost intelligence analysis.\n\nYour task is to:\n1. Review the cost intelligence analysis including risk level, budget status, spending trends, and optimization opportunities\n2. Determine the appropriate severity level for governance actions:\n   - Critical: Risk level is critical OR total spend exceeds critical threshold OR requires immediate intervention\n   - High: Risk level is high OR total spend exceeds high threshold OR significant budget overrun\n   - Medium: Risk level is medium OR approaching thresholds OR moderate optimization needed\n   - Low: Risk level is low AND within budget AND no urgent actions needed\n3. Decide if finance team escalation is required (true for critical/high severity OR budget overruns >10%)\n4. Generate a clear, actionable alert message summarizing the situation, key metrics, and urgency\n5. Recommend specific immediate actions prioritized by impact and urgency\n6. Provide escalation reasoning if finance involvement is needed\n7. Document the governance decision with full rationale\n\nAlert Message Format:\n- Start with severity emoji (🚨 Critical, ⚠️ High, 📊 Medium, ✅ Low)\n- Include key metrics: total spend, budget status, percentage change\n- Highlight top cost drivers\n- List potential savings\n- End with call to action\n\nReturn structured JSON output with all required fields."},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"14295ac3-7915-4def-8577-46c8654ecc01","name":"OpenAI Model - Governance","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[224,672],"parameters":{"model":{"__rl":true,"mode":"id","value":"gpt-4o"},"options":{"temperature":0.1},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"12b326d1-8d81-4a2b-8116-64cc3cd288a6","name":"Governance Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[384,688],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"severity\": {\n      \"type\": \"string\",\n      \"description\": \"Severity level: critical, high, medium, or low\"\n    },\n    \"requiresFinanceEscalation\": {\n      \"type\": \"boolean\",\n      \"description\": \"Whether finance team escalation is required\"\n    },\n    \"alertMessage\": {\n      \"type\": \"string\",\n      \"description\": \"Formatted alert message for notifications\"\n    },\n    \"recommendedActions\": {\n      \"type\": \"array\",\n      \"description\": \"List of recommended immediate actions\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"escalationReason\": {\n      \"type\": \"string\",\n      \"description\": \"Reason for escalation if applicable\"\n    },\n    \"governanceDecision\": {\n      \"type\": \"string\",\n      \"description\": \"Detailed governance decision and rationale\"\n    }\n  },\n  \"required\": [\"severity\", \"requiresFinanceEscalation\", \"alertMessage\", \"recommendedActions\", \"governanceDecision\"]\n}"},"typeVersion":1.3},{"id":"7eeadefd-3e57-47dc-b43d-a3f7c8cde847","name":"Route by Severity","type":"n8n-nodes-base.switch","position":[624,496],"parameters":{"rules":{"values":[{"outputKey":"Critical","conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.severity }}","rightValue":"critical"}]},"renameOutput":true},{"outputKey":"High","conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.severity }}","rightValue":"high"}]},"renameOutput":true},{"outputKey":"Finance Escalation","conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"boolean","operation":"equals"},"leftValue":"={{ $json.requiresFinanceEscalation }}","rightValue":true}]},"renameOutput":true}]},"options":{"ignoreCase":true,"fallbackOutput":"extra","renameFallbackOutput":"Low Priority"}},"typeVersion":3.4},{"id":"e4770cee-6295-4691-b703-77db8ac22b42","name":"Slack Alert - Critical","type":"n8n-nodes-base.slack","position":[912,416],"webhookId":"1b1b346f-ba02-495d-aa0e-f6828b5039d2","parameters":{"text":"={{ $json.output.alertMessage }}\n\n*Recommended Actions:*\n{{ $json.output.recommendedActions.map((action, i) => `${i + 1}. ${action}`).join('\\n') }}\n\n*Governance Decision:*\n{{ $json.output.governanceDecision }}","select":"channel","channelId":{"__rl":true,"mode":"id","value":"={{ $('Workflow Configuration').first().json.slackChannelCritical }}"},"otherOptions":{},"authentication":"oAuth2"},"credentials":{"slackOAuth2Api":{"id":"d34b1ayEBbvZm2lT","name":"Slack account"}},"typeVersion":2.4},{"id":"6f728ae1-4c9a-4dbd-97c4-dabc197cefbd","name":"Slack Alert - High","type":"n8n-nodes-base.slack","position":[912,608],"webhookId":"bb653d51-4718-4ea1-9987-01c3d4026fdf","parameters":{"text":"={{ $json.output.alertMessage }}\n\n*Recommended Actions:*\n{{ $json.output.recommendedActions.map((action, i) => `${i + 1}. ${action}`).join('\\n') }}","select":"channel","channelId":{"__rl":true,"mode":"id","value":"={{ $('Workflow Configuration').first().json.slackChannelHigh }}"},"otherOptions":{},"authentication":"oAuth2"},"credentials":{"slackOAuth2Api":{"id":"d34b1ayEBbvZm2lT","name":"Slack account"}},"typeVersion":2.4},{"id":"a1a4f15d-b804-4420-b127-93216934bbb4","name":"Email Finance Team","type":"n8n-nodes-base.emailSend","position":[928,800],"webhookId":"52b3a764-d6ec-486f-b2be-b54e26f5b2b9","parameters":{"html":"=<html>\n<body style=\"font-family: Arial, sans-serif; line-height: 1.6; color: #333;\">\n<h2 style=\"color: #d32f2f;\">Cloud Cost Governance Alert</h2>\n<p><strong>Severity:</strong> {{ $json.output.severity.toUpperCase() }}</p>\n<hr>\n<h3>Alert Summary</h3>\n<p>{{ $json.output.alertMessage }}</p>\n<hr>\n<h3>Escalation Reason</h3>\n<p>{{ $json.output.escalationReason || 'Finance review required due to severity level' }}</p>\n<hr>\n<h3>Recommended Actions</h3>\n<ol>\n{{ $json.output.recommendedActions.map(action => `<li>${action}</li>`).join('') }}\n</ol>\n<hr>\n<h3>Governance Decision</h3>\n<p>{{ $json.output.governanceDecision }}</p>\n<hr>\n<p style=\"font-size: 0.9em; color: #666;\">This is an automated alert from the Cloud Cost Intelligence and Governance system.</p>\n</body>\n</html>","options":{},"subject":"=Cloud Cost Governance Alert - {{ $json.output.severity.toUpperCase() }} Severity","toEmail":"={{ $('Workflow Configuration').first().json.financeEmail }}","fromEmail":"<__PLACEHOLDER_VALUE__Your company email address__>"},"typeVersion":2.1},{"id":"7ba7997a-4510-4794-82b0-8c93f94b155f","name":"Log Cost Analysis","type":"n8n-nodes-base.dataTable","position":[912,976],"parameters":{"columns":{"value":null,"mappingMode":"autoMapInputData"},"options":{},"dataTableId":{"__rl":true,"mode":"name","value":"cloud_cost_analysis_log"}},"typeVersion":1.1},{"id":"0d255f42-e8c9-42db-bef2-7186b43f0925","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[16,-80],"parameters":{"color":5,"width":608,"height":320,"content":"## Prerequisites\nCloud provider API access (AWS/Azure/GCP billing), OpenAI API account\n## Use Cases\nMulti-cloud cost optimization, budget compliance enforcement\n## Customization\nModify AI prompts for company-specific cost policies, adjust severity thresholds for alerts\n## Benefits\nPrevents budget overruns through proactive alerts, reduces cloud waste by 30-50%"},"typeVersion":1},{"id":"1c1f65c8-0c4a-4051-9802-72ab375c75ad","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-368,-48],"parameters":{"width":352,"height":288,"content":"## Setup Steps\n1. Connect **Daily Trigger** (schedule time aligned with billing cycle updates)\n2. Configure **Cloud Provider APIs** \n3. Add **OpenAI API keys** to Cost Intelligence Agent and Governance Agent nodes\n4. Set budget thresholds and cost policies in Governance Agent prompts\n5. Configure **Slack** webhooks for critical and high-priority alerts\n6. Link **Gmail** credentials for finance team report distribution\n"},"typeVersion":1},{"id":"b10bafdd-c00a-4b7c-af00-b678e83636f5","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-864,-96],"parameters":{"width":464,"height":352,"content":"## How It Works\nThis workflow automates cloud cost intelligence and governance for organizations struggling with unpredictable cloud spending and budget overruns. Designed for FinOps teams, cloud architects, and finance departments, it solves the critical challenge of monitoring multi-cloud expenses and enforcing cost policies in real-time. The system performs daily cloud cost checks, simulates spending scenarios, analyzes data through dual AI agents (Cost Intelligence Agent identifies optimization opportunities, Governance Agent enforces policies), routes alerts by severity, and notifies stakeholders via Slack and email. By automating cost analysis, anomaly detection, and policy enforcement, organizations prevent budget violations, optimize resource allocation, and maintain financial accountability—essential for enterprises managing complex cloud infrastructures where uncontrolled spending can escalate rapidly."},"typeVersion":1},{"id":"4f45c8be-658c-494d-b4ef-af0a70193d46","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[176,288],"parameters":{"color":7,"width":368,"height":624,"content":"## Dual AI Analysis\n**Why**: Combines optimization insights with compliance enforcement, balancing efficiency and control simultaneously"},"typeVersion":1},{"id":"a7d643ab-201b-40e7-9b90-89fcf904ddd9","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[560,288],"parameters":{"color":7,"width":208,"height":784,"content":"## Severity-Based Routing\n**Why**: Ensures urgent overruns reach teams instantly while maintaining comprehensive audit trails"},"typeVersion":1},{"id":"e64d4d9d-66ff-421f-bb45-4cf5ac8cc5bf","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[-880,288],"parameters":{"color":7,"width":1040,"height":640,"content":"## Automated Cost Monitoring\n**Why**: Continuous oversight prevents cost surprises and catches anomalies before they impact budgets significantly"},"typeVersion":1},{"id":"50011ba8-fff1-4458-adcd-7308ca5c83de","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[784,288],"parameters":{"color":7,"width":448,"height":896,"content":"## Multi-Channel Alerts\n**Why**: Delivers context-appropriate communications enabling rapid response and informed decision-making"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"availableInMCP":false,"executionOrder":"v1"},"versionId":"c34c7138-bf3b-43e1-aa0b-4fd707bca82c","connections":{"Governance Agent":{"main":[[{"node":"Route by Severity","type":"main","index":0},{"node":"Log Cost Analysis","type":"main","index":0}]]},"Route by Severity":{"main":[[{"node":"Slack Alert - Critical","type":"main","index":0},{"node":"Slack Alert - High","type":"main","index":0},{"node":"Email Finance Team","type":"main","index":0}]]},"Daily Cloud Cost Check":{"main":[[{"node":"Workflow Configuration","type":"main","index":0}]]},"Workflow Configuration":{"main":[[{"node":"Simulate Cloud Spend Data","type":"main","index":0}]]},"Cost Intelligence Agent":{"main":[[{"node":"Governance Agent","type":"main","index":0}]]},"Governance Output Parser":{"ai_outputParser":[[{"node":"Governance Agent","type":"ai_outputParser","index":0}]]},"OpenAI Model - Governance":{"ai_languageModel":[[{"node":"Governance Agent","type":"ai_languageModel","index":0}]]},"Simulate Cloud Spend Data":{"main":[[{"node":"Cost Intelligence Agent","type":"main","index":0}]]},"Cost Analysis Output Parser":{"ai_outputParser":[[{"node":"Cost Intelligence Agent","type":"ai_outputParser","index":0}]]},"OpenAI Model - Cost Intelligence":{"ai_languageModel":[[{"node":"Cost Intelligence Agent","type":"ai_languageModel","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":21,"nodeTypes":{"n8n-nodes-base.set":{"count":2},"n8n-nodes-base.slack":{"count":2},"n8n-nodes-base.switch":{"count":1},"n8n-nodes-base.dataTable":{"count":1},"n8n-nodes-base.emailSend":{"count":1},"n8n-nodes-base.stickyNote":{"count":7},"@n8n/n8n-nodes-langchain.agent":{"count":2},"n8n-nodes-base.scheduleTrigger":{"count":1},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":2},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":2}}},"status":"published","readyToDemo":null,"user":{"name":"Cheng Siong Chin","username":"cschin","bio":"Dr. Cheng Siong CHIN is an n8n workflow creator specializing in AI-powered automation, agent orchestration, and intelligent system integrations. He designs and builds end-to-end workflows that combine LLMs, APIs, and data pipelines to streamline complex processes and deliver production-ready automation solutions. Contact me to discuss custom AI workflows and agent architectures.\n","verified":true,"links":["https://gravatar.com/mysticluminary9fa255f7f5"],"avatar":"https://gravatar.com/avatar/54544f98e839bb9dd9a764ad1e6823eeddb6db5138d201e42f291a7b0a73303f?r=pg&d=retro&size=200"},"nodes":[{"id":11,"icon":"fa:envelope","name":"n8n-nodes-base.emailSend","codex":{"data":{"alias":["SMTP","email","human","form","wait","hitl","approval"],"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/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"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.sendemail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/sendemail/"}]},"categories":["Communication","HITL","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Send Email","color":"#00bb88"},"iconData":{"icon":"envelope","type":"icon"},"displayName":"Send Email","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":9,"name":"Core Nodes"},{"id":28,"name":"HITL"}]},{"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":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":112,"icon":"fa:map-signs","name":"n8n-nodes-base.switch","codex":{"data":{"alias":["Router","If","Path","Filter","Condition","Logic","Branch","Case"],"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/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/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/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"Switch","color":"#506000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"Switch","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":839,"icon":"fa:clock","name":"n8n-nodes-base.scheduleTrigger","codex":{"data":{"alias":["Time","Scheduler","Polling","Cron","Interval"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\",\"schedule\"]","defaults":{"name":"Schedule Trigger","color":"#31C49F"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Schedule Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1153,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"OpenAI Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1179,"icon":"fa:code","name":"@n8n/n8n-nodes-langchain.outputParserStructured","codex":{"data":{"alias":["json","zod"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Output Parsers"]}}},"group":"[\"transform\"]","defaults":{"name":"Structured Output Parser"},"iconData":{"icon":"code","type":"icon"},"displayName":"Structured Output Parser","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1315,"icon":"fa:table","name":"n8n-nodes-base.dataTable","codex":{"data":{"alias":["data","table","knowledge","data table","table","sheet","database","data base","mysql","postgres","postgresql","airtable","supabase","noco","notion"],"details":"Data table","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.datatable/"}]},"categories":["Core Nodes","Development"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\",\"transform\"]","defaults":{"name":"Data table"},"iconData":{"icon":"table","type":"icon"},"displayName":"Data table","typeVersion":1,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":16,"name":"DevOps"},{"id":49,"name":"AI Summarization"}],"image":[]}}