{"workflow":{"id":14441,"name":"Automate privacy risk detection, approvals, and audit reports with GPT-4o, Slack, Gmail, and Google Sheets","views":3,"recentViews":1,"totalViews":3,"createdAt":"2026-03-29T13:12:32.261Z","description":"## How It Works\nThis workflow automates data privacy compliance governance for privacy officers, legal operations teams, and data protection leads. It eliminates the manual effort of monitoring data usage events, classifying privacy risks, routing approval requests, and generating audit-ready compliance reports. Data usage events arrive via a webhook trigger while a scheduled audit runs in parallel, ensuring continuous and periodic coverage. Both feeds pass to the Privacy Governance Agent, backed by a governance model and shared memory — which coordinates three specialist tools: a Data Privacy Agent Tool (privacy policy assessment using a privacy model and Legal Database API), a Risk Detection Agent Tool (risk classification using a dedicated risk model), and an Audit Log Tool. Approval requests are routed via an Approval Request Tool with Slack notifications, and outputs are structured via a Compliance Output Parser and Approval History Tool. Results are routed by risk level, critical alerts trigger Slack notifications immediately, high-risk alerts follow a parallel Slack path, before all cases converge to prepare an audit record, store a compliance record in Google Sheets, prepare a compliance report, and distribute it via Gmail.\n\n## Setup Steps\n1. Import workflow; configure the Data Usage Event Trigger webhook URL and Scheduled Compliance Audit interval.\n2. Add AI model credentials to the Privacy Governance Agent, Data Privacy Agent Tool, and Risk Detection Agent Tool.\n3. Connect the Legal Database API Tool with your privacy regulatory database endpoint and credentials.\n4. Link Slack credentials to the Slack Notification Tool, Send Critical Alert, and Send High Risk Alert nodes.\n5. Link Gmail credentials to the Send Compliance Report node.\n6. Connect Google Sheets credentials; set sheet IDs for Compliance Record and Audit Log tabs.\n\n## Prerequisites\n- OpenAI API key (or compatible LLM)\n- Slack workspace with bot credentials\n- Gmail account with OAuth credentials\n- Google Sheets with compliance and audit tabs pre-created\n## Use Cases\n- Privacy officers automating GDPR and PDPA data usage event monitoring and risk classification\n## Customisation\n- Swap the Legal Database API to target jurisdiction-specific frameworks (GDPR, CCPA, PDPA, HIPAA)\n## Benefits\n- Dual-trigger ingestion ensures continuous and scheduled privacy coverage with no monitoring gaps\n","workflow":{"id":"0p3tX5bhog6hsbUX","meta":{"instanceId":"b91e510ebae4127f953fd2f5f8d40d58ca1e71c746d4500c12ae86aad04c1502"},"name":"Intelligent data privacy governance with risk detection and approval","tags":[],"nodes":[{"id":"be240d97-62a3-4ece-a1a0-87633a027045","name":"Data Usage Event Trigger","type":"n8n-nodes-base.webhook","position":[256,352],"webhookId":"8001ddae-75f3-4952-8e4e-600ae52a1400","parameters":{"path":"privacy-event","options":{},"httpMethod":"POST"},"typeVersion":2.1},{"id":"ffe51626-f2a0-4648-b7de-af9951a0fc89","name":"Scheduled Compliance Audit","type":"n8n-nodes-base.scheduleTrigger","position":[256,544],"parameters":{"rule":{"interval":[{"triggerAtHour":9}]}},"typeVersion":1.3},{"id":"020a340f-81df-4f71-a7fc-b4bc0c8a8c06","name":"Privacy Governance Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[736,432],"parameters":{"text":"={{ $json.eventType === 'scheduled_audit' ? 'Perform a comprehensive privacy compliance audit of all data handling practices. Review recent data usage, assess compliance with GDPR and PDPA, identify any privacy risks, and generate an audit-ready compliance report.' : 'Evaluate the following data usage event for privacy compliance: ' + JSON.stringify($json) }}","options":{"systemMessage":"You are a Privacy Governance Agent responsible for orchestrating privacy compliance workflows. You coordinate with the Data Privacy Agent to evaluate data handling practices against GDPR, PDPA, and other regulations, and the Risk Detection Agent to identify privacy risks. Your role is to: 1) Analyze incoming data usage events or audit requests, 2) Delegate privacy law evaluation to the Data Privacy Agent, 3) Delegate risk assessment to the Risk Detection Agent, 4) Make governance decisions on approvals and access control, 5) Determine if human approval is required for high-risk actions, 6) Generate comprehensive compliance reports. Always provide structured output with compliance status, risk level, violations found, approval requirements, and actionable recommendations."},"hasOutputParser":true},"typeVersion":3.1},{"id":"1794c4c5-0d29-4d64-ab5b-77045cce9c64","name":"Governance Agent Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[544,544],"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":"934331d7-cb46-4b3f-a63f-8177ad6dc118","name":"Compliance Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[2432,928],"parameters":{"schemaType":"manual","inputSchema":"{\n\t\"type\": \"object\",\n\t\"properties\": {\n\t\t\"complianceStatus\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"description\": \"Overall compliance status\"\n\t\t},\n\t\t\"riskLevel\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"description\": \"Risk level assessment\"\n\t\t},\n\t\t\"regulationViolations\": {\n\t\t\t\"type\": \"array\",\n\t\t\t\"items\": {\n\t\t\t\t\"type\": \"string\"\n\t\t\t},\n\t\t\t\"description\": \"List of regulation violations\"\n\t\t},\n\t\t\"approvalRequired\": {\n\t\t\t\"type\": \"boolean\",\n\t\t\t\"description\": \"Whether approval is required\"\n\t\t},\n\t\t\"findings\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"description\": \"Detailed findings from the compliance audit\"\n\t\t},\n\t\t\"recommendations\": {\n\t\t\t\"type\": \"array\",\n\t\t\t\"items\": {\n\t\t\t\t\"type\": \"string\"\n\t\t\t},\n\t\t\t\"description\": \"List of recommendations\"\n\t\t},\n\t\t\"auditTrail\": {\n\t\t\t\"type\": \"object\",\n\t\t\t\"description\": \"Audit trail information\"\n\t\t}\n\t}\n}"},"typeVersion":1.3},{"id":"1d30b32e-feb9-403b-9649-bcb5ef60dda0","name":"Data Privacy Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[672,704],"parameters":{"text":"={{ $fromAI('privacy_evaluation_task', 'The data handling practice or event to evaluate for privacy law compliance') }}","options":{"systemMessage":"You are a Data Privacy Agent specialized in evaluating data handling practices against privacy regulations including GDPR (General Data Protection Regulation), PDPA (Personal Data Protection Act), CCPA (California Consumer Privacy Act), and other global privacy laws. Your expertise includes: 1) Analyzing data collection, storage, processing, and sharing practices, 2) Identifying violations of consent requirements, data minimization principles, purpose limitation, and retention policies, 3) Assessing compliance with data subject rights (access, rectification, erasure, portability), 4) Evaluating cross-border data transfer compliance, 5) Checking breach notification requirements, 6) Reviewing privacy notices and transparency obligations. Provide detailed legal analysis citing specific regulation articles when violations are found."},"toolDescription":"Evaluates data handling practices against privacy laws including GDPR, PDPA, CCPA, and other regulations. Identifies legal violations, assesses compliance status, and provides detailed legal analysis."},"typeVersion":3},{"id":"3c539d18-cfda-4874-bcc1-ef9485a6162a","name":"Privacy Agent Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[672,880],"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":"ce9d6a2d-c3e7-43c8-8e80-bcfc5513bc5d","name":"Risk Detection Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[1488,848],"parameters":{"text":"={{ $fromAI('risk_assessment_task', 'The data handling activity or event to assess for privacy risks') }}","options":{"systemMessage":"You are a Risk Detection Agent specialized in identifying privacy and security risks in data handling practices. Your capabilities include: 1) Detecting potential data breach risks and security vulnerabilities, 2) Identifying unauthorized or excessive data access patterns, 3) Assessing data retention and deletion risks, 4) Evaluating third-party data sharing risks, 5) Analyzing consent and authorization gaps, 6) Detecting sensitive data exposure risks (PII, health data, financial data), 7) Scoring risks as LOW, MEDIUM, HIGH, or CRITICAL based on likelihood and impact. Provide actionable risk mitigation recommendations for each identified risk."},"toolDescription":"Detects and assesses privacy risks in data handling activities. Identifies potential data breaches, unauthorized access, excessive data collection, inadequate security measures, and other privacy threats. Provides risk scoring and mitigation recommendations."},"typeVersion":3},{"id":"2f679c51-977a-448d-a50f-fe5413fa9f5f","name":"Risk Agent Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[1568,1056],"parameters":{"model":{"__rl":true,"mode":"id","value":"gpt-4o"},"options":{"temperature":0.15},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"3987ee62-90c7-42f1-97aa-0cfa7749afb1","name":"Legal Database API Tool","type":"n8n-nodes-base.httpRequestTool","position":[832,912],"parameters":{"url":"={{ $fromAI('api_endpoint', 'The legal database API endpoint to query (e.g., /api/regulations/gdpr or /api/compliance/pdpa)') }}","options":{},"toolDescription":"Queries external legal databases and regulatory APIs to retrieve current privacy law requirements, regulation updates, and compliance guidelines for GDPR, PDPA, CCPA, and other privacy regulations."},"typeVersion":4.4},{"id":"740f444b-5caf-4345-904c-4cf8b7370ef5","name":"Audit Log Tool","type":"n8n-nodes-base.dataTableTool","position":[1776,848],"parameters":{"columns":{"value":null,"mappingMode":"autoMapInputData"},"options":{},"dataTableId":{"__rl":true,"mode":"list","value":"<__PLACEHOLDER_VALUE__audit_logs table__>"},"descriptionType":"manual","toolDescription":"Records compliance evaluations, privacy assessments, and governance decisions to the audit log data table for compliance tracking and reporting."},"typeVersion":1.1},{"id":"5ad61831-00ed-4498-bcfd-620c6f676b0c","name":"Approval Request Tool","type":"n8n-nodes-base.slackHitlTool","position":[2016,928],"webhookId":"f2481275-ae8f-4070-84b7-fdcd0af91da6","parameters":{"user":{"__rl":true,"mode":"list","value":""},"options":{},"authentication":"oAuth2"},"credentials":{"slackOAuth2Api":{"id":"d34b1ayEBbvZm2lT","name":"Slack account"}},"typeVersion":2.4},{"id":"6bcc8f5a-2a4e-4fb4-9cb8-f688e035afc0","name":"Slack Notification Tool","type":"n8n-nodes-base.slackTool","position":[2096,1136],"webhookId":"0980fad1-a37a-4c3b-b120-cb5ce2a7cb9c","parameters":{"text":"={{ $fromAI('notification_message', 'The compliance notification or alert message to send') }}","select":"channel","channelId":{"__rl":true,"mode":"id","value":"={{ $fromAI('channel', 'The Slack channel to send the notification to') }}"},"otherOptions":{},"authentication":"oAuth2","descriptionType":"manual","toolDescription":"Sends privacy compliance alerts, risk notifications, and governance updates to designated Slack channels."},"credentials":{"slackOAuth2Api":{"id":"d34b1ayEBbvZm2lT","name":"Slack account"}},"typeVersion":2.4},{"id":"40ce2a2a-a394-4a58-bce3-d059bb477646","name":"Route by Risk Level","type":"n8n-nodes-base.switch","position":[1936,416],"parameters":{"rules":{"values":[{"conditions":{"string":[{"value1":"={{ $json.riskLevel }}","value2":"CRITICAL","operation":"equals"}]}},{"conditions":{"string":[{"value1":"={{ $json.riskLevel }}","value2":"HIGH","operation":"equals"}]}},{"conditions":{"string":[{"value1":"={{ $json.riskLevel }}","value2":"MEDIUM","operation":"equals"}]}},{"conditions":{"string":[{"value1":"={{ $json.riskLevel }}","value2":"LOW","operation":"equals"}]}}]},"options":{}},"typeVersion":3.4},{"id":"fa5a37a3-267e-4b48-8fa8-d1d57a9af833","name":"Prepare Critical Alert","type":"n8n-nodes-base.set","position":[2160,304],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"alertType","type":"string","value":"CRITICAL PRIVACY RISK"},{"id":"id-2","name":"priority","type":"string","value":"URGENT"},{"id":"id-3","name":"message","type":"string","value":"={{ 'CRITICAL: ' + $json.output.findings }}"},{"id":"id-4","name":"violations","type":"array","value":"={{ $json.output.regulationViolations }}"},{"id":"id-5","name":"recommendations","type":"array","value":"={{ $json.output.recommendations }}"},{"id":"id-6","name":"timestamp","type":"string","value":"={{ $now.toISO() }}"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"8b3fc8db-f2db-4438-94d0-48661ad0d714","name":"Prepare High Risk Alert","type":"n8n-nodes-base.set","position":[2160,592],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"alertType","type":"string","value":"HIGH PRIVACY RISK"},{"id":"id-2","name":"priority","type":"string","value":"HIGH"},{"id":"id-3","name":"message","type":"string","value":"={{ 'High Risk Detected: ' + $json.output.findings }}"},{"id":"id-4","name":"violations","type":"array","value":"={{ $json.output.regulationViolations }}"},{"id":"id-5","name":"recommendations","type":"array","value":"={{ $json.output.recommendations }}"},{"id":"id-6","name":"timestamp","type":"string","value":"={{ $now.toISO() }}"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"b33a6020-b749-45f4-8304-b6e6e61cf03b","name":"Send Critical Alert","type":"n8n-nodes-base.slack","position":[2384,304],"webhookId":"48e54672-e8c4-42bb-b03b-0f47d997228f","parameters":{"text":"={{ '🚨 CRITICAL PRIVACY RISK DETECTED 🚨\n\n' + $json.message + '\n\nViolations: ' + JSON.stringify($json.violations) + '\n\nRecommendations: ' + JSON.stringify($json.recommendations) + '\n\nTimestamp: ' + $json.timestamp }}","select":"channel","channelId":{"__rl":true,"mode":"id","value":"<__PLACEHOLDER_VALUE__critical_alerts_channel__>"},"otherOptions":{},"authentication":"oAuth2"},"credentials":{"slackOAuth2Api":{"id":"d34b1ayEBbvZm2lT","name":"Slack account"}},"typeVersion":2.4},{"id":"3440a176-4deb-4475-a47e-4436a313a627","name":"Send High Risk Alert","type":"n8n-nodes-base.slack","position":[2384,592],"webhookId":"482cdf41-7587-4369-8547-c8de7602d659","parameters":{"text":"={{ '⚠️ HIGH PRIVACY RISK DETECTED\n\n' + $json.message + '\n\nViolations: ' + JSON.stringify($json.violations) + '\n\nRecommendations: ' + JSON.stringify($json.recommendations) + '\n\nTimestamp: ' + $json.timestamp }}","select":"channel","channelId":{"__rl":true,"mode":"id","value":"<__PLACEHOLDER_VALUE__privacy_alerts_channel__>"},"otherOptions":{},"authentication":"oAuth2"},"credentials":{"slackOAuth2Api":{"id":"d34b1ayEBbvZm2lT","name":"Slack account"}},"typeVersion":2.4},{"id":"fd0b67e4-37e4-42b4-86a9-48428767d02d","name":"Prepare Audit Record","type":"n8n-nodes-base.set","position":[2656,448],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"eventId","type":"string","value":"={{ $('Data Usage Event Trigger').item.json.eventId || 'AUDIT_' + $now.toMillis() }}"},{"id":"id-2","name":"timestamp","type":"string","value":"={{ $now.toISO() }}"},{"id":"id-3","name":"complianceStatus","type":"string","value":"={{ $json.complianceStatus }}"},{"id":"id-4","name":"riskLevel","type":"string","value":"={{ $json.riskLevel }}"},{"id":"id-5","name":"findings","type":"string","value":"={{ $json.findings }}"},{"id":"id-6","name":"violations","type":"string","value":"={{ JSON.stringify($json.regulationViolations) }}"},{"id":"id-7","name":"recommendations","type":"string","value":"={{ JSON.stringify($json.recommendations) }}"},{"id":"id-8","name":"approvalRequired","type":"boolean","value":"={{ $json.approvalRequired }}"},{"id":"id-9","name":"auditTrail","type":"string","value":"={{ JSON.stringify($json.auditTrail) }}"}]}},"typeVersion":3.4},{"id":"eb3a95ea-5cc6-48a0-adc6-1af61c8469cc","name":"Store Compliance Record","type":"n8n-nodes-base.dataTable","position":[2832,448],"parameters":{"columns":{"value":{"eventId":"={{ $('Data Usage Event Trigger').item.json.eventId || 'AUDIT_' + $now.toMillis() }}","findings":"={{ $json.findings }}","riskLevel":"={{ $json.riskLevel }}","timestamp":"={{ $now.toISO() }}","auditTrail":"={{ JSON.stringify($json.auditTrail) }}","violations":"={{ JSON.stringify($json.regulationViolations) }}","recommendations":"={{ JSON.stringify($json.recommendations) }}","approvalRequired":"={{ $json.approvalRequired }}","complianceStatus":"={{ $json.complianceStatus }}"},"mappingMode":"defineBelow"},"options":{},"dataTableId":{"__rl":true,"mode":"list","value":"<__PLACEHOLDER_VALUE__compliance_records table__>"}},"typeVersion":1.1},{"id":"302fa176-ecf9-4d66-af4f-203f46d8111d","name":"Prepare Compliance Report","type":"n8n-nodes-base.set","position":[3056,448],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"reportTitle","type":"string","value":"={{ 'Privacy Compliance Report - ' + $now.toFormat('yyyy-MM-dd') }}"},{"id":"id-2","name":"executiveSummary","type":"string","value":"={{ 'Compliance Status: ' + $json.complianceStatus + ' | Risk Level: ' + $json.riskLevel }}"},{"id":"id-3","name":"detailedFindings","type":"string","value":"={{ $json.findings }}"},{"id":"id-4","name":"regulationViolations","type":"string","value":"={{ JSON.stringify($json.regulationViolations, null, 2) }}"},{"id":"id-5","name":"recommendations","type":"string","value":"={{ JSON.stringify($json.recommendations, null, 2) }}"},{"id":"id-6","name":"auditTrail","type":"string","value":"={{ JSON.stringify($json.auditTrail, null, 2) }}"},{"id":"id-7","name":"generatedAt","type":"string","value":"={{ $now.toISO() }}"},{"id":"id-8","name":"approvalStatus","type":"string","value":"={{ $json.approvalRequired ? 'PENDING APPROVAL' : 'AUTO-APPROVED' }}"}]}},"typeVersion":3.4},{"id":"6a9d4fe0-38f5-4184-b809-fe70385135d2","name":"Send Compliance Report","type":"n8n-nodes-base.gmail","position":[3280,448],"webhookId":"c352bd0e-99f6-4ce8-ab24-e0427f5afd2b","parameters":{"sendTo":"<__PLACEHOLDER_VALUE__dpo_email__>","message":"={{ 'PRIVACY COMPLIANCE REPORT\\n\\n' + $json.executiveSummary + '\\n\\nDETAILED FINDINGS:\\n' + $json.detailedFindings + '\\n\\nREGULATION VIOLATIONS:\\n' + $json.regulationViolations + '\\n\\nRECOMMENDATIONS:\\n' + $json.recommendations + '\\n\\nAUDIT TRAIL:\\n' + $json.auditTrail + '\\n\\nGenerated: ' + $json.generatedAt + '\\nApproval Status: ' + $json.approvalStatus }}","options":{},"subject":"={{ $json.reportTitle }}"},"credentials":{"gmailOAuth2":{"id":"u1N5nBDvQ0AWhNnV","name":"Gmail account"}},"typeVersion":2.2},{"id":"6fbd070a-b0d5-4e0d-96f6-91df8b6358b1","name":"Approval History Tool","type":"n8n-nodes-base.dataTableTool","position":[2304,928],"parameters":{"operation":"rowExists","dataTableId":{"__rl":true,"mode":"list","value":"<__PLACEHOLDER_VALUE__approval_history table__>"},"descriptionType":"manual","toolDescription":"Queries the approval history data table to retrieve past governance decisions, approval patterns, and compliance actions for reference during current evaluations."},"typeVersion":1.1},{"id":"2686d0a7-5674-4894-96a0-ee54fee62573","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[272,-128],"parameters":{"width":656,"height":368,"content":"## How It Works\nThis workflow automates data privacy compliance governance for privacy officers, legal operations teams, and data protection leads. It eliminates the manual effort of monitoring data usage events, classifying privacy risks, routing approval requests, and generating audit-ready compliance reports. Data usage events arrive via a webhook trigger while a scheduled audit runs in parallel, ensuring continuous and periodic coverage. Both feeds pass to the Privacy Governance Agent, backed by a governance model and shared memory — which coordinates three specialist tools: a Data Privacy Agent Tool (privacy policy assessment using a privacy model and Legal Database API), a Risk Detection Agent Tool (risk classification using a dedicated risk model), and an Audit Log Tool. Approval requests are routed via an Approval Request Tool with Slack notifications, and outputs are structured via a Compliance Output Parser and Approval History Tool. Results are routed by risk level, critical alerts trigger Slack notifications immediately, high-risk alerts follow a parallel Slack path, before all cases converge to prepare an audit record, store a compliance record in Google Sheets, prepare a compliance report, and distribute it via Gmail."},"typeVersion":1},{"id":"aa1f8291-6b7e-46ae-b660-648ccd8f41e0","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[1504,-224],"parameters":{"color":6,"width":624,"height":416,"content":"## Prerequisites\n- OpenAI API key (or compatible LLM)\n- Slack workspace with bot credentials\n- Gmail account with OAuth credentials\n- Google Sheets with compliance and audit tabs pre-created\n## Use Cases\n- Privacy officers automating GDPR and PDPA data usage event monitoring and risk classification\n## Customisation\n- Swap the Legal Database API to target jurisdiction-specific frameworks (GDPR, CCPA, PDPA, HIPAA)\n## Benefits\n- Dual-trigger ingestion ensures continuous and scheduled privacy coverage with no monitoring gaps"},"typeVersion":1},{"id":"98e35ad8-00ac-49cb-9101-b57042b60906","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[992,-112],"parameters":{"width":448,"height":304,"content":"## Setup Steps\n1. Import workflow; configure the Data Usage Event Trigger webhook URL and Scheduled Compliance Audit interval.\n2. Add AI model credentials to the Privacy Governance Agent, Data Privacy Agent Tool, and Risk Detection Agent Tool.\n3. Connect the Legal Database API Tool with your privacy regulatory database endpoint and credentials.\n4. Link Slack credentials to the Slack Notification Tool, Send Critical Alert, and Send High Risk Alert nodes.\n5. Link Gmail credentials to the Send Compliance Report node.\n6. Connect Google Sheets credentials; set sheet IDs for Compliance Record and Audit Log tabs."},"typeVersion":1},{"id":"9fa41519-3085-4b69-ae92-56e8cdaa800e","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[1888,752],"parameters":{"color":7,"width":784,"height":528,"content":"## Approval Request & Slack Notification Tool\n**Why** — Routes privacy approval requests via Slack, enabling rapid human-in-the-loop governance without email bottlenecks.\n"},"typeVersion":1},{"id":"4bb3e34d-a158-4c81-9ba4-653cecef6b57","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[1120,736],"parameters":{"color":7,"width":752,"height":592,"content":"\n## Risk Detection Agent & Audit Log Tool\n**Why** — Classifies each event by risk level and logs it\n immediately, creating an unbroken audit trail before any routing decision is made."},"typeVersion":1},{"id":"13bc44e7-d9eb-43dd-9441-ab2b29834f0a","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[112,256],"parameters":{"color":7,"width":976,"height":800,"content":"## Data Privacy Agent & Legal Database API Tool\n**Why** — Evaluates data usage against legal privacy frameworks, ensuring policy assessments are grounded in current regulatory references."},"typeVersion":1},{"id":"9a7aee51-a463-4c61-97e4-b0a5395b2c9b","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[1760,224],"parameters":{"color":7,"width":848,"height":512,"content":"## Route by Risk Level\n**Why** — Rules-based routing separates critical and high-risk events for proportionate, parallel alert handling without manual triage."},"typeVersion":1},{"id":"08fa10c0-ce3f-48d3-aa99-88612753952a","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[2640,224],"parameters":{"color":7,"width":880,"height":528,"content":"## Audit Record, Compliance Storage & Report Distribution\n**Why** — Every event generates an audit record stored in Google Sheets; a compliance report is prepared and distributed via Gmail to maintain a complete, stakeholder-ready governance trail."},"typeVersion":1}],"active":false,"pinData":{},"settings":{"binaryMode":"separate","executionOrder":"v1"},"versionId":"35c62432-e5ff-48eb-adda-0afe0673ba56","connections":{"Audit Log Tool":{"ai_tool":[[{"node":"Privacy Governance Agent","type":"ai_tool","index":0}]]},"Risk Agent Model":{"ai_languageModel":[[{"node":"Risk Detection Agent Tool","type":"ai_languageModel","index":0}]]},"Privacy Agent Model":{"ai_languageModel":[[{"node":"Data Privacy Agent Tool","type":"ai_languageModel","index":0}]]},"Route by Risk Level":{"main":[[{"node":"Prepare Critical Alert","type":"main","index":0}],[{"node":"Prepare High Risk Alert","type":"main","index":0}],[{"node":"Prepare Audit Record","type":"main","index":0}],[{"node":"Prepare Audit Record","type":"main","index":0}]]},"Send Critical Alert":{"main":[[{"node":"Prepare Audit Record","type":"main","index":0}]]},"Prepare Audit Record":{"main":[[{"node":"Store Compliance Record","type":"main","index":0}]]},"Send High Risk Alert":{"main":[[{"node":"Prepare Audit Record","type":"main","index":0}]]},"Approval History Tool":{"ai_tool":[[{"node":"Privacy Governance Agent","type":"ai_tool","index":0}]]},"Approval Request Tool":{"ai_tool":[[{"node":"Privacy Governance Agent","type":"ai_tool","index":0}]]},"Governance Agent Model":{"ai_languageModel":[[{"node":"Privacy Governance Agent","type":"ai_languageModel","index":0}]]},"Prepare Critical Alert":{"main":[[{"node":"Send Critical Alert","type":"main","index":0}]]},"Data Privacy Agent Tool":{"ai_tool":[[{"node":"Privacy Governance Agent","type":"ai_tool","index":0}]]},"Legal Database API Tool":{"ai_tool":[[{"node":"Data Privacy Agent Tool","type":"ai_tool","index":0}]]},"Prepare High Risk Alert":{"main":[[{"node":"Send High Risk Alert","type":"main","index":0}]]},"Slack Notification Tool":{"ai_tool":[[{"node":"Approval Request Tool","type":"ai_tool","index":0}]]},"Store Compliance Record":{"main":[[{"node":"Prepare Compliance Report","type":"main","index":0}]]},"Compliance Output Parser":{"ai_outputParser":[[{"node":"Privacy Governance Agent","type":"ai_outputParser","index":0}]]},"Data Usage Event Trigger":{"main":[[{"node":"Privacy Governance Agent","type":"main","index":0}]]},"Privacy Governance Agent":{"main":[[{"node":"Route by Risk Level","type":"main","index":0}]]},"Prepare Compliance Report":{"main":[[{"node":"Send Compliance Report","type":"main","index":0}]]},"Risk Detection Agent Tool":{"ai_tool":[[{"node":"Privacy Governance Agent","type":"ai_tool","index":0}]]},"Scheduled Compliance Audit":{"main":[[{"node":"Privacy Governance Agent","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":31,"nodeTypes":{"n8n-nodes-base.set":{"count":4},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.slack":{"count":2},"n8n-nodes-base.switch":{"count":1},"n8n-nodes-base.webhook":{"count":1},"n8n-nodes-base.dataTable":{"count":1},"n8n-nodes-base.slackTool":{"count":1},"n8n-nodes-base.stickyNote":{"count":8},"n8n-nodes-base.dataTableTool":{"count":2},"n8n-nodes-base.slackHitlTool":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":1},"n8n-nodes-base.httpRequestTool":{"count":1},"n8n-nodes-base.scheduleTrigger":{"count":1},"@n8n/n8n-nodes-langchain.agentTool":{"count":2},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":3},"@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":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":40,"icon":"file:slack.svg","name":"n8n-nodes-base.slack","codex":{"data":{"alias":["human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/","icon":"👏","label":"How to automatically give kudos to contributors with GitHub, Slack, and n8n"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.slack/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/slack/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Slack"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgMTUwLjg1MiAxNTAuODUyIj48dXNlIHhsaW5rOmhyZWY9IiNhIiB4PSIuOTI2IiB5PSIuOTI2Ii8+PHN5bWJvbCBpZD0iYSIgb3ZlcmZsb3c9InZpc2libGUiPjxnIHN0cm9rZS13aWR0aD0iMS44NTIiPjxwYXRoIGZpbGw9IiNlMDFlNWEiIHN0cm9rZT0iI2UwMWU1YSIgZD0iTTQwLjc0MSA5My41NWMwLTguNzM1IDYuNjA3LTE1Ljc3MiAxNC44MTUtMTUuNzcyczE0LjgxNSA3LjAzNyAxNC44MTUgMTUuNzcydjM4LjgyNGMwIDguNzM3LTYuNjA3IDE1Ljc3NC0xNC44MTUgMTUuNzc0cy0xNC44MTUtNy4wMzctMTQuODE1LTE1Ljc3MnoiLz48cGF0aCBmaWxsPSIjZWNiMjJkIiBzdHJva2U9IiNlY2IyMmQiIGQ9Ik05My41NSAxMDcuNDA4Yy04LjczNSAwLTE1Ljc3Mi02LjYwNy0xNS43NzItMTQuODE1czcuMDM3LTE0LjgxNSAxNS43NzItMTQuODE1aDM4LjgyNmM4LjczNSAwIDE1Ljc3MiA2LjYwNyAxNS43NzIgMTQuODE1cy03LjAzNyAxNC44MTUtMTUuNzcyIDE0LjgxNXoiLz48cGF0aCBmaWxsPSIjMmZiNjdjIiBzdHJva2U9IiMyZmI2N2MiIGQ9Ik03Ny43NzggMTUuNzcyQzc3Ljc3OCA3LjAzNyA4NC4zODUgMCA5Mi41OTMgMHMxNC44MTUgNy4wMzcgMTQuODE1IDE1Ljc3MnYzOC44MjZjMCA4LjczNS02LjYwNyAxNS43NzItMTQuODE1IDE1Ljc3MnMtMTQuODE1LTcuMDM3LTE0LjgxNS0xNS43NzJ6Ii8+PHBhdGggZmlsbD0iIzM2YzVmMSIgc3Ryb2tlPSIjMzZjNWYxIiBkPSJNMTUuNzcyIDcwLjM3MUM3LjAzNyA3MC4zNzEgMCA2My43NjMgMCA1NS41NTZzNy4wMzctMTQuODE1IDE1Ljc3Mi0xNC44MTVoMzguODI2YzguNzM1IDAgMTUuNzcyIDYuNjA3IDE1Ljc3MiAxNC44MTVzLTcuMDM3IDE0LjgxNS0xNS43NzIgMTQuODE1eiIvPjxnIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjxwYXRoIGZpbGw9IiNlY2IyMmQiIHN0cm9rZT0iI2VjYjIyZCIgZD0iTTc3Ljc3OCAxMzMuMzMzYzAgOC4yMDggNi42MDcgMTQuODE1IDE0LjgxNSAxNC44MTVzMTQuODE1LTYuNjA3IDE0LjgxNS0xNC44MTUtNi42MDctMTQuODE1LTE0LjgxNS0xNC44MTVINzcuNzc4eiIvPjxwYXRoIGZpbGw9IiMyZmI2N2MiIHN0cm9rZT0iIzJmYjY3YyIgZD0iTTEzMy4zMzQgNzAuMzcxaC0xNC44MTVWNTUuNTU2YzAtOC4yMDcgNi42MDctMTQuODE1IDE0LjgxNS0xNC44MTVzMTQuODE1IDYuNjA3IDE0LjgxNSAxNC44MTUtNi42MDcgMTQuODE1LTE0LjgxNSAxNC44MTV6Ii8+PHBhdGggZmlsbD0iI2UwMWU1YSIgc3Ryb2tlPSIjZTAxZTVhIiBkPSJNMTQuODE1IDc3Ljc3OEgyOS42M3YxNC44MTVjMCA4LjIwNy02LjYwNyAxNC44MTUtMTQuODE1IDE0LjgxNVMwIDEwMC44IDAgOTIuNTkzczYuNjA3LTE0LjgxNSAxNC44MTUtMTQuODE1eiIvPjxwYXRoIGZpbGw9IiMzNmM1ZjEiIHN0cm9rZT0iIzM2YzVmMSIgZD0iTTcwLjM3MSAxNC44MTVWMjkuNjNINTUuNTU2Yy04LjIwNyAwLTE0LjgxNS02LjYwNy0xNC44MTUtMTQuODE1UzQ3LjM0OCAwIDU1LjU1NiAwczE0LjgxNSA2LjYwNyAxNC44MTUgMTQuODE1eiIvPjwvZz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Slack","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":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":112,"icon":"fa:map-signs","name":"n8n-nodes-base.switch","codex":{"data":{"alias":["Router","If","Path","Filter","Condition","Logic","Branch","Case"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"Switch","color":"#506000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"Switch","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":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":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1153,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"OpenAI Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1179,"icon":"fa:code","name":"@n8n/n8n-nodes-langchain.outputParserStructured","codex":{"data":{"alias":["json","zod"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Output Parsers"]}}},"group":"[\"transform\"]","defaults":{"name":"Structured Output Parser"},"iconData":{"icon":"code","type":"icon"},"displayName":"Structured Output Parser","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":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":35,"name":"Document Extraction"},{"id":48,"name":"AI RAG"}],"image":[]}}