{"workflow":{"id":15026,"name":"Orchestrate multi-agent compliance monitoring and audit logging with GPT-4o and Slack","views":0,"recentViews":0,"totalViews":0,"createdAt":"2026-04-13T14:33:40.156Z","description":"## How It Works\nThis workflow automates enterprise compliance governance using a multi-agent AI architecture. It targets compliance officers, legal teams, and risk managers who need continuous, jurisdiction-aware monitoring without manual intervention.The workflow runs on two paths: a scheduled governance check and an event-driven compliance signal receiver. Both converge on a central Governance Agent that orchestrates four specialised sub-agents, Compliance Signal, Jurisdiction Analysis, Remediation Planning, and Audit Documentation, each backed by dedicated AI models. External tools handle API lookups, penalty calculations, escalation notifications, and structured output parsing. Results feed into immutable audit logs, merged with scheduled reports, and dispatched as a daily email summary. Escalation logic ensures critical violations trigger immediate alerts. This eliminates fragmented compliance tracking, reduces human error, and provides auditable, timestamped records across multiple regulatory jurisdictions.\n\n## Setup Steps\n1. Add Claude/OpenAI credentials to all Chat Model nodes.\n2. Configure the External Compliance API Tool with your regulatory API key and endpoint.\n3. Set the Compliance Data Calculation Tool parameters (jurisdiction codes, penalty thresholds).\n4. Connect the Escalation Notification Tool to your email or Slack credentials.\n5. Set the Periodic Compliance Check schedule (cron) to your audit cadence.\n\n## Prerequisites\n- External compliance/regulatory API access\n- Email or Slack account for notifications\n- n8n instance (v1.40+ recommended)\n## Use Cases\n- Automated GDPR/MAS/SOX compliance monitoring across jurisdictions\n## Customization\nSwap AI models per agent for cost optimisation. \n## Benefits\nEliminates manual compliance checks with autonomous multi-agent orchestration. ","workflow":{"id":"BREPPUDRXxIce0xQ","meta":{"instanceId":"b91e510ebae4127f953fd2f5f8d40d58ca1e71c746d4500c12ae86aad04c1502"},"name":"Intelligent multi-agent compliance governance with audit logging and reporting","tags":[],"nodes":[{"id":"92ef641f-9793-4af9-81ca-85a6e6376ac1","name":"Compliance Signal Receiver","type":"n8n-nodes-base.webhook","position":[480,1024],"webhookId":"e388f6aa-25be-494f-b4d6-d1ea6e29e67f","parameters":{"path":"compliance-signal","options":{},"httpMethod":"POST","responseMode":"lastNode"},"typeVersion":2.1},{"id":"3a194672-04bb-4a56-b53f-ea2062b355a3","name":"Governance Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1600,1024],"parameters":{"text":"={{ $json.body }}","options":{"systemMessage":"You are the Governance Agent, the central orchestrator for compliance monitoring and audit management. Your responsibilities: 1) Coordinate specialized sub-agents (Compliance Signal, Jurisdiction Analysis, Remediation Planning, Audit Documentation) to process regulatory obligations. 2) Monitor compliance deadlines and trigger escalations when thresholds are breached. 3) Track remediation progress and ensure timely resolution. 4) Generate audit-ready documentation preserving jurisdictional boundaries and immutable logs. 5) Decide when to escalate to human stakeholders via Slack. Use your tools to query compliance data, perform calculations, and send notifications. Always maintain data integrity and regulatory compliance."},"hasOutputParser":true},"typeVersion":3.1},{"id":"95e9ec1d-6cd0-481c-b944-55b67f71c5cd","name":"Governance Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[1664,1248],"parameters":{"model":{"__rl":true,"mode":"id","value":"gpt-4o"},"options":{"temperature":0.2},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"6bf1b08a-aed2-4b17-b3b4-b476cb505ed3","name":"Governance Memory","type":"@n8n/n8n-nodes-langchain.memoryBufferWindow","position":[832,528],"parameters":{},"typeVersion":1.3},{"id":"77a893fe-ee19-4509-a424-09173f10f389","name":"Structured Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[2624,528],"parameters":{"schemaType":"manual","inputSchema":"{\"type\":\"object\",\"properties\":{\"complianceStatus\":{\"type\":\"string\",\"enum\":[\"compliant\",\"at_risk\",\"non_compliant\",\"under_review\"]},\"obligations\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"deadline\":{\"type\":\"string\"},\"status\":{\"type\":\"string\"},\"jurisdiction\":{\"type\":\"string\"}}}},\"escalations\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"severity\":{\"type\":\"string\"},\"reason\":{\"type\":\"string\"},\"assignee\":{\"type\":\"string\"}}}},\"remediationActions\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"action\":{\"type\":\"string\"},\"owner\":{\"type\":\"string\"},\"dueDate\":{\"type\":\"string\"},\"status\":{\"type\":\"string\"}}}},\"auditSummary\":{\"type\":\"string\"},\"immutableLogHash\":{\"type\":\"string\"}},\"required\":[\"complianceStatus\",\"obligations\",\"auditSummary\"]}"},"typeVersion":1.3},{"id":"4dcc8e84-d4be-4a80-91e5-b8526dcd5016","name":"Compliance Signal Agent","type":"@n8n/n8n-nodes-langchain.agentTool","position":[960,528],"parameters":{"text":"={{ $fromAI(\"complianceSignal\", \"The compliance signal data to validate including obligations, deadlines, and evidence\") }}","options":{"systemMessage":"You are the Compliance Signal Agent. Your role: 1) Validate incoming compliance signals for completeness and accuracy. 2) Parse regulatory obligations, extract deadlines, and verify evidence artifacts. 3) Assess compliance risk levels (low, medium, high, critical). 4) Flag missing or incomplete data. 5) Return structured validation results with obligation details, deadline urgency, and evidence quality scores."},"toolDescription":"Validates structured regulatory obligations, deadlines, and evidence artifacts. Analyzes compliance signals for completeness, accuracy, and regulatory alignment. Returns validated obligations with risk assessments."},"typeVersion":3},{"id":"934ac8e9-b789-4e7b-be5e-2217af1b26d1","name":"Compliance Signal Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[1040,736],"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":"5a767117-ec7a-4db4-8ee1-6986a49bda13","name":"Jurisdiction Analysis Agent","type":"@n8n/n8n-nodes-langchain.agentTool","position":[1248,528],"parameters":{"text":"={{ $fromAI(\"obligationData\", \"The compliance obligation data requiring jurisdictional analysis\") }}","options":{"systemMessage":"You are the Jurisdiction Analysis Agent. Your role: 1) Identify applicable jurisdictions for each regulatory obligation (EU, US, UK, APAC, etc.). 2) Ensure jurisdictional boundaries are preserved in data storage and processing. 3) Flag cross-jurisdictional conflicts or data residency violations. 4) Apply jurisdiction-specific compliance rules and thresholds. 5) Return jurisdiction metadata with boundary enforcement recommendations."},"toolDescription":"Analyzes and preserves jurisdictional boundaries for regulatory obligations. Ensures compliance data is properly segmented by jurisdiction (EU GDPR, US CCPA, UK DPA, etc.) and prevents cross-jurisdictional data leakage."},"typeVersion":3},{"id":"53e31b46-e3e6-4288-827f-878925ee3d67","name":"Jurisdiction Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[1328,736],"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":"8929eac5-0402-46b6-a8eb-bbbf79d28357","name":"Remediation Planning Agent","type":"@n8n/n8n-nodes-langchain.agentTool","position":[1536,528],"parameters":{"text":"={{ $fromAI(\"complianceGap\", \"The compliance gap or violation requiring remediation planning\") }}","options":{"systemMessage":"You are the Remediation Planning Agent. Your role: 1) Analyze compliance gaps and violations to create actionable remediation plans. 2) Assign remediation tasks to appropriate owners with realistic deadlines. 3) Track remediation progress and identify blockers. 4) Escalate overdue or high-risk remediation items. 5) Return structured remediation plans with actions, owners, deadlines, and status tracking."},"toolDescription":"Creates and tracks remediation plans for compliance gaps and violations. Assigns owners, sets deadlines, monitors progress, and escalates overdue actions."},"typeVersion":3},{"id":"363bc4da-fd4a-4bd3-b3ef-44162fd8d265","name":"Remediation Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[1616,736],"parameters":{"model":{"__rl":true,"mode":"id","value":"gpt-4o"},"options":{"temperature":0.2},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"2c2d4ef7-136a-49ba-92af-5dbd4cfc1970","name":"Audit Documentation Agent","type":"@n8n/n8n-nodes-langchain.agentTool","position":[1824,528],"parameters":{"text":"={{ $fromAI(\"auditScope\", \"The compliance data scope for audit documentation generation\") }}","options":{"systemMessage":"You are the Audit Documentation Agent. Your role: 1) Generate comprehensive audit-ready documentation from compliance data. 2) Create evidence trails linking obligations to artifacts and remediation actions. 3) Produce compliance summaries suitable for regulatory audits. 4) Generate immutable log hashes for audit integrity. 5) Return structured audit reports with executive summaries, detailed findings, and evidence references."},"toolDescription":"Generates audit-ready documentation including compliance summaries, evidence trails, remediation histories, and immutable log references. Ensures documentation meets regulatory audit standards."},"typeVersion":3},{"id":"49ea4316-fff1-4f82-9542-c176a1772d9b","name":"Audit Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[1904,736],"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":"1ebf1e90-6d60-472b-beea-9284cab6513b","name":"External Compliance API Tool","type":"n8n-nodes-base.httpRequestTool","position":[2112,528],"parameters":{"url":"={{ $fromAI(\"apiEndpoint\", \"The API endpoint to query for compliance data\") }}","method":"={{ $fromAI(\"httpMethod\", \"HTTP method (GET, POST, etc.)\", \"string\", \"GET\") }}","options":{},"toolDescription":"Queries external compliance APIs and regulatory databases for up-to-date regulatory requirements, deadline changes, and compliance guidance."},"typeVersion":4.4},{"id":"41496505-f075-425e-907a-182eefaa6169","name":"Compliance Calculation Tool","type":"@n8n/n8n-nodes-langchain.toolCode","position":[2240,528],"parameters":{"jsCode":"const crypto = require(\"crypto\");\n\n// Calculate deadline urgency (days until deadline)\nfunction calculateUrgency(deadline) {\n  const now = new Date();\n  const deadlineDate = new Date(deadline);\n  const diffTime = deadlineDate - now;\n  const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\n  return diffDays;\n}\n\n// Generate immutable log hash\nfunction generateLogHash(data) {\n  return crypto.createHash(\"sha256\").update(JSON.stringify(data)).digest(\"hex\");\n}\n\n// Aggregate risk scores\nfunction aggregateRisk(obligations) {\n  const riskMap = { low: 1, medium: 2, high: 3, critical: 4 };\n  const totalRisk = obligations.reduce((sum, ob) => sum + (riskMap[ob.risk] || 0), 0);\n  return totalRisk / obligations.length;\n}\n\nreturn { urgency: calculateUrgency, hash: generateLogHash, risk: aggregateRisk };","description":"Executes custom compliance calculations including deadline urgency scoring, risk aggregation, jurisdictional boundary validation, and cryptographic hash generation for immutable audit logs."},"typeVersion":1.3},{"id":"ddf06758-51f6-46f9-8bef-a0ab9e95e7f3","name":"Compliance Data Tool","type":"n8n-nodes-base.dataTableTool","position":[2368,528],"parameters":{"options":{},"operation":"upsert","dataTableId":{"__rl":true,"mode":"id","value":"<__PLACEHOLDER_VALUE__compliance_tracking_table__>"},"descriptionType":"manual","toolDescription":"Queries and updates compliance tracking data in Data Tables including obligations, deadlines, remediation status, and audit logs."},"typeVersion":1.1},{"id":"ce07f3ef-dace-4d38-bc3e-387bf62d6632","name":"Escalation Notification Tool","type":"n8n-nodes-base.slackTool","position":[2496,528],"webhookId":"ffbacd5e-cf79-4142-b509-988fb3e22b78","parameters":{"text":"={{ $fromAI(\"notificationMessage\", \"The escalation notification message to send\") }}","select":"channel","channelId":{"__rl":true,"mode":"id","value":"={{ $fromAI(\"slackChannel\", \"The Slack channel ID or name for escalation notifications\") }}"},"otherOptions":{},"authentication":"oAuth2","descriptionType":"manual","toolDescription":"Sends escalation notifications to Slack channels when compliance thresholds are breached, deadlines are at risk, or critical violations are detected."},"credentials":{"slackOAuth2Api":{"id":"d34b1ayEBbvZm2lT","name":"Slack account"}},"typeVersion":2.4},{"id":"258026c5-1197-472d-9c2a-d56d239b5561","name":"Prepare Audit Log","type":"n8n-nodes-base.set","position":[2832,1024],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"timestamp","type":"string","value":"={{ $now.toISO() }}"},{"id":"id-2","name":"complianceStatus","type":"string","value":"={{ $json.complianceStatus }}"},{"id":"id-3","name":"obligations","type":"array","value":"={{ JSON.stringify($json.obligations) }}"},{"id":"id-4","name":"escalations","type":"array","value":"={{ JSON.stringify($json.escalations) }}"},{"id":"id-5","name":"remediationActions","type":"array","value":"={{ JSON.stringify($json.remediationActions) }}"},{"id":"id-6","name":"auditSummary","type":"string","value":"={{ $json.auditSummary }}"},{"id":"id-7","name":"immutableLogHash","type":"string","value":"={{ $json.immutableLogHash }}"},{"id":"id-8","name":"jurisdiction","type":"string","value":"={{ $json.obligations[0]?.jurisdiction || \"GLOBAL\" }}"}]}},"typeVersion":3.4},{"id":"d9b36dd6-164d-4250-afad-c8a1b0766e6d","name":"Immutable Audit Log","type":"n8n-nodes-base.dataTable","position":[3056,1024],"parameters":{"columns":{"value":null,"mappingMode":"autoMapInputData"},"options":{},"dataTableId":{"__rl":true,"mode":"id","value":"<__PLACEHOLDER_VALUE__audit_log_table__>"}},"typeVersion":1.1},{"id":"37829ac9-059e-4bf6-9b38-1c504b435b3f","name":"Check Escalation Required","type":"n8n-nodes-base.if","position":[3328,1024],"parameters":{"options":{},"conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"id-1","operator":{"type":"array","operation":"notEmpty"},"leftValue":"={{ $('Governance Agent').item.json.output.escalations }}"}]}},"typeVersion":2.3},{"id":"e9d9adb2-4813-495a-8c1d-2edf28d97ed8","name":"Send Audit Report","type":"n8n-nodes-base.emailSend","position":[3552,1024],"webhookId":"bf093d8d-c0fb-48d7-a31f-329dcb81496d","parameters":{"html":"=<h2>Compliance Audit Report</h2><p><strong>Status:</strong> {{ $('Governance Agent').item.json.output.complianceStatus }}</p><p><strong>Summary:</strong> {{ $('Governance Agent').item.json.output.auditSummary }}</p><h3>Obligations:</h3><pre>{{ JSON.stringify($('Governance Agent').item.json.output.obligations, null, 2) }}</pre><h3>Remediation Actions:</h3><pre>{{ JSON.stringify($('Governance Agent').item.json.output.remediationActions, null, 2) }}</pre><p><strong>Immutable Log Hash:</strong> {{ $('Governance Agent').item.json.output.immutableLogHash }}</p>","options":{},"subject":"=Compliance Audit Report - {{ $('Governance Agent').item.json.output.complianceStatus }}","toEmail":"<__PLACEHOLDER_VALUE__stakeholder_email__>","fromEmail":"<__PLACEHOLDER_VALUE__compliance_team_email__>"},"typeVersion":2.1},{"id":"a2b575f9-b21a-4147-87ac-071e815a8429","name":"Periodic Compliance Check","type":"n8n-nodes-base.scheduleTrigger","position":[256,512],"parameters":{"rule":{"interval":[{"field":"hours","hoursInterval":24}]}},"typeVersion":1.3},{"id":"892fcec7-3f72-47f3-a5bf-53d4113bce58","name":"Build Scheduled Check Payload","type":"n8n-nodes-base.set","position":[480,512],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"checkType","type":"string","value":"scheduled_monitoring"},{"id":"id-2","name":"timestamp","type":"string","value":"={{ $now.toISO() }}"},{"id":"id-3","name":"scope","type":"string","value":"all_active_obligations"}]}},"typeVersion":3.4},{"id":"1fd21b8a-040f-43e4-9dcd-e477e630d0a0","name":"Scheduled Governance Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1824,240],"parameters":{"text":"=Perform scheduled compliance monitoring for all active obligations. Current timestamp: {{ $now.toISO() }}. Check deadlines, review remediation status, and escalate critical issues.","options":{"systemMessage":"You are the Scheduled Governance Agent performing periodic compliance monitoring. Your responsibilities: 1) Query all active compliance obligations from the data table. 2) Check deadline urgency and identify at-risk obligations. 3) Review remediation progress and flag overdue actions. 4) Generate compliance status summary. 5) Escalate critical issues requiring immediate attention. Use your tools to access compliance data, calculate urgency scores, and send notifications as needed."},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"6dac9bd3-f854-4f2c-ac38-2a9bf9c43f53","name":"Scheduled Governance Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[704,528],"parameters":{"model":{"__rl":true,"mode":"id","value":"gpt-4o"},"options":{"temperature":0.2},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"b844b7a4-2b02-4870-9c59-eacd0d55ef24","name":"Prepare Scheduled Audit Log","type":"n8n-nodes-base.set","position":[2832,512],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"timestamp","type":"string","value":"={{ $now.toISO() }}"},{"id":"id-2","name":"checkType","type":"string","value":"scheduled"},{"id":"id-3","name":"complianceStatus","type":"string","value":"={{ $json.complianceStatus }}"},{"id":"id-4","name":"obligations","type":"array","value":"={{ JSON.stringify($json.obligations) }}"},{"id":"id-5","name":"escalations","type":"array","value":"={{ JSON.stringify($json.escalations) }}"},{"id":"id-6","name":"remediationActions","type":"array","value":"={{ JSON.stringify($json.remediationActions) }}"},{"id":"id-7","name":"auditSummary","type":"string","value":"={{ $json.auditSummary }}"},{"id":"id-8","name":"immutableLogHash","type":"string","value":"={{ $json.immutableLogHash }}"}]}},"typeVersion":3.4},{"id":"cb0bad10-4855-4f1f-9f7d-c27ff90e6996","name":"Scheduled Audit Log","type":"n8n-nodes-base.dataTable","position":[3056,512],"parameters":{"columns":{"value":null,"mappingMode":"autoMapInputData"},"options":{},"dataTableId":{"__rl":true,"mode":"id","value":"<__PLACEHOLDER_VALUE__audit_log_table__>"}},"typeVersion":1.1},{"id":"4e77902b-e18b-4915-a829-770f2089a815","name":"Merge Audit Logs","type":"n8n-nodes-base.merge","position":[3280,560],"parameters":{},"typeVersion":3.2},{"id":"35817de2-cffe-46dd-af64-ef11786571d6","name":"Aggregate Daily Reports","type":"n8n-nodes-base.aggregate","position":[3504,560],"parameters":{"options":{},"aggregate":"aggregateAllItemData"},"typeVersion":1},{"id":"ffde084b-81e0-444a-b133-ae47b3ca2273","name":"Send Daily Summary","type":"n8n-nodes-base.emailSend","position":[3728,560],"webhookId":"409447a4-31eb-47bd-9276-ad9f1375cb6b","parameters":{"html":"=<h2>Daily Compliance Summary</h2><p><strong>Total Events:</strong> {{ $input.all().length }}</p><p>This report aggregates all compliance events processed today including webhook signals and scheduled monitoring checks.</p><p>Review the immutable audit log for detailed records.</p>","options":{},"subject":"=Daily Compliance Summary - {{ $now.format(\"yyyy-MM-dd\") }}","toEmail":"<__PLACEHOLDER_VALUE__stakeholder_email__>","fromEmail":"<__PLACEHOLDER_VALUE__compliance_team_email__>"},"typeVersion":2.1},{"id":"5762bd8e-7d94-4045-a880-0db44ce0be1d","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[688,176],"parameters":{"color":7,"width":528,"height":1248,"content":"## Governance Memory & Agent Orchestration\n**What:** Loads governance model context; central Governance Agent routes tasks to sub-agents.\n**Why:** Ensures each agent operates with up-to-date regulatory memory."},"typeVersion":1},{"id":"7cf1edfb-d74f-4e55-b98a-f0813b068732","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[1792,-224],"parameters":{"color":6,"width":608,"height":336,"content":"## Prerequisites\n- External compliance/regulatory API access\n- Email or Slack account for notifications\n- n8n instance (v1.40+ recommended)\n## Use Cases\n- Automated GDPR/MAS/SOX compliance monitoring across jurisdictions\n## Customization\nSwap AI models per agent for cost optimisation. \n## Benefits\nEliminates manual compliance checks with autonomous multi-agent orchestration. "},"typeVersion":1},{"id":"b47073ca-3db7-4330-9f59-16a589cff8e6","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[1264,-128],"parameters":{"width":480,"height":240,"content":"## Setup Steps\n1. Add Claude/OpenAI credentials to all Chat Model nodes.\n2. Configure the External Compliance API Tool with your regulatory API key and endpoint.\n3. Set the Compliance Data Calculation Tool parameters (jurisdiction codes, penalty thresholds).\n4. Connect the Escalation Notification Tool to your email or Slack credentials.\n5. Set the Periodic Compliance Check schedule (cron) to your audit cadence."},"typeVersion":1},{"id":"ab7a2265-564c-4783-9b0c-1878f1cca784","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[336,-128],"parameters":{"width":896,"height":240,"content":"## How It Works\nThis workflow automates enterprise compliance governance using a multi-agent AI architecture. It targets compliance officers, legal teams, and risk managers who need continuous, jurisdiction-aware monitoring without manual intervention.The workflow runs on two paths: a scheduled governance check and an event-driven compliance signal receiver. Both converge on a central Governance Agent that orchestrates four specialised sub-agents, Compliance Signal, Jurisdiction Analysis, Remediation Planning, and Audit Documentation, each backed by dedicated AI models. External tools handle API lookups, penalty calculations, escalation notifications, and structured output parsing. Results feed into immutable audit logs, merged with scheduled reports, and dispatched as a daily email summary. Escalation logic ensures critical violations trigger immediate alerts. This eliminates fragmented compliance tracking, reduces human error, and provides auditable, timestamped records across multiple regulatory jurisdictions."},"typeVersion":1},{"id":"9e7310b7-158a-4469-832c-2537d2622cf8","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[2752,144],"parameters":{"color":7,"width":1168,"height":1216,"content":"## Audit Logging & Reporting\n**What:** Logs are appended, merged, aggregated, and emailed as a daily summary.\n**Why:** Guarantees immutable audit trails and stakeholder visibility."},"typeVersion":1},{"id":"cc5169d3-10b0-45c3-9683-9abe821c930c","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[1232,160],"parameters":{"color":7,"width":1504,"height":1280,"content":"## Specialist Agent Analysis\n**What:** Four agents handle signal detection, jurisdiction rules, remediation, and audit drafting.\n**Why:** Parallel specialisation improves accuracy and reduces processing time."},"typeVersion":1},{"id":"dad934ba-e000-41e0-903a-c72e4015a1f5","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[32,192],"parameters":{"color":7,"width":640,"height":1120,"content":"## Periodic check & Signal Receiving\n**What:** Periodic check or signal receiver initiates the run and builds the governance payload.\n**Why:** Supports both scheduled sweeps and real-time event-driven compliance triggers."},"typeVersion":1}],"active":false,"pinData":{},"settings":{"binaryMode":"separate","executionOrder":"v1"},"versionId":"aacef118-5fa1-4450-8cc6-4d5ddb89b3c6","connections":{"Audit Model":{"ai_languageModel":[[{"node":"Audit Documentation Agent","type":"ai_languageModel","index":0}]]},"Governance Agent":{"main":[[{"node":"Prepare Audit Log","type":"main","index":0}]]},"Governance Model":{"ai_languageModel":[[{"node":"Governance Agent","type":"ai_languageModel","index":0}]]},"Merge Audit Logs":{"main":[[{"node":"Aggregate Daily Reports","type":"main","index":0}]]},"Governance Memory":{"ai_memory":[[{"node":"Governance Agent","type":"ai_memory","index":0},{"node":"Scheduled Governance Agent","type":"ai_memory","index":0}]]},"Prepare Audit Log":{"main":[[{"node":"Immutable Audit Log","type":"main","index":0}]]},"Remediation Model":{"ai_languageModel":[[{"node":"Remediation Planning Agent","type":"ai_languageModel","index":0}]]},"Jurisdiction Model":{"ai_languageModel":[[{"node":"Jurisdiction Analysis Agent","type":"ai_languageModel","index":0}]]},"Immutable Audit Log":{"main":[[{"node":"Check Escalation Required","type":"main","index":0},{"node":"Merge Audit Logs","type":"main","index":0}]]},"Scheduled Audit Log":{"main":[[{"node":"Merge Audit Logs","type":"main","index":1}]]},"Compliance Data Tool":{"ai_tool":[[{"node":"Governance Agent","type":"ai_tool","index":0},{"node":"Scheduled Governance Agent","type":"ai_tool","index":0}]]},"Aggregate Daily Reports":{"main":[[{"node":"Send Daily Summary","type":"main","index":0}]]},"Compliance Signal Agent":{"ai_tool":[[{"node":"Governance Agent","type":"ai_tool","index":0},{"node":"Scheduled Governance Agent","type":"ai_tool","index":0}]]},"Compliance Signal Model":{"ai_languageModel":[[{"node":"Compliance Signal Agent","type":"ai_languageModel","index":0}]]},"Structured Output Parser":{"ai_outputParser":[[{"node":"Governance Agent","type":"ai_outputParser","index":0},{"node":"Scheduled Governance Agent","type":"ai_outputParser","index":0}]]},"Audit Documentation Agent":{"ai_tool":[[{"node":"Governance Agent","type":"ai_tool","index":0},{"node":"Scheduled Governance Agent","type":"ai_tool","index":0}]]},"Check Escalation Required":{"main":[[{"node":"Send Audit Report","type":"main","index":0}]]},"Periodic Compliance Check":{"main":[[{"node":"Build Scheduled Check Payload","type":"main","index":0}]]},"Compliance Signal Receiver":{"main":[[{"node":"Governance Agent","type":"main","index":0}]]},"Remediation Planning Agent":{"ai_tool":[[{"node":"Governance Agent","type":"ai_tool","index":0},{"node":"Scheduled Governance Agent","type":"ai_tool","index":0}]]},"Scheduled Governance Agent":{"main":[[{"node":"Prepare Scheduled Audit Log","type":"main","index":0}]]},"Scheduled Governance Model":{"ai_languageModel":[[{"node":"Scheduled Governance Agent","type":"ai_languageModel","index":0}]]},"Compliance Calculation Tool":{"ai_tool":[[{"node":"Governance Agent","type":"ai_tool","index":0},{"node":"Scheduled Governance Agent","type":"ai_tool","index":0}]]},"Jurisdiction Analysis Agent":{"ai_tool":[[{"node":"Governance Agent","type":"ai_tool","index":0},{"node":"Scheduled Governance Agent","type":"ai_tool","index":0}]]},"Prepare Scheduled Audit Log":{"main":[[{"node":"Scheduled Audit Log","type":"main","index":0}]]},"Escalation Notification Tool":{"ai_tool":[[{"node":"Governance Agent","type":"ai_tool","index":0},{"node":"Scheduled Governance Agent","type":"ai_tool","index":0}]]},"External Compliance API Tool":{"ai_tool":[[{"node":"Governance Agent","type":"ai_tool","index":0},{"node":"Scheduled Governance Agent","type":"ai_tool","index":0}]]},"Build Scheduled Check Payload":{"main":[[{"node":"Scheduled Governance Agent","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":37,"nodeTypes":{"n8n-nodes-base.if":{"count":1},"n8n-nodes-base.set":{"count":3},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.webhook":{"count":1},"n8n-nodes-base.aggregate":{"count":1},"n8n-nodes-base.dataTable":{"count":2},"n8n-nodes-base.emailSend":{"count":2},"n8n-nodes-base.slackTool":{"count":1},"n8n-nodes-base.stickyNote":{"count":7},"n8n-nodes-base.dataTableTool":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":2},"n8n-nodes-base.httpRequestTool":{"count":1},"n8n-nodes-base.scheduleTrigger":{"count":1},"@n8n/n8n-nodes-langchain.toolCode":{"count":1},"@n8n/n8n-nodes-langchain.agentTool":{"count":4},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":6},"@n8n/n8n-nodes-langchain.memoryBufferWindow":{"count":1},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":1}}},"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":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","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/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/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"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/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"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/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/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"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/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.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":24,"icon":"file:merge.svg","name":"n8n-nodes-base.merge","codex":{"data":{"alias":["Join","Concatenate","Wait"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"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/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using 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"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"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.merge/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Merge"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTc3XzUxOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgNDhDMCAyMS40OTAzIDIxLjQ5MDMgMCA0OCAwSDExMkMxMzguNTEgMCAxNjAgMjEuNDkwMyAxNjAgNDhWNTZIMTk2LjI1MkMyNDAuNDM1IDU2IDI3Ni4yNTIgOTEuODE3MiAyNzYuMjUyIDEzNlYxOTJDMjc2LjI1MiAyMTQuMDkxIDI5NC4xNjEgMjMyIDMxNi4yNTIgMjMySDM1MlYyMjRDMzUyIDE5Ny40OSAzNzMuNDkgMTc2IDQwMCAxNzZINDY0QzQ5MC41MSAxNzYgNTEyIDE5Ny40OSA1MTIgMjI0VjI4OEM1MTIgMzE0LjUxIDQ5MC41MSAzMzYgNDY0IDMzNkg0MDBDMzczLjQ5IDMzNiAzNTIgMzE0LjUxIDM1MiAyODhWMjgwSDMxNi4yNTJDMjk0LjE2MSAyODAgMjc2LjI1MiAyOTcuOTA5IDI3Ni4yNTIgMzIwVjM3NkMyNzYuMjUyIDQyMC4xODMgMjQwLjQzNSA0NTYgMTk2LjI1MiA0NTZIMTYwVjQ2NEMxNjAgNDkwLjUxIDEzOC41MSA1MTIgMTEyIDUxMkg0OEMyMS40OTAzIDUxMiAwIDQ5MC41MSAwIDQ2NFY0MDBDMCAzNzMuNDkgMjEuNDkwMyAzNTIgNDggMzUySDExMkMxMzguNTEgMzUyIDE2MCAzNzMuNDkgMTYwIDQwMFY0MDhIMTk2LjI1MkMyMTMuOTI1IDQwOCAyMjguMjUyIDM5My42NzMgMjI4LjI1MiAzNzZWMzIwQzIyOC4yNTIgMjk0Ljc4NCAyMzguODU5IDI3Mi4wNDQgMjU1Ljg1MyAyNTZDMjM4Ljg1OSAyMzkuOTU2IDIyOC4yNTIgMjE3LjIxNiAyMjguMjUyIDE5MlYxMzZDMjI4LjI1MiAxMTguMzI3IDIxMy45MjUgMTA0IDE5Ni4yNTIgMTA0SDE2MFYxMTJDMTYwIDEzOC41MSAxMzguNTEgMTYwIDExMiAxNjBINDhDMjEuNDkwMyAxNjAgMCAxMzguNTEgMCAxMTJWNDhaTTEwNCA0OEMxMDguNDE4IDQ4IDExMiA1MS41ODE3IDExMiA1NlYxMDRDMTEyIDEwOC40MTggMTA4LjQxOCAxMTIgMTA0IDExMkg1NkM1MS41ODE3IDExMiA0OCAxMDguNDE4IDQ4IDEwNFY1NkM0OCA1MS41ODE3IDUxLjU4MTcgNDggNTYgNDhIMTA0Wk00NTYgMjI0QzQ2MC40MTggMjI0IDQ2NCAyMjcuNTgyIDQ2NCAyMzJWMjgwQzQ2NCAyODQuNDE4IDQ2MC40MTggMjg4IDQ1NiAyODhINDA4QzQwMy41ODIgMjg4IDQwMCAyODQuNDE4IDQwMCAyODBWMjMyQzQwMCAyMjcuNTgyIDQwMy41ODIgMjI0IDQwOCAyMjRINDU2Wk0xMTIgNDA4QzExMiA0MDMuNTgyIDEwOC40MTggNDAwIDEwNCA0MDBINTZDNTEuNTgxNyA0MDAgNDggNDAzLjU4MiA0OCA0MDhWNDU2QzQ4IDQ2MC40MTggNTEuNTgxNyA0NjQgNTYgNDY0SDEwNEMxMDguNDE4IDQ2NCAxMTIgNDYwLjQxOCAxMTIgNDU2VjQwOFoiIGZpbGw9IiM1NEI4QzkiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTc3XzUxOCI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Merge","typeVersion":3,"nodeCategories":[{"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":47,"icon":"file:webhook.svg","name":"n8n-nodes-base.webhook","codex":{"data":{"alias":["HTTP","API","Build","WH"],"resources":{"generic":[{"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/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"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/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/how-a-digital-strategist-uses-n8n-for-online-marketing/","icon":"💻","label":"How a digital strategist uses n8n for online marketing"},{"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/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/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/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/creating-custom-incident-response-workflows-with-n8n/","label":"How to automate every step of an incident response workflow"},{"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/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-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"trigger\"]","defaults":{"name":"Webhook"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTM1IDM3Yy0yLjIgMC00LTEuOC00LTRzMS44LTQgNC00IDQgMS44IDQgNC0xLjggNC00IDQiLz48cGF0aCBmaWxsPSIjMzc0NzRmIiBkPSJNMzUgNDNjLTMgMC01LjktMS40LTcuOC0zLjdsMy4xLTIuNWMxLjEgMS40IDIuOSAyLjMgNC43IDIuMyAzLjMgMCA2LTIuNyA2LTZzLTIuNy02LTYtNmMtMSAwLTIgLjMtMi45LjdsLTEuNyAxTDIzLjMgMTZsMy41LTEuOSA1LjMgOS40YzEtLjMgMi0uNSAzLS41IDUuNSAwIDEwIDQuNSAxMCAxMFM0MC41IDQzIDM1IDQzIi8+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTE0IDQzQzguNSA0MyA0IDM4LjUgNCAzM2MwLTQuNiAzLjEtOC41IDcuNS05LjdsMSAzLjlDOS45IDI3LjkgOCAzMC4zIDggMzNjMCAzLjMgMi43IDYgNiA2czYtMi43IDYtNnYtMmgxNXY0SDIzLjhjLS45IDQuNi01IDgtOS44IDgiLz48cGF0aCBmaWxsPSIjZTkxZTYzIiBkPSJNMTQgMzdjLTIuMiAwLTQtMS44LTQtNHMxLjgtNCA0LTQgNCAxLjggNCA0LTEuOCA0LTQgNCIvPjxwYXRoIGZpbGw9IiMzNzQ3NGYiIGQ9Ik0yNSAxOWMtMi4yIDAtNC0xLjgtNC00czEuOC00IDQtNCA0IDEuOCA0IDQtMS44IDQtNCA0Ii8+PHBhdGggZmlsbD0iI2U5MWU2MyIgZD0ibTE1LjcgMzQtMy40LTIgNS45LTkuN2MtMi0xLjktMy4yLTQuNS0zLjItNy4zIDAtNS41IDQuNS0xMCAxMC0xMHMxMCA0LjUgMTAgMTBjMCAuOS0uMSAxLjctLjMgMi41bC0zLjktMWMuMS0uNS4yLTEgLjItMS41IDAtMy4zLTIuNy02LTYtNnMtNiAyLjctNiA2YzAgMi4xIDEuMSA0IDIuOSA1LjFsMS43IDF6Ii8+PC9zdmc+"},"displayName":"Webhook","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"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":1163,"icon":"fa:database","name":"@n8n/n8n-nodes-langchain.memoryBufferWindow","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memorybufferwindow/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Memory"],"Memory":["For beginners"]}}},"group":"[\"transform\"]","defaults":{"name":"Simple Memory"},"iconData":{"icon":"database","type":"icon"},"displayName":"Simple Memory","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":1197,"icon":"fa:code","name":"@n8n/n8n-nodes-langchain.toolCode","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolcode/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Tools"],"Tools":["Recommended Tools"]}}},"group":"[\"transform\"]","defaults":{"name":"Code Tool"},"iconData":{"icon":"code","type":"icon"},"displayName":"Code Tool","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":1310,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agentTool","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"categories":["AI","Langchain"],"subcategories":{"AI":["Tools"],"Tools":["Recommended Tools"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent Tool","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent Tool","typeVersion":3,"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":29,"name":"SecOps"},{"id":47,"name":"AI Chatbot"}],"image":[]}}