This workflow corresponds to n8n.io template #15026 — we link there as the canonical source.
This workflow follows the Agent → Agenttool recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "BREPPUDRXxIce0xQ",
"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
],
"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": {
"name": "<your credential>"
}
},
"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": {
"name": "<your credential>"
}
},
"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": {
"name": "<your credential>"
}
},
"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": {
"name": "<your credential>"
}
},
"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": {
"name": "<your credential>"
}
},
"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
],
"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": {
"name": "<your credential>"
}
},
"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
],
"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": {
"name": "<your credential>"
}
},
"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
],
"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,
"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
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
openAiApislackOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This 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…
Source: https://n8n.io/workflows/15026/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow automates enterprise resource planning (ERP) operations across Engineering, Finance, HR, and Admin departments for operations managers, ERP administrators, and business process owners wh
This workflow automates end-to-end AI-driven content moderation for platforms managing user-generated content, including marketplaces, communities, and enterprise systems. It is designed for product,
This workflow automates credit operations onboarding by running KYC verification, credit bureau checks, identity validation, and sanctions screening through a single AI-powered agent. Built for credit
This workflow automates credit operations onboarding by running KYC verification, credit bureau checks, identity validation, and sanctions screening through a single AI-powered agent. Built for credit
This workflow automates intelligent fleet operations management for transport operators, logistics companies, and smart mobility teams. It solves the problem of manually triaging high-volume vehicle t