{"workflow":{"id":13138,"name":"Process data rights requests and governance compliance with Anthropic Claude","views":23,"recentViews":0,"totalViews":23,"createdAt":"2026-02-01T04:46:58.317Z","description":"## How It Works\nThis workflow automates comprehensive data validation and regulatory compliance reporting through intelligent AI-driven analysis. Designed for compliance officers, data governance teams, and regulatory affairs departments, it solves the critical challenge of ensuring data quality while generating audit-ready compliance documentation across multiple regulatory frameworks.The system receives data through webhook triggers, performs multi-layered validation using AI models to detect anomalies and policy violations, and intelligently routes findings based on validation outcomes. It orchestrates parallel processing streams for content lookup, retention policy enforcement, and rejection handling. The workflow merges validation results, generates governance documentation, and manages compliance notifications through multiple channels. By automating action routing based on compliance status and maintaining detailed audit logs across validation, governance, and action streams, it ensures regulatory adherence while eliminating manual review bottlenecks.\n\n## Setup Steps\n1. Configure Data Ingestion Webhook trigger endpoint\n2. Connect Workflow Execution Configuration node with validation parameters\n3. Set up Fetch Validation Rules node with OpenAI/Nvidia API credentials for AI model access\n4. Configure parallel AI model nodes with respective API credentials\n5. Connect Route by Validation Status node with branching logic\n6. Set up Governance Documentation node with document template configurations\n7. Configure parallel action nodes\n\n## Prerequisites\nOpenAI/Nvidia/Anthropic API credentials for AI validation models\n## Use Cases\nFinancial institutions ensuring transaction compliance monitoring, \n## Customization\nAdjust AI model parameters for industry-specific compliance rules\n## Benefits\nReduces compliance review time by 80%, eliminates manual validation errors","workflow":{"id":"doy-oPQMfRyyA7ArayexO","meta":{"instanceId":"b91e510ebae4127f953fd2f5f8d40d58ca1e71c746d4500c12ae86aad04c1502"},"name":"AI-Powered Data Rights and Governance Compliance Orchestration System","tags":[],"nodes":[{"id":"d91e6b10-3660-4cb6-bdd1-fdb720bad3b2","name":"Data Rights Request Webhook","type":"n8n-nodes-base.webhook","position":[0,200],"webhookId":"3600d9f9-05ab-4824-b4a7-758170d9458e","parameters":{"path":"data-rights-request","options":{},"httpMethod":"POST","responseMode":"responseNode"},"typeVersion":2.1},{"id":"3504a030-6859-4f08-8b0d-f31dc384c077","name":"Workflow Configuration","type":"n8n-nodes-base.set","position":[224,200],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"fulfillmentApiUrl","type":"string","value":"<__PLACEHOLDER_VALUE__Fulfillment API endpoint URL__>"},{"id":"id-2","name":"complianceSlackChannel","type":"string","value":"<__PLACEHOLDER_VALUE__Compliance team Slack channel ID__>"},{"id":"id-3","name":"regulatoryEmail","type":"string","value":"<__PLACEHOLDER_VALUE__Regulatory reporting email address__>"},{"id":"id-4","name":"consentDatabaseUrl","type":"string","value":"<__PLACEHOLDER_VALUE__Consent database API URL__>"},{"id":"id-5","name":"retentionPolicyUrl","type":"string","value":"<__PLACEHOLDER_VALUE__Retention policy API URL__>"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"c6890f55-17f2-4d7c-94d4-b2fa00fec20b","name":"Rights Validation Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[728,200],"parameters":{"text":"={{ JSON.stringify($json) }}","options":{"systemMessage":"You are a Rights Validation Agent specialized in data privacy compliance and data subject rights management.\n\nYour role is to:\n1. Validate incoming data subject requests (access, deletion, rectification, portability, restriction)\n2. Verify consent status and legal basis for data processing\n3. Check retention policy compliance and data expiration dates\n4. Assess data minimization requirements\n5. Identify any compliance violations or risks\n6. Determine if the request is valid and actionable\n\nYou have access to tools:\n- Consent Lookup Tool: Query consent records and legal basis\n- Retention Policy Tool: Check retention schedules and expiration dates\n\nFor each request:\n1. Use the Consent Lookup Tool to verify current consent status\n2. Use the Retention Policy Tool to check if data should still be retained\n3. Validate the request against GDPR/CCPA requirements\n4. Assess data minimization compliance\n5. Return structured validation results\n\nReturn your analysis in the structured format defined by the output parser."},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"eb019c5c-1790-49de-b74f-d7900eeed131","name":"Governance Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1720,400],"parameters":{"text":"={{ JSON.stringify($json) }}","options":{"systemMessage":"You are a Governance Agent responsible for orchestrating data rights fulfillment, regulatory reporting, and compliance escalation.\n\nYour role is to:\n1. Analyze validated data rights requests\n2. Determine appropriate fulfillment actions (data export, deletion, rectification)\n3. Generate regulatory reports when required\n4. Escalate compliance violations to the compliance team\n5. Enforce strict data minimization and audit controls\n6. Coordinate multi-step fulfillment workflows\n\nYou have access to:\n- Regulatory Reporting Tool: Generate compliance reports for regulators\n\nFor each validated request:\n1. Determine the action type: FULFILLMENT, REGULATORY_REPORT, or ESCALATION\n2. If FULFILLMENT: prepare data for API execution\n3. If REGULATORY_REPORT: use the Regulatory Reporting Tool to generate report\n4. If ESCALATION: prepare alert for compliance team\n5. Apply data minimization principles (only include necessary data)\n6. Return structured governance decision\n\nReturn your decision in the structured format defined by the output parser."},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"bb7de5e9-5781-424e-9ca0-3e3868fe59f3","name":"Consent Lookup Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[576,424],"parameters":{"text":"={{ $fromAI(\"dataSubjectId\", \"The data subject ID to look up consent records for\", \"string\") }}","options":{"systemMessage":"You are a Consent Lookup Tool that retrieves consent and legal basis information for data subjects.\n\nYour task is to:\n1. Query the consent database for the provided data subject ID\n2. Return current consent status (granted, withdrawn, expired)\n3. Identify the legal basis for processing (consent, contract, legitimate interest, legal obligation)\n4. Include consent timestamps and expiration dates\n5. Flag any consent violations or missing consent\n\nReturn structured consent information including:\n- consentStatus: granted | withdrawn | expired | missing\n- legalBasis: consent | contract | legitimate_interest | legal_obligation\n- consentDate: ISO timestamp\n- expirationDate: ISO timestamp or null\n- purposes: array of processing purposes\n- violations: array of any consent issues found"},"hasOutputParser":true,"toolDescription":"Retrieves consent records and legal basis information for a data subject"},"typeVersion":3},{"id":"cd2803c7-4b95-4fd2-b83f-f00918a0036f","name":"Retention Policy Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[864,424],"parameters":{"text":"={{ $fromAI(\"dataSubjectId\", \"The data subject ID to check retention policy for\", \"string\") }}","options":{"systemMessage":"You are a Retention Policy Tool that checks data retention schedules and expiration dates.\n\nYour task is to:\n1. Query retention policies for the provided data subject ID\n2. Check if data has exceeded retention period\n3. Identify data categories and their retention schedules\n4. Flag data that should be deleted per retention policy\n5. Return structured retention information\n\nReturn structured retention data including:\n- retentionStatus: active | expired | expiring_soon\n- dataCategories: array of data types and their retention periods\n- expirationDate: ISO timestamp when data should be deleted\n- daysUntilExpiration: number of days remaining\n- shouldDelete: boolean indicating if data should be deleted now\n- retentionViolations: array of any retention policy violations"},"hasOutputParser":true,"toolDescription":"Checks retention policies and identifies data that should be deleted"},"typeVersion":3},{"id":"71a883cb-af1b-4b8a-a38b-4c8015110477","name":"Regulatory Reporting Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[1712,624],"parameters":{"text":"={{ $fromAI(\"reportData\", \"The compliance data to include in the regulatory report\", \"json\") }}","options":{"systemMessage":"You are a Regulatory Reporting Tool that generates compliance reports for regulatory authorities.\n\nYour task is to:\n1. Generate structured regulatory reports based on provided data\n2. Include all required compliance information (request type, actions taken, timestamps)\n3. Format reports according to GDPR/CCPA requirements\n4. Include audit trail and data minimization evidence\n5. Return structured report data\n\nReturn structured report including:\n- reportId: unique identifier\n- reportType: GDPR_Article_15 | CCPA_Access | Data_Deletion | etc.\n- dataSubjectId: subject of the report\n- requestDate: ISO timestamp\n- actionsTaken: array of fulfillment actions\n- dataMinimizationApplied: boolean\n- auditTrail: array of audit events\n- complianceStatus: compliant | non_compliant | pending"},"hasOutputParser":true,"toolDescription":"Generates regulatory compliance reports for GDPR/CCPA authorities"},"typeVersion":3},{"id":"e27fbe83-7d50-4768-9695-288ad2aa948b","name":"Anthropic Model - Rights Agent","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[448,424],"parameters":{"model":{"__rl":true,"mode":"list","value":"claude-sonnet-4-5-20250929","cachedResultName":"Claude Sonnet 4.5"},"options":{}},"credentials":{"anthropicApi":{"id":"S8laStQPC1u3EYuZ","name":"Anthropic account"}},"typeVersion":1.3},{"id":"b4d0b172-9170-4d86-b9ac-219c50a1375e","name":"Anthropic Model - Governance Agent","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[1584,624],"parameters":{"model":{"__rl":true,"mode":"list","value":"claude-sonnet-4-5-20250929","cachedResultName":"Claude Sonnet 4.5"},"options":{}},"credentials":{"anthropicApi":{"id":"S8laStQPC1u3EYuZ","name":"Anthropic account"}},"typeVersion":1.3},{"id":"ce8ec81e-7958-4b4e-905d-dfae0dd15faa","name":"Anthropic Model - Consent Tool","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[480,640],"parameters":{"model":{"__rl":true,"mode":"list","value":"claude-sonnet-4-5-20250929","cachedResultName":"Claude Sonnet 4.5"},"options":{}},"credentials":{"anthropicApi":{"id":"S8laStQPC1u3EYuZ","name":"Anthropic account"}},"typeVersion":1.3},{"id":"4a72a1a2-a33b-4440-8cfc-6973c53a8a2a","name":"Anthropic Model - Retention Tool","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[864,632],"parameters":{"model":{"__rl":true,"mode":"list","value":"claude-sonnet-4-5-20250929","cachedResultName":"Claude Sonnet 4.5"},"options":{}},"credentials":{"anthropicApi":{"id":"S8laStQPC1u3EYuZ","name":"Anthropic account"}},"typeVersion":1.3},{"id":"d868cfe8-ace9-4664-8176-c0a10cbc4b29","name":"Anthropic Model - Reporting Tool","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[1728,832],"parameters":{"model":{"__rl":true,"mode":"list","value":"claude-sonnet-4-5-20250929","cachedResultName":"Claude Sonnet 4.5"},"options":{}},"credentials":{"anthropicApi":{"id":"S8laStQPC1u3EYuZ","name":"Anthropic account"}},"typeVersion":1.3},{"id":"e04719db-ebc2-4434-a641-96ec33c30095","name":"Rights Validation Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[1152,424],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"validationStatus\": {\n      \"type\": \"string\",\n      \"description\": \"Validation result: VALID | INVALID | REQUIRES_REVIEW\"\n    },\n    \"dataSubjectId\": {\n      \"type\": \"string\",\n      \"description\": \"Unique identifier for the data subject\"\n    },\n    \"requestType\": {\n      \"type\": \"string\",\n      \"description\": \"Type of request: ACCESS | DELETION | RECTIFICATION | PORTABILITY | RESTRICTION\"\n    },\n    \"consentStatus\": {\n      \"type\": \"string\",\n      \"description\": \"Current consent status from lookup\"\n    },\n    \"retentionStatus\": {\n      \"type\": \"string\",\n      \"description\": \"Retention policy status from lookup\"\n    },\n    \"complianceViolations\": {\n      \"type\": \"array\",\n      \"description\": \"List of any compliance violations found\"\n    },\n    \"dataMinimizationRequired\": {\n      \"type\": \"boolean\",\n      \"description\": \"Whether data minimization is required\"\n    },\n    \"reasoning\": {\n      \"type\": \"string\",\n      \"description\": \"Explanation of the validation decision\"\n    }\n  },\n  \"required\": [\"validationStatus\", \"dataSubjectId\", \"requestType\", \"reasoning\"]\n}"},"typeVersion":1.3},{"id":"19043fe7-22be-49cb-b038-88048f426e7e","name":"Governance Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[2000,624],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"actionType\": {\n      \"type\": \"string\",\n      \"description\": \"Action to take: FULFILLMENT | REGULATORY_REPORT | ESCALATION\"\n    },\n    \"dataSubjectId\": {\n      \"type\": \"string\",\n      \"description\": \"Unique identifier for the data subject\"\n    },\n    \"fulfillmentActions\": {\n      \"type\": \"array\",\n      \"description\": \"List of specific fulfillment actions to execute\"\n    },\n    \"reportRequired\": {\n      \"type\": \"boolean\",\n      \"description\": \"Whether regulatory report is required\"\n    },\n    \"escalationReason\": {\n      \"type\": \"string\",\n      \"description\": \"Reason for compliance escalation if applicable\"\n    },\n    \"dataMinimizationApplied\": {\n      \"type\": \"boolean\",\n      \"description\": \"Whether data minimization was applied\"\n    },\n    \"auditLog\": {\n      \"type\": \"array\",\n      \"description\": \"Audit trail of governance decisions\"\n    },\n    \"reasoning\": {\n      \"type\": \"string\",\n      \"description\": \"Explanation of the governance decision\"\n    }\n  },\n  \"required\": [\"actionType\", \"dataSubjectId\", \"reasoning\"]\n}"},"typeVersion":1.3},{"id":"cf5239e7-1b4d-4cf2-b66f-293803a55d68","name":"Consent Tool Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[672,640],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"consentStatus\": {\n      \"type\": \"string\",\n      \"description\": \"Current consent status\"\n    },\n    \"legalBasis\": {\n      \"type\": \"string\",\n      \"description\": \"Legal basis for processing\"\n    },\n    \"consentDate\": {\n      \"type\": \"string\",\n      \"description\": \"ISO timestamp of consent\"\n    },\n    \"expirationDate\": {\n      \"type\": \"string\",\n      \"description\": \"ISO timestamp of expiration or null\"\n    },\n    \"purposes\": {\n      \"type\": \"array\",\n      \"description\": \"Processing purposes\"\n    },\n    \"violations\": {\n      \"type\": \"array\",\n      \"description\": \"Consent violations found\"\n    }\n  },\n  \"required\": [\"consentStatus\", \"legalBasis\"]\n}"},"typeVersion":1.3},{"id":"09f120e6-7599-49ac-9793-1a01655f5bd8","name":"Retention Tool Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[1008,632],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"retentionStatus\": {\n      \"type\": \"string\",\n      \"description\": \"Retention status\"\n    },\n    \"dataCategories\": {\n      \"type\": \"array\",\n      \"description\": \"Data categories and retention periods\"\n    },\n    \"expirationDate\": {\n      \"type\": \"string\",\n      \"description\": \"ISO timestamp of expiration\"\n    },\n    \"daysUntilExpiration\": {\n      \"type\": \"number\",\n      \"description\": \"Days remaining\"\n    },\n    \"shouldDelete\": {\n      \"type\": \"boolean\",\n      \"description\": \"Whether data should be deleted\"\n    },\n    \"retentionViolations\": {\n      \"type\": \"array\",\n      \"description\": \"Retention violations\"\n    }\n  },\n  \"required\": [\"retentionStatus\", \"shouldDelete\"]\n}"},"typeVersion":1.3},{"id":"68e537d6-defc-4b38-b2a1-399b16076e24","name":"Reporting Tool Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[1856,832],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"reportId\": {\n      \"type\": \"string\",\n      \"description\": \"Unique report identifier\"\n    },\n    \"reportType\": {\n      \"type\": \"string\",\n      \"description\": \"Type of regulatory report\"\n    },\n    \"dataSubjectId\": {\n      \"type\": \"string\",\n      \"description\": \"Subject of the report\"\n    },\n    \"requestDate\": {\n      \"type\": \"string\",\n      \"description\": \"ISO timestamp\"\n    },\n    \"actionsTaken\": {\n      \"type\": \"array\",\n      \"description\": \"Fulfillment actions\"\n    },\n    \"dataMinimizationApplied\": {\n      \"type\": \"boolean\",\n      \"description\": \"Data minimization applied\"\n    },\n    \"auditTrail\": {\n      \"type\": \"array\",\n      \"description\": \"Audit events\"\n    },\n    \"complianceStatus\": {\n      \"type\": \"string\",\n      \"description\": \"Compliance status\"\n    }\n  },\n  \"required\": [\"reportId\", \"reportType\", \"complianceStatus\"]\n}"},"typeVersion":1.3},{"id":"baec1fc6-0aaf-48b8-a351-0aec70451c2e","name":"Route by Validation Status","type":"n8n-nodes-base.switch","position":[1360,184],"parameters":{"rules":{"values":[{"outputKey":"Valid","conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.validationStatus }}","rightValue":"VALID"}]},"renameOutput":true},{"outputKey":"Invalid","conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"or","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.validationStatus }}","rightValue":"INVALID"},{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.validationStatus }}","rightValue":"REQUIRES_REVIEW"}]},"renameOutput":true}]},"options":{"fallbackOutput":"extra","renameFallbackOutput":"Unhandled"}},"typeVersion":3.4},{"id":"38312ba0-546d-4bbb-97da-8feab99dc543","name":"Route by Action Type","type":"n8n-nodes-base.switch","position":[2240,352],"parameters":{"rules":{"values":[{"outputKey":"Fulfillment","conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.actionType }}","rightValue":"FULFILLMENT"}]},"renameOutput":true},{"outputKey":"Regulatory Report","conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.actionType }}","rightValue":"REGULATORY_REPORT"}]},"renameOutput":true},{"outputKey":"Escalation","conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.actionType }}","rightValue":"ESCALATION"}]},"renameOutput":true}]},"options":{"fallbackOutput":"extra","renameFallbackOutput":"Unhandled"}},"typeVersion":3.4},{"id":"cfc63ff8-dbb9-40ce-bf37-585bed9a65a5","name":"Execute Fulfillment API","type":"n8n-nodes-base.httpRequest","position":[2432,400],"parameters":{"url":"={{ $('Workflow Configuration').first().json.fulfillmentApiUrl }}","method":"POST","options":{},"jsonBody":"={{ { dataSubjectId: $json.output.dataSubjectId, actions: $json.output.fulfillmentActions, timestamp: $now.toISO(), dataMinimizationApplied: $json.output.dataMinimizationApplied } }}","sendBody":true,"specifyBody":"json"},"typeVersion":4.3},{"id":"c93bcc45-d34d-4445-aef4-cc241d1850d3","name":"Log Validation Results","type":"n8n-nodes-base.dataTable","position":[1792,176],"parameters":{"options":{},"dataTableId":{"__rl":true,"mode":"name","value":"validation_results"}},"typeVersion":1.1},{"id":"d13ee69f-1dd2-4624-84ca-2d8de67f921f","name":"Log Governance Actions","type":"n8n-nodes-base.dataTable","position":[2880,496],"parameters":{"options":{},"dataTableId":{"__rl":true,"mode":"name","value":"governance_actions"}},"typeVersion":1.1},{"id":"c9f3130b-8518-4d6c-9c45-b9fee4aae73c","name":"Log Compliance Escalations","type":"n8n-nodes-base.dataTable","position":[2656,112],"parameters":{"options":{},"dataTableId":{"__rl":true,"mode":"name","value":"compliance_escalations"}},"typeVersion":1.1},{"id":"3e747aac-22f5-409d-a1b4-b03a5d4bcf51","name":"Notify Compliance Team","type":"n8n-nodes-base.slack","position":[2432,208],"webhookId":"dd88ea37-c2ca-4b85-921a-a1ae50688828","parameters":{"text":"=🚨 COMPLIANCE ESCALATION ALERT\n\nData Subject ID: {{ $json.output.dataSubjectId }}\nRequest Type: {{ $json.output.requestType || \"N/A\" }}\nEscalation Reason: {{ $json.output.escalationReason }}\n\nCompliance Violations: {{ $json.output.complianceViolations ? $json.output.complianceViolations.join(\", \") : \"None\" }}\n\nAudit Log:\n{{ $json.output.auditLog ? $json.output.auditLog.map(log => `- ${log}`).join(\"\\n\") : \"No audit entries\" }}\n\nTimestamp: {{ $now.toISO() }}\n\nImmediate review required.","select":"channel","channelId":{"__rl":true,"mode":"id","value":"={{ $('Workflow Configuration').first().json.complianceSlackChannel }}"},"otherOptions":{},"authentication":"oAuth2"},"credentials":{"slackOAuth2Api":{"id":"d34b1ayEBbvZm2lT","name":"Slack account"}},"typeVersion":2.4},{"id":"39169f06-3bc2-453c-b170-119f73576fb7","name":"Send Regulatory Report","type":"n8n-nodes-base.emailSend","position":[2432,592],"webhookId":"b2c137cb-4672-4542-8557-9224b0f34fb1","parameters":{"html":"=<html>\n<body>\n<h2>Regulatory Compliance Report</h2>\n<p><strong>Report ID:</strong> {{ $json.reportId || \"N/A\" }}</p>\n<p><strong>Report Type:</strong> {{ $json.reportType || \"N/A\" }}</p>\n<p><strong>Data Subject ID:</strong> {{ $json.output.dataSubjectId }}</p>\n<p><strong>Request Date:</strong> {{ $json.requestDate || $now.toISO() }}</p>\n<p><strong>Compliance Status:</strong> {{ $json.complianceStatus || \"Pending\" }}</p>\n\n<h3>Actions Taken</h3>\n<ul>\n{{ $json.output.fulfillmentActions ? $json.output.fulfillmentActions.map(action => `<li>${action}</li>`).join(\"\") : \"<li>No actions recorded</li>\" }}\n</ul>\n\n<h3>Data Minimization</h3>\n<p>Data minimization applied: {{ $json.output.dataMinimizationApplied ? \"Yes\" : \"No\" }}</p>\n\n<h3>Audit Trail</h3>\n<ul>\n{{ $json.output.auditLog ? $json.output.auditLog.map(log => `<li>${log}</li>`).join(\"\") : \"<li>No audit entries</li>\" }}\n</ul>\n\n<p><em>This report was generated automatically by the Data Rights and Governance Compliance system.</em></p>\n</body>\n</html>","options":{},"subject":"=Regulatory Compliance Report - {{ $json.output.dataSubjectId }}","toEmail":"={{ $('Workflow Configuration').first().json.regulatoryEmail }}","fromEmail":"<__PLACEHOLDER_VALUE__Sender email address for regulatory reports__>"},"typeVersion":2.1},{"id":"e23a4148-b9cb-4e70-95fa-e35a35170f8f","name":"Merge Action Branches","type":"n8n-nodes-base.merge","position":[2656,480],"parameters":{"mode":"combine","options":{},"combineBy":"combineByPosition","numberInputs":3},"typeVersion":3.2},{"id":"60be8ef7-3c14-4fb4-9cc6-ad7c5a71e165","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[1104,-432],"parameters":{"color":4,"width":416,"height":368,"content":"## Prerequisites\nOpenAI/Nvidia/Anthropic API credentials for AI validation models\n## Use Cases\nFinancial institutions ensuring transaction compliance monitoring, \n## Customization\nAdjust AI model parameters for industry-specific compliance rules\n## Benefits\nReduces compliance review time by 80%, eliminates manual validation errors"},"typeVersion":1},{"id":"6ac89aad-4d9c-46ef-aade-1b7e392adba8","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[608,-352],"parameters":{"width":464,"height":288,"content":"## Setup Steps\n1. Configure Data Ingestion Webhook trigger endpoint\n2. Connect Workflow Execution Configuration node with validation parameters\n3. Set up Fetch Validation Rules node with OpenAI/Nvidia API credentials for AI model access\n4. Configure parallel AI model nodes with respective API credentials\n5. Connect Route by Validation Status node with branching logic\n6. Set up Governance Documentation node with document template configurations\n7. Configure parallel action nodes\n"},"typeVersion":1},{"id":"20c0661e-b81a-48e9-8afb-c96a82fdef55","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-128,-352],"parameters":{"width":704,"height":288,"content":"## How It Works\nThis workflow automates comprehensive data validation and regulatory compliance reporting through intelligent AI-driven analysis. Designed for compliance officers, data governance teams, and regulatory affairs departments, it solves the critical challenge of ensuring data quality while generating audit-ready compliance documentation across multiple regulatory frameworks.The system receives data through webhook triggers, performs multi-layered validation using AI models to detect anomalies and policy violations, and intelligently routes findings based on validation outcomes. It orchestrates parallel processing streams for content lookup, retention policy enforcement, and rejection handling. The workflow merges validation results, generates governance documentation, and manages compliance notifications through multiple channels. By automating action routing based on compliance status and maintaining detailed audit logs across validation, governance, and action streams, it ensures regulatory adherence while eliminating manual review bottlenecks."},"typeVersion":1},{"id":"26646735-d229-4578-851d-e28a938e87f7","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[2208,0],"parameters":{"color":7,"width":864,"height":960,"content":"## Multi-Stream Logging\n**What:** Maintains synchronized audit trails across validation results, governance documentation, and compliance actions\n**Why:** Creates complete regulatory audit trail required for compliance verification and regulatory inquiries"},"typeVersion":1},{"id":"e1012c47-3eac-4317-a715-b2d39291f209","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[1328,16],"parameters":{"color":7,"width":848,"height":976,"content":"## Governance Routing\n**What:** Routes validated data based on compliance status to appropriate documentation and reporting streams\n**Why:** Ensures compliant data receives proper governance documentation while violations trigger regulatory reporting workflows"},"typeVersion":1},{"id":"a710f6c7-4d94-46bb-865b-31783c90c9af","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[-112,16],"parameters":{"color":7,"width":1408,"height":816,"content":"## AI Validation\n**What:** Processes incoming data through parallel AI models for content analysis, retention compliance, and rejection detection\n**Why:** Ensures comprehensive validation coverage by leveraging specialized AI models for different compliance dimensions\n"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"availableInMCP":false,"executionOrder":"v1"},"versionId":"223eecae-b708-4f9d-82ad-f125d9bb6c5b","connections":{"Governance Agent":{"main":[[{"node":"Route by Action Type","type":"main","index":0}]]},"Consent Lookup Tool":{"ai_tool":[[{"node":"Rights Validation Agent","type":"ai_tool","index":0}]]},"Route by Action Type":{"main":[[{"node":"Execute Fulfillment API","type":"main","index":0}],[{"node":"Send Regulatory Report","type":"main","index":0}],[{"node":"Notify Compliance Team","type":"main","index":0}]]},"Merge Action Branches":{"main":[[{"node":"Log Governance Actions","type":"main","index":0}]]},"Retention Policy Tool":{"ai_tool":[[{"node":"Rights Validation Agent","type":"ai_tool","index":0}]]},"Notify Compliance Team":{"main":[[{"node":"Merge Action Branches","type":"main","index":2},{"node":"Log Compliance Escalations","type":"main","index":0}]]},"Send Regulatory Report":{"main":[[{"node":"Merge Action Branches","type":"main","index":1}]]},"Workflow Configuration":{"main":[[{"node":"Rights Validation Agent","type":"main","index":0}]]},"Execute Fulfillment API":{"main":[[{"node":"Merge Action Branches","type":"main","index":0}]]},"Rights Validation Agent":{"main":[[{"node":"Route by Validation Status","type":"main","index":0}]]},"Governance Output Parser":{"ai_outputParser":[[{"node":"Governance Agent","type":"ai_outputParser","index":0}]]},"Regulatory Reporting Tool":{"ai_tool":[[{"node":"Governance Agent","type":"ai_tool","index":0}]]},"Consent Tool Output Parser":{"ai_outputParser":[[{"node":"Consent Lookup Tool","type":"ai_outputParser","index":0}]]},"Route by Validation Status":{"main":[[{"node":"Governance Agent","type":"main","index":0}],[{"node":"Log Validation Results","type":"main","index":0}]]},"Data Rights Request Webhook":{"main":[[{"node":"Workflow Configuration","type":"main","index":0}]]},"Reporting Tool Output Parser":{"ai_outputParser":[[{"node":"Regulatory Reporting Tool","type":"ai_outputParser","index":0}]]},"Retention Tool Output Parser":{"ai_outputParser":[[{"node":"Retention Policy Tool","type":"ai_outputParser","index":0}]]},"Anthropic Model - Consent Tool":{"ai_languageModel":[[{"node":"Consent Lookup Tool","type":"ai_languageModel","index":0}]]},"Anthropic Model - Rights Agent":{"ai_languageModel":[[{"node":"Rights Validation Agent","type":"ai_languageModel","index":0}]]},"Rights Validation Output Parser":{"ai_outputParser":[[{"node":"Rights Validation Agent","type":"ai_outputParser","index":0}]]},"Anthropic Model - Reporting Tool":{"ai_languageModel":[[{"node":"Regulatory Reporting Tool","type":"ai_languageModel","index":0}]]},"Anthropic Model - Retention Tool":{"ai_languageModel":[[{"node":"Retention Policy Tool","type":"ai_languageModel","index":0}]]},"Anthropic Model - Governance Agent":{"ai_languageModel":[[{"node":"Governance Agent","type":"ai_languageModel","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":32,"nodeTypes":{"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.slack":{"count":1},"n8n-nodes-base.switch":{"count":2},"n8n-nodes-base.webhook":{"count":1},"n8n-nodes-base.dataTable":{"count":3},"n8n-nodes-base.emailSend":{"count":1},"n8n-nodes-base.stickyNote":{"count":6},"n8n-nodes-base.httpRequest":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":2},"@n8n/n8n-nodes-langchain.agentTool":{"count":3},"@n8n/n8n-nodes-langchain.lmChatAnthropic":{"count":5},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":5}}},"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":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"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/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/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"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/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/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"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/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"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/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"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/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/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"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-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/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"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.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"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":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":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":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":1145,"icon":"file:anthropic.svg","name":"@n8n/n8n-nodes-langchain.lmChatAnthropic","codex":{"data":{"alias":["claude","sonnet","opus"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatanthropic/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"Anthropic Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzdEN0Q4NyIgZD0iTTMyLjczIDBoLTYuOTQ1TDM4LjQ1IDMyaDYuOTQ1ek0xMi42NjUgMCAwIDMyaDcuMDgybDIuNTktNi43MmgxMy4yNWwyLjU5IDYuNzJoNy4wODJMMTkuOTI5IDB6bS0uNzAyIDE5LjMzNyA0LjMzNC0xMS4yNDYgNC4zMzQgMTEuMjQ2eiIvPjwvc3ZnPg=="},"displayName":"Anthropic 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":49,"name":"AI Summarization"}],"image":[]}}