{"workflow":{"id":12724,"name":"Automated error monitoring and reporting system using data tables","views":133,"recentViews":0,"totalViews":133,"createdAt":"2026-01-15T11:59:03.298Z","description":"**Automated error monitoring and reporting system using data tables**\n\nThis template helps you monitor workflow failures by automatically logging every error to a data table, then sending periodic summaries via email, Slack, Microsoft Teams, or Discord—so you catch issues before they impact your operations.\n\n## What This Workflow Does\n\nThe template uses two synchronized workflows to create a complete error monitoring system:\n\n1. **Error Capture Workflow** - Uses n8n's native error handling to intercept every workflow failure, extract key details (workflow name, error message, timestamp, node information, execution ID), and store them in your data table or database\n2. **Report Scheduler Workflow** - Runs on your configured schedule (daily, weekly, or custom) to query stored errors, aggregate insights, and send formatted summaries through your notification channel\n\n## How to Use It\n\n**Capture errors from all workflows** → **Store them in one centralized table** → **Get daily/weekly summaries in Slack, email, or Teams**\n\n## ✨ Key Features\n\n- **Zero-touch error logging** - No modifications needed to existing workflows; errors are captured automatically\n- **Flexible storage** - Configure any data table, PostgreSQL, MySQL, MongoDB, or cloud database as your error repository\n- **Multiple notification channels** - Send reports via email, Slack, Microsoft Teams, Discord, or custom HTTP endpoints\n- **Customizable schedules** - Daily, weekly, or custom-interval reporting to match your team's needs\n- **Rich error context** - Every logged error includes workflow name, error message, affected node, timestamp, and execution ID for quick troubleshooting\n- **Historical database** - Build a searchable error archive for pattern analysis and long-term debugging\n\n## 🚀 Use Cases\n\n- **Monitor production workflows** - DevOps and platform teams tracking system health across multiple automated processes\n- **Debug ETL failures** - Data engineers identifying where pipelines break and why\n- **Oversee complex automation** - Teams managing dozens of interconnected workflows without manual checks\n- **Stay informed as a solo developer** - Get notified of issues without constantly logging into n8n\n\n## 📋 Prerequisites\n\n- n8n instance (self-hosted or n8n Cloud)\n- Data storage (PostgreSQL, MySQL, MongoDB, n8n's built-in tables, or similar)\n- Notification service configured (Gmail, Slack, Teams, Discord, or custom webhook)\n\n## ⚙️ Configuration Steps\n\n1. **Connect your data storage** - Point the error capture workflow to your chosen database or data table\n2. **Enable error monitoring** - Activate the error handling trigger for workflows you want to monitor\n3. **Set reporting schedule** - Choose daily, weekly, or custom intervals for your summary reports\n4. **Configure notifications** - Add your Slack webhook, email address, Teams channel, or Discord endpoint\n5. **Customize report format** - Optionally adjust which error metrics and insights appear in summaries\n\n## 💡 Customization Ideas\n\n- Add error severity levels (critical, warning, info) to prioritize failures\n- Set up real-time critical error alerts in addition to scheduled reports\n- Create workflow-specific error thresholds and escalation rules\n- Integrate with PagerDuty or Opsgenie for incident management\n- Add visualizations or charts to your error summaries\n- Implement automatic retry logic for specific error types\n\n## 📊 Sample Error Summary Output\n\nYour reports will include:\n- Total errors in the reporting period\n- Error count breakdown by workflow\n- Most frequently occurring error types\n- Error timeline and trends\n- Direct links to failed executions for quick debugging\n\n## 🔧 Maintenance Tips\n\n- Review error patterns monthly to identify workflows that need optimization\n- Archive or delete old error logs periodically to keep your database performant\n- Adjust reporting frequency as your workflow volume grows\n- Update notification recipients when team members join or leave","workflow":{"id":"9NxE0Ad0SC1SPfjb","meta":{"instanceId":"244b2fdfb3052c43f18269063dd3d1d7e5b99d026df5ceca023c09034a0066dc","templateCredsSetupCompleted":true},"name":"✅ Error Handling Workflow","tags":[],"nodes":[{"id":"d468bbe6-751d-4438-b859-cd1daa7ee8ce","name":"Error Trigger","type":"n8n-nodes-base.errorTrigger","position":[160,-224],"parameters":{},"typeVersion":1},{"id":"795cbfbd-3f08-4c9d-a0be-0459c309ad73","name":"Ignore Manual Failures","type":"n8n-nodes-base.filter","position":[384,-224],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"8ddebc82-8d35-4e0c-a74e-6f2099699f48","operator":{"type":"string","operation":"notEquals"},"leftValue":"={{ $('Error Trigger').item.json.execution.mode }}","rightValue":"manual"}]}},"typeVersion":2.3},{"id":"2f6722be-39f7-478f-a47d-4a16002dc008","name":"Aggregate","type":"n8n-nodes-base.aggregate","position":[816,460],"parameters":{"options":{},"aggregate":"aggregateAllItemData"},"typeVersion":1},{"id":"f30573e0-c346-47c2-99f5-b86d6310a109","name":"Time Saved","type":"n8n-nodes-base.timeSaved","position":[832,-224],"parameters":{"minutesSaved":1},"typeVersion":1},{"id":"8bd9894a-ec9a-443e-819b-be43a6fbc70a","name":"Split Out","type":"n8n-nodes-base.splitOut","position":[1360,720],"parameters":{"options":{},"fieldToSplitOut":"data"},"typeVersion":1},{"id":"fea0ae9a-650d-4816-b02b-a26f20dff39c","name":"Update Last Emailed At","type":"n8n-nodes-base.dataTable","position":[1616,720],"parameters":{"columns":{"value":{"lastEmailedAt":"={{ $now }}"},"schema":[{"id":"workflowId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflowId","defaultMatch":false},{"id":"executionId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"executionId","defaultMatch":false},{"id":"errorMessage","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"errorMessage","defaultMatch":false},{"id":"errorStack","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"errorStack","defaultMatch":false},{"id":"lastNodeExecuted","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"lastNodeExecuted","defaultMatch":false},{"id":"workflowName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflowName","defaultMatch":false},{"id":"executionDate","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"executionDate","defaultMatch":false},{"id":"executionUrl","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"executionUrl","defaultMatch":false},{"id":"lastEmailedAt","type":"dateTime","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"lastEmailedAt","defaultMatch":false}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"filters":{"conditions":[{"keyValue":"={{ $json.id }}"}]},"options":{},"matchType":"allConditions","operation":"update","dataTableId":{"__rl":true,"mode":"list","value":"zbjSiKe71GhTt8Pp","cachedResultUrl":"/projects/NVPkP6ENY3Rv7l37/datatables/zbjSiKe71GhTt8Pp","cachedResultName":"Workflow Errors"}},"typeVersion":1.1},{"id":"e23d7bed-2310-40ab-9d34-465d56ddcd28","name":"Get Errors that were not Emailed","type":"n8n-nodes-base.dataTable","position":[368,460],"parameters":{"filters":{"conditions":[{"keyName":"lastEmailedAt","condition":"isEmpty"}]},"operation":"get","dataTableId":{"__rl":true,"mode":"list","value":"zbjSiKe71GhTt8Pp","cachedResultUrl":"/projects/NVPkP6ENY3Rv7l37/datatables/zbjSiKe71GhTt8Pp","cachedResultName":"Workflow Errors"}},"typeVersion":1.1},{"id":"9cc66afe-89cb-4dbf-9aff-05c56e181521","name":"map fields to data table","type":"n8n-nodes-base.set","position":[608,-224],"parameters":{"options":{},"assignments":{"assignments":[{"id":"7132728e-a39a-478e-9fc0-1f71f5593425","name":"workflowId","type":"string","value":"={{ $('Error Trigger').item.json.workflow.id }}"},{"id":"ca5be94a-3f39-423c-aa2e-a0103a8ae97e","name":"executionId","type":"string","value":"={{ $('Error Trigger').item.json.execution.id }}"},{"id":"64f740de-a897-46fc-86cd-5e7004df1bc5","name":"errorMessage","type":"string","value":"={{ $('Error Trigger').item.json.execution.error.message ?? $('Error Trigger').item.json.values().toJsonString() }}"},{"id":"e8f1f197-dbd0-44cc-bdf7-9e9318bd5922","name":"errorStack","type":"string","value":"={{ $('Error Trigger').item.json.execution.error.stack }}"},{"id":"851b421d-8d24-407e-b42f-ebb985dd5e73","name":"lastNodeExecuted","type":"string","value":"={{ $('Error Trigger').item.json.execution.lastNodeExecuted }}"},{"id":"bddb35ac-4d3a-432a-8896-f6a68d35f2a8","name":"workflowName","type":"string","value":"={{ $('Error Trigger').item.json.workflow.name }}"},{"id":"1ef62897-61cd-4a43-ba06-b4c83ce5febb","name":"executionDate","type":"string","value":"={{ $now.format('yyyy-MM-dd') }}"},{"id":"97ae6e2d-e7ab-4ed6-b393-9e79b8bf7974","name":"executionUrl","type":"string","value":"={{ $('Error Trigger').item.json.execution.url }}"}]}},"typeVersion":3.4},{"id":"83076dd7-5b22-427d-8365-71279af62184","name":"OpenAI Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[1496,432],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1-mini"},"options":{},"builtInTools":{}},"credentials":{"openAiApi":{"id":"credential-id","name":"OpenAi account"}},"typeVersion":1.3},{"id":"31f714b3-2931-4221-957a-270215a0c32d","name":"AI Error Summarizer","type":"@n8n/n8n-nodes-langchain.agent","position":[1488,208],"parameters":{"text":"=Workflow Errors:  {{ JSON.stringify($('Aggregate').item.json.data) }}","options":{"systemMessage":"You are my error summarizer agent. Your duty is to read through a list of errors, and provide a concise summary of the errors on my n8n workflows in well summarised pointers that is easy to go through and also provide some inputs on resolving those errors. Also give some quantitative representation for the number of errors. Give more priority to errors that have occurred many times. Do not cover all details of the errors, just a concise summary.\n\nGive me the output in html format, nothing else, no extra triple backticks or extra strings.\n\nI've given you a Calculator tool, if you find a need, but its not a necessity.\n\nTime right now: {{ $now }}"},"promptType":"define"},"typeVersion":3.1},{"id":"e38c352e-5e5f-43c2-82a2-baaa24da284b","name":"Email Error Details","type":"n8n-nodes-base.gmail","position":[1840,312],"webhookId":"54160ba1-3fa6-4d41-b509-90f65a6a7760","parameters":{"sendTo":"user@example.com","message":"={{ $json.output[0].content[0].text }}\n<br><br>\n{{ $('Code in JavaScript').item.json.html }}","options":{"senderName":"Harshal Patil","appendAttribution":false},"subject":"=n8n Workflow Errors - {{ $now.minus(1,'days').format('yyyy-MM-dd') }}"},"credentials":{"gmailOAuth2":{"id":"credential-id","name":"Gmail account hpg99"}},"typeVersion":2.2},{"id":"dd482380-098a-439e-9539-31407defc725","name":"Insert Error Details","type":"n8n-nodes-base.dataTable","position":[1056,-224],"parameters":{"columns":{"value":{"errorStack":"={{ $('Error Trigger').item.json.execution.error.stack }}","workflowId":"={{ $('Error Trigger').item.json.workflow.id }}","executionId":"={{ $('Error Trigger').item.json.execution.id }}","errorMessage":"={{ $('Error Trigger').item.json.execution.error.message }}","executionUrl":"={{ $('Error Trigger').item.json.execution.url }}","workflowName":"={{ $('Error Trigger').item.json.workflow.name }}","executionDate":"={{ $now.format('yyyy-MM-dd') }}","lastNodeExecuted":"={{ $('Error Trigger').item.json.execution.lastNodeExecuted }}"},"schema":[{"id":"workflowId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflowId","defaultMatch":false},{"id":"executionId","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"executionId","defaultMatch":false},{"id":"errorMessage","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"errorMessage","defaultMatch":false},{"id":"errorStack","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"errorStack","defaultMatch":false},{"id":"lastNodeExecuted","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"lastNodeExecuted","defaultMatch":false},{"id":"workflowName","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"workflowName","defaultMatch":false},{"id":"executionDate","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"executionDate","defaultMatch":false},{"id":"executionUrl","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"executionUrl","defaultMatch":false},{"id":"lastEmailedAt","type":"dateTime","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"lastEmailedAt","defaultMatch":false}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"dataTableId":{"__rl":true,"mode":"list","value":"zbjSiKe71GhTt8Pp","cachedResultUrl":"/projects/NVPkP6ENY3Rv7l37/datatables/zbjSiKe71GhTt8Pp","cachedResultName":"Workflow Errors"}},"typeVersion":1.1},{"id":"5020cc8e-f172-4007-9fa1-c669066cf4b9","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-672,-16],"parameters":{"width":448,"height":512,"content":"## Automated error monitoring and reporting system\n\n**How it works:**\n1. Error Trigger activates on workflow failures. Ignore Manual Failures filters out testing runs.\n2. Error details (workflow name, timestamp, error message, failed node) are extracted and inserted into the data table.\n3. Every hour, unemailed errors are retrieved. If >5 errors exist or oldest error >24 hours, report generation starts.\n4. AI summarizes errors with tips, generates HTML table, and emails the complete report.\n\n**Setup steps:**\n- Configure Error Trigger to monitor your workflows\n- Set up Gmail credentials for notifications\n- Configure OpenAI API key\n- Customize data table schema\n- Adjust schedule in Run every hour node"},"typeVersion":1},{"id":"71ef77a5-6918-41c6-8ff0-37a0883b22b2","name":"Calculator","type":"@n8n/n8n-nodes-langchain.toolCalculator","position":[1624,432],"parameters":{},"typeVersion":1},{"id":"30e8edaf-def4-4a18-821a-b439a095026c","name":"Sort","type":"n8n-nodes-base.sort","position":[592,460],"parameters":{"options":{},"sortFieldsUi":{"sortField":[{"fieldName":"createdAt"}]}},"typeVersion":1},{"id":"eeaba522-a90a-4450-ad29-46dc0c9d66b6","name":"high error count or been a day1","type":"n8n-nodes-base.filter","position":[1040,460],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"or","conditions":[{"id":"f8de07d3-6fa6-466c-be6d-438aef94a5da","operator":{"type":"array","operation":"lengthGt","rightType":"number"},"leftValue":"={{ $json.data }}","rightValue":5},{"id":"5f907458-d775-445b-8517-1461eb84f68c","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ DateTime.now().diff(DateTime.fromISO($('Sort').first()?.json?.createdAt), 'hours').hours.round() >= 24 }}","rightValue":""}]}},"typeVersion":2.3},{"id":"a0e8e245-d98c-4832-8138-b0bca4e7f6af","name":"Run every hour","type":"n8n-nodes-base.scheduleTrigger","position":[144,460],"parameters":{"rule":{"interval":[{"field":"hours"}]}},"typeVersion":1.3},{"id":"7378503f-bd85-4fdb-9144-a1fcb1354455","name":"Generate Workflow Errors Table HTML","type":"n8n-nodes-base.html","position":[1264,312],"parameters":{"html":"=<!DOCTYPE html>\n\n<html>\n<head>\n  <meta charset=\"UTF-8\" />\n  <title>Workflow Errors</title>\n</head>\n<body>\n  <table style=\"width: 100%; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px;\">\n    <thead>\n      <tr style=\"background-color: #4CAF50; color: white;\">\n        <th style=\"padding: 12px; text-align: left; border: 1px solid #ddd;\">Workflow Name</th>\n        <th style=\"padding: 12px; text-align: left; border: 1px solid #ddd;\">Execution Date</th>\n        <th style=\"padding: 12px; text-align: left; border: 1px solid #ddd;\">Execution Timestamp (UTC)</th>\n        <th style=\"padding: 12px; text-align: left; border: 1px solid #ddd;\">Failed Node</th>\n        <th style=\"padding: 12px; text-align: left; border: 1px solid #ddd;\">Error Message</th>\n        <th style=\"padding: 12px; text-align: left; border: 1px solid #ddd;\">View Execution</th>\n      </tr>\n    </thead>\n    <tbody>\n      {{ $('Aggregate').item.json.data.map((record, index) => {\n        const bgColor = index % 2 === 0 ? '#f9f9f9' : '#ffffff';\n        const executionTimestamp = record.createdAt ? new Date(record.createdAt).toISOString().replace('T', ' ').replace('Z', '').slice(0, 19) : 'N/A';\n        return `\n          <tr style=\"background-color: ${bgColor};\">\n            <td style=\"padding: 10px; border: 1px solid #ddd;\">${record.workflowName || 'N/A'}</td>\n            <td style=\"padding: 10px; border: 1px solid #ddd;\">${record.executionDate || 'N/A'}</td>\n            <td style=\"padding: 10px; border: 1px solid #ddd;\">${executionTimestamp}</td>\n            <td style=\"padding: 10px; border: 1px solid #ddd;\">${record.lastNodeExecuted || 'N/A'}</td>\n            <td style=\"padding: 10px; border: 1px solid #ddd; max-width: 300px; word-wrap: break-word;\">${record.errorMessage || 'N/A'}</td>\n            <td style=\"padding: 10px; border: 1px solid #ddd;\"><a href=\"${record.executionUrl}\" target=\"_blank\" style=\"color: #2196F3; text-decoration: none;\">View</a></td>\n          </tr>\n        `;\n      }).join('') }}\n    </tbody>\n  </table>\n</body>\n</html>"},"typeVersion":1.2},{"id":"26d49e97-fed8-453e-929e-c7f3e89d9f9d","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[1216,96],"parameters":{"color":7,"width":880,"height":464,"content":"## Generate & Send Error Notification\nConsolidate errors into a single table with an email with AI Powered Insights & sends the Email"},"typeVersion":1},{"id":"6065144a-c242-494e-9c0d-e54ecd239a42","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[1312,624],"parameters":{"color":7,"width":608,"height":336,"content":"## Update Errors that were notified\nUpdate Errors that were emailed to they're not picked up next time"},"typeVersion":1},{"id":"8572a97f-f58b-4b96-a781-deeb5f18fdf7","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[336,336],"parameters":{"color":7,"width":832,"height":336,"content":"## Filter & Prepare errors to report\nSort errors that are to be reported and filter only if error count is beyond a threshold"},"typeVersion":1},{"id":"7a2030b0-dd2e-4b04-9909-a5dc518e6059","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[304,-352],"parameters":{"color":7,"width":960,"height":384,"content":"## Store errors\nIgnore Manual Errors and store automatic errors into our Error Data Table"},"typeVersion":1}],"active":true,"pinData":{"Error Trigger":[{"json":{"workflow":{"id":"1","name":"Example Workflow"},"execution":{"id":231,"url":"https://sctltd.app.n8n.cloud/execution/workflow/1/231","mode":"automatic","error":{"stack":"Stacktrace","message":"Example Error Message"},"retryOf":"34","lastNodeExecuted":"Node With Error"}}}]},"settings":{"callerPolicy":"workflowsFromSameOwner","timeSavedMode":"dynamic","availableInMCP":false,"executionOrder":"v1"},"versionId":"64f25ddb-7473-4107-ac0e-2cb5baab047b","connections":{"Sort":{"main":[[{"node":"Aggregate","type":"main","index":0}]]},"Aggregate":{"main":[[{"node":"high error count or been a day1","type":"main","index":0}]]},"Split Out":{"main":[[{"node":"Update Last Emailed At","type":"main","index":0}]]},"Calculator":{"ai_tool":[[{"node":"AI Error Summarizer","type":"ai_tool","index":0}]]},"Time Saved":{"main":[[{"node":"Insert Error Details","type":"main","index":0}]]},"Error Trigger":{"main":[[{"node":"Ignore Manual Failures","type":"main","index":0}]]},"Run every hour":{"main":[[{"node":"Get Errors that were not Emailed","type":"main","index":0}]]},"OpenAI Chat Model":{"ai_languageModel":[[{"node":"AI Error Summarizer","type":"ai_languageModel","index":0}]]},"AI Error Summarizer":{"main":[[{"node":"Email Error Details","type":"main","index":0}]]},"Email Error Details":{"main":[[]]},"Ignore Manual Failures":{"main":[[{"node":"map fields to data table","type":"main","index":0}]]},"map fields to data table":{"main":[[{"node":"Time Saved","type":"main","index":0}]]},"high error count or been a day1":{"main":[[{"node":"Generate Workflow Errors Table HTML","type":"main","index":0},{"node":"Split Out","type":"main","index":0}]]},"Get Errors that were not Emailed":{"main":[[{"node":"Sort","type":"main","index":0}]]},"Generate Workflow Errors Table HTML":{"main":[[{"node":"AI Error Summarizer","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":22,"nodeTypes":{"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.html":{"count":1},"n8n-nodes-base.sort":{"count":1},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.filter":{"count":2},"n8n-nodes-base.splitOut":{"count":1},"n8n-nodes-base.aggregate":{"count":1},"n8n-nodes-base.dataTable":{"count":3},"n8n-nodes-base.timeSaved":{"count":1},"n8n-nodes-base.stickyNote":{"count":5},"n8n-nodes-base.errorTrigger":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":1},"n8n-nodes-base.scheduleTrigger":{"count":1},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":1},"@n8n/n8n-nodes-langchain.toolCalculator":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Harshal Patil","username":"harshalpatil","bio":"Harshal Patil: Staff Product Manager at n8n. Previously: founding PM at FlexAI, and earlier roles across Twilio, Cisco, and Qualcomm. Based in Dublin.\nI write and build in public, including via Spark Creative Technologies: B2B SaaS PLG and customer discovery.","verified":false,"links":["https://www.harshal-patil.com/"],"avatar":"https://gravatar.com/avatar/ecf7e14a0ebb2742c3802c5823bfa89ec814e192a41ac40d0bb96c684c5e6931?r=pg&d=retro&size=200"},"nodes":[{"id":12,"icon":"fa:bug","name":"n8n-nodes-base.errorTrigger","codex":{"data":{"details":"In n8n, when a workflow execution fails, it can start another workflow. This second workflow can be any arbitrary workflow on your n8n instance. Use the Error Trigger node as your Trigger in the Error workflow.","resources":{"generic":[{"url":"https://n8n.io/blog/creating-error-workflows-in-n8n/","icon":"🌪","label":"Creating Error Workflows in n8n"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.errortrigger/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Other Trigger Nodes"]}}},"group":"[\"trigger\"]","defaults":{"name":"Error Trigger","color":"#0000FF"},"iconData":{"icon":"bug","type":"icon"},"displayName":"Error Trigger","typeVersion":1,"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":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":842,"icon":"file:html.svg","name":"n8n-nodes-base.html","codex":{"data":{"alias":["extract","template","table"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.html/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"HTML"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTguNjQwNjIgMEgxMC40Mzc1VjEuNzgxMjVIMTIuMDkzN1YwSDEzLjg5MDZWNS4zOTA2MkgxMi4wOTM3VjMuNTkzNzVIMTAuNDUzMVY1LjM5MDYySDguNjQwNjJNMTYuMjY1NiAxLjc5Njg3SDE0LjY3OTdWMEgxOS42NTYyVjEuNzk2ODdIMTguMDYyNVY1LjM5MDYySDE2LjI2NTZNMjAuNDQ1MyAwSDIyLjMyODFMMjMuNDg0NCAxLjg5ODQ0TDI0LjY0MDYgMEgyNi41MjM0VjUuMzkwNjJIMjQuNzI2NlYyLjcxODc1TDIzLjQ2ODcgNC42NTYyNUwyMi4yMTA5IDIuNzE4NzVWNS4zOTA2MkgyMC40NDUzTTI3LjQxNDEgMEgyOS4yMTA5VjMuNjA5MzdIMzEuNzU3OFY1LjM5MDYySDI3LjQxNDEiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik04LjU3ODEyIDM2Ljc5NjlMNiA3Ljg1OTM4SDM0LjM0MzdMMzEuNzY1NiAzNi43ODEyTDIwLjE0ODQgNDAiIGZpbGw9IiNFNDREMjYiLz4KPHBhdGggZD0iTTIwLjE3MTkgMzcuNTM5MVYxMC4yMzQ0SDMxLjc1NzhMMjkuNTQ2OSAzNC45MjE5IiBmaWxsPSIjRjE2NTI5Ii8+CjxwYXRoIGQ9Ik0xMS4yNjU2IDEzLjc3MzRIMjAuMTcxOVYxNy4zMjAzSDE1LjE1NjJMMTUuNDg0NCAyMC45NTMxSDIwLjE3MTlWMjQuNDkyMkgxMi4yMzQ0TTEyLjM5MDYgMjYuMjczNEgxNS45NTMxTDE2LjIwMzEgMjkuMTA5NEwyMC4xNzE5IDMwLjE3MTlWMzMuODc1TDEyLjg5MDYgMzEuODQzNyIgZmlsbD0iI0VCRUJFQiIvPgo8cGF0aCBkPSJNMjkuMDQ2OSAxMy43NzM0SDIwLjE1NjJWMTcuMzIwM0gyOC43MTg3TTI4LjM5ODQgMjAuOTUzMUgyMC4xNTYyVjI0LjVIMjQuNTMxMkwyNC4xMTcyIDI5LjEwOTRMMjAuMTU2MiAzMC4xNzE5VjMzLjg1OTRMMjcuNDIxOSAzMS44NDM3IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K"},"displayName":"HTML","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":844,"icon":"fa:filter","name":"n8n-nodes-base.filter","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The Filter node can be used to filter items based on a condition. If the condition is met, the item will be passed on to the next node. If the condition is not met, the item will be omitted. Conditions can be combined together by AND(meet all conditions), or OR(meet at least one condition).","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.filter/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Filter","color":"#229eff"},"iconData":{"icon":"filter","type":"icon"},"displayName":"Filter","typeVersion":2,"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":1195,"icon":"fa:calculator","name":"@n8n/n8n-nodes-langchain.toolCalculator","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolcalculator/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Tools"],"Tools":["Other Tools"]}}},"group":"[\"transform\"]","defaults":{"name":"Calculator"},"iconData":{"icon":"calculator","type":"icon"},"displayName":"Calculator","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"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":1239,"icon":"file:splitOut.svg","name":"n8n-nodes-base.splitOut","codex":{"data":{"alias":["Split","Nested","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitout/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Split Out"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjOUI2REQ1IiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQ4MCAxNDhjMC02LjYyNy01LjM3My0xMi0xMi0xMkgzMjJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxNDZjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptMCA5NmMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDMyMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyNGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDE0NmM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem0wIDk2YzAtNi42MjctNS4zNzMtMTItMTItMTJIMzIyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTQ2YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNDM4IDc2YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtMTcuNjczIDAtMzIgMTQuMzI3LTMyIDMydjU2YzAgMjYuOTc4LTEwLjI3MiA1MS41NTctMjcuMTE5IDcwLjAzOS01LjA1NSA1LjU0NS01LjA1NSAxNC4zNzcgMCAxOS45MjIgMTYuODQ3IDE4LjQ4MiAyNy4xMTkgNDMuMDYxIDI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMySDQyNmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtNDQuMTgzIDAtODAtMzUuODE3LTgwLTgwdi01NmMwLTMwLjkyOC0yNS4wNzItNTYtNTYtNTZhNS43ODMgNS43ODMgMCAwIDEtNS43ODMtNS43ODN2LTM2LjQzNGE1Ljc4MyA1Ljc4MyAwIDAgMSA1Ljc4My01Ljc4M2MzMC45MjggMCA1Ni0yNS4wNzIgNTYtNTZ2LTU2YzAtNDQuMTgzIDM1LjgxNy04MCA4MC04MEg0MjZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMzYgMjQ0YzAtNi42MjctNS4zNzMtMTItMTItMTJIMTJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxMTJjNi42MjcgMCAxMi01LjM3MyAxMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik01MTIgMEgwdjUxMmg1MTJ6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+"},"displayName":"Split Out","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1240,"icon":"file:sort.svg","name":"n8n-nodes-base.sort","codex":{"data":{"alias":["Sort","Order","Transform","Array","List","Item","Random"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.sort/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Sort"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjODI4N0VCIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMzAuNSA0MjIuNWMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtMzUxYzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMjRjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYzNTFjMCA2LjYyNy01LjM3MyAxMi0xMiAxMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGZpbGw9IiM4Mjg3RUIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTM2LjA3NyAzMzMuNDgyYzkuMzk4LTkuMzQ2IDI0LjU5NC05LjMwNCAzMy45NC4wOTVsNzIuNDgzIDcyLjg4NyA3Mi40ODItNzIuODg3YzkuMzQ3LTkuMzk5IDI0LjU0My05LjQ0MSAzMy45NDEtLjA5NXM5LjQ0MSAyNC41NDMuMDk1IDMzLjk0MWwtODkuNSA5MGEyNCAyNCAwIDAgMS0zNC4wMzYgMGwtODkuNS05MGMtOS4zNDYtOS4zOTgtOS4zMDQtMjQuNTk0LjA5NS0zMy45NDFNMzgxLjUgODkuNWM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjM1MWMwIDYuNjI3LTUuMzczIDEyLTEyIDEyaC0yNGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtMzUxYzAtNi42MjcgNS4zNzMtMTIgMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjODI4N0VCIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00NzUuOTIzIDE3OC41MThjLTkuMzk4IDkuMzQ2LTI0LjU5NCA5LjMwNC0zMy45NDEtLjA5NUwzNjkuNSAxMDUuNTM2bC03Mi40ODIgNzIuODg3Yy05LjM0NyA5LjM5OS0yNC41NDMgOS40NDEtMzMuOTQxLjA5NXMtOS40NDEtMjQuNTQzLS4wOTUtMzMuOTQxbDg5LjUtOTBhMjQgMjQgMCAwIDEgMzQuMDM2IDBsODkuNSA5MGM5LjM0NiA5LjM5OCA5LjMwNCAyNC41OTQtLjA5NSAzMy45NDEiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg=="},"displayName":"Sort","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"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"}]},{"id":1325,"icon":"fa:timer","name":"n8n-nodes-base.timeSaved","codex":{"data":{"alias":["time","track","saved"],"details":"Track Saved Time","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.savedTime/"}]},"categories":["Core Nodes","Development"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"organization\"]","defaults":{"name":"Time Saved","color":"#1E90FF"},"iconData":{"icon":"timer","type":"icon"},"displayName":"Track Time Saved","typeVersion":1,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":16,"name":"DevOps"},{"id":49,"name":"AI Summarization"}],"image":[]}}