{"workflow":{"id":13157,"name":"Validate policy compliance and orchestrate approvals with GPT-4o and Slack","views":37,"recentViews":0,"totalViews":37,"createdAt":"2026-02-01T15:47:05.501Z","description":"## How It Works\nThis workflow automates policy compliance validation and approval orchestration through intelligent AI-driven assessment. Designed for compliance departments, legal teams, and governance officers, it solves the critical challenge of ensuring policy adherence while managing approval workflows that require human oversight for critical decisions.The system operates on scheduled intervals, fetching data from policy databases and audit program performance metrics, then merging these sources for comprehensive compliance analysis. It employs a dual-agent AI framework for policy validation and execution orchestration, detecting violations, assessing severity, and determining required approval actions. The workflow intelligently routes findings based on compliance status, escalating violations through human approval checkpoints while maintaining detailed audit trails. By coordinating multi-channel notifications through email and Slack alongside synchronized logging, it ensures stakeholders receive timely alerts while creating complete traceability for regulatory examinations and internal audits.\n\n## Setup Steps\n1. Configure Schedule Trigger with policy review frequency\n2. Connect Workflow Configuration node with compliance parameters\n3. Set up Fetch Policy Data and Fetch Audit Program Performance Data nodes\n4. Configure Merge Data Sources node for consolidation logic\n5. Connect Policy Validation Agent with OpenAI/Claude API credentials\n6. Set up validation processing\n7. Configure Route by Compliance Status node with severity classification\n8. Connect Execution Orchestration Agent with AI API credentials\n9. Set up orchestration processing \n\n## Prerequisites\nOpenAI/Claude API credentials for AI validation agents, policy management system API access\n## Use Cases\nFinancial institutions validating AML policy compliance, healthcare organizations ensuring HIPAA adherence\n## Customization\nAdjust validation criteria for industry-specific regulations\n## Benefits\nReduces compliance review cycles by 70%, eliminates manual policy monitoring","workflow":{"id":"kIfVRi_cTubmvXBwUyGOI","meta":{"instanceId":"b91e510ebae4127f953fd2f5f8d40d58ca1e71c746d4500c12ae86aad04c1502"},"name":"Intelligent Policy Validation and Compliance Orchestration with Oversight","tags":[],"nodes":[{"id":"0ed591a0-35a1-4ea8-ac57-f046aa63d10e","name":"Schedule Trigger","type":"n8n-nodes-base.scheduleTrigger","position":[0,192],"parameters":{"rule":{"interval":[{"triggerAtHour":9}]}},"typeVersion":1.3},{"id":"de918e2e-cd99-4f33-aa8c-93824e9e3376","name":"Workflow Configuration","type":"n8n-nodes-base.set","position":[224,192],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"policyDataApiUrl","type":"string","value":"<__PLACEHOLDER_VALUE__Policy Data API Endpoint URL__>"},{"id":"id-2","name":"performanceDataApiUrl","type":"string","value":"<__PLACEHOLDER_VALUE__Program Performance Data API Endpoint URL__>"},{"id":"id-3","name":"complianceReportEmail","type":"string","value":"<__PLACEHOLDER_VALUE__Compliance Report Recipient Email__>"},{"id":"id-4","name":"stakeholderSlackChannel","type":"string","value":"<__PLACEHOLDER_VALUE__Stakeholder Slack Channel ID__>"},{"id":"id-5","name":"criticalIssuesEmail","type":"string","value":"<__PLACEHOLDER_VALUE__Critical Issues Escalation Email__>"},{"id":"id-6","name":"auditTableName","type":"string","value":"policy_audit_trail"},{"id":"id-7","name":"decisionTableName","type":"string","value":"decision_traceability"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"c6b5dc73-f1c2-4395-adaf-e19920350a13","name":"Fetch Policy Data","type":"n8n-nodes-base.httpRequest","position":[448,96],"parameters":{"url":"={{ $('Workflow Configuration').first().json.policyDataApiUrl }}","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.3},{"id":"a27456be-810b-49b5-af2c-388a4e422855","name":"Fetch Program Performance Data","type":"n8n-nodes-base.httpRequest","position":[448,288],"parameters":{"url":"={{ $('Workflow Configuration').first().json.performanceDataApiUrl }}","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.3},{"id":"a24fc8f7-0d7e-4fa5-b651-b17f1a206470","name":"Merge Data Sources","type":"n8n-nodes-base.merge","position":[672,192],"parameters":{"mode":"combine","options":{},"combineBy":"combineByPosition"},"typeVersion":3.2},{"id":"bc532a4c-f04f-40e2-bf47-31ef40f6822b","name":"OpenAI Model - Policy Validation","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[904,416],"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":"3602fe37-6b12-4819-a8c6-0ba6c3c49d80","name":"Structured Output - Policy Validation","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[1088,416],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"complianceStatus\": {\n      \"type\": \"string\",\n      \"description\": \"Overall compliance status: Compliant, Non-Compliant, or Critical\"\n    },\n    \"policyViolations\": {\n      \"type\": \"array\",\n      \"description\": \"List of identified policy violations\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"policyId\": {\"type\": \"string\"},\n          \"violationType\": {\"type\": \"string\"},\n          \"severity\": {\"type\": \"string\"},\n          \"description\": {\"type\": \"string\"}\n        }\n      }\n    },\n    \"performanceMetrics\": {\n      \"type\": \"object\",\n      \"description\": \"Key performance indicators\",\n      \"properties\": {\n        \"adherenceScore\": {\"type\": \"number\"},\n        \"riskLevel\": {\"type\": \"string\"},\n        \"programEffectiveness\": {\"type\": \"number\"}\n      }\n    },\n    \"recommendations\": {\n      \"type\": \"array\",\n      \"description\": \"Recommended corrective actions\",\n      \"items\": {\"type\": \"string\"}\n    },\n    \"reasoning\": {\n      \"type\": \"string\",\n      \"description\": \"Detailed reasoning for the compliance assessment\"\n    }\n  },\n  \"required\": [\"complianceStatus\", \"policyViolations\", \"performanceMetrics\", \"recommendations\", \"reasoning\"]\n}"},"typeVersion":1.3},{"id":"c2f838e7-234c-4825-ae4d-137438e285f3","name":"Policy Validation Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[896,192],"parameters":{"text":"=Policy Data: {{ JSON.stringify($json.policyData) }}\n\nProgram Performance Data: {{ JSON.stringify($json.performanceData) }}","options":{"systemMessage":"You are a Policy Validation Agent specialized in public administration compliance, program performance analysis, and policy adherence assessment.\n\nYour task is to:\n1. Analyze structured policy data and program performance signals\n2. Identify policy violations, non-compliance issues, and adherence gaps\n3. Assess risk levels based on severity, impact, and regulatory requirements\n4. Calculate performance metrics including adherence scores and program effectiveness\n5. Classify compliance status as: Compliant, Non-Compliant, or Critical\n6. Provide detailed reasoning for all assessments\n7. Recommend specific corrective actions prioritized by urgency and impact\n\nCritical Classification Criteria:\n- Critical: Severe violations with legal/regulatory consequences, high public risk, or systemic failures\n- Non-Compliant: Policy violations requiring corrective action but not immediately critical\n- Compliant: All policies met, performance within acceptable thresholds\n\nEnsure all assessments are evidence-based, traceable, and aligned with public accountability standards."},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"defc9f6a-67e1-480e-b319-2182d2785019","name":"Route by Compliance Status","type":"n8n-nodes-base.switch","position":[1248,176],"parameters":{"rules":{"values":[{"outputKey":"Compliant","conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.complianceStatus }}","rightValue":"Compliant"}]},"renameOutput":true},{"outputKey":"Critical","conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.complianceStatus }}","rightValue":"Critical"}]},"renameOutput":true}]},"options":{"fallbackOutput":"extra","renameFallbackOutput":"Non-Compliant"}},"typeVersion":3.4},{"id":"523343db-1365-4287-a7ac-fed012a13dd0","name":"OpenAI Model - Orchestration","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[1480,540],"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":"49dc34cb-e583-45bc-8b02-635345bbd184","name":"Structured Output - Orchestration","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[1696,544],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"reportSummary\": {\n      \"type\": \"string\",\n      \"description\": \"Executive summary of compliance findings\"\n    },\n    \"stakeholderNotification\": {\n      \"type\": \"string\",\n      \"description\": \"Message for stakeholder notification\"\n    },\n    \"escalationRequired\": {\n      \"type\": \"boolean\",\n      \"description\": \"Whether escalation to senior leadership is required\"\n    },\n    \"actionPlan\": {\n      \"type\": \"array\",\n      \"description\": \"Prioritized action items\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"action\": {\"type\": \"string\"},\n          \"priority\": {\"type\": \"string\"},\n          \"owner\": {\"type\": \"string\"},\n          \"deadline\": {\"type\": \"string\"}\n        }\n      }\n    },\n    \"auditNotes\": {\n      \"type\": \"string\",\n      \"description\": \"Detailed notes for audit trail\"\n    },\n    \"publicAccountabilityStatement\": {\n      \"type\": \"string\",\n      \"description\": \"Statement for public accountability and transparency\"\n    }\n  },\n  \"required\": [\"reportSummary\", \"stakeholderNotification\", \"escalationRequired\", \"actionPlan\", \"auditNotes\", \"publicAccountabilityStatement\"]\n}"},"typeVersion":1.3},{"id":"4dcf5309-cbc7-4b51-9364-9dbbfeb1d942","name":"Execution Orchestration Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1472,316],"parameters":{"text":"=Compliance Assessment: {{ JSON.stringify($json) }}","options":{"systemMessage":"You are an Execution Orchestration Agent responsible for coordinating compliance reporting, stakeholder notifications, escalation procedures, and decision traceability in public administration.\n\nYour task is to:\n1. Generate comprehensive compliance reports with executive summaries\n2. Prepare stakeholder notifications tailored to different audiences (leadership, program managers, public)\n3. Determine escalation requirements based on severity and impact\n4. Create prioritized action plans with clear ownership and deadlines\n5. Document detailed audit notes for full traceability\n6. Draft public accountability statements ensuring transparency\n7. Coordinate multi-channel notifications (email, Slack, escalation)\n\nPrinciples:\n- Maintain strict governance and auditability in all communications\n- Ensure public accountability and transparency\n- Prioritize actions by urgency, impact, and regulatory requirements\n- Provide clear ownership and deadlines for all action items\n- Document all decisions with full reasoning for audit purposes\n\nYour outputs will be used for reporting, notifications, and permanent audit records."},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"fb565c24-474a-4546-a633-856a1c8c1d73","name":"Wait for Human Approval","type":"n8n-nodes-base.wait","position":[1824,316],"webhookId":"113bb419-3ba5-454f-8afb-e6feaec8e0bf","parameters":{"resume":"webhook","options":{},"resumeAmount":24,"limitWaitTime":true},"typeVersion":1.1},{"id":"1ddeec9b-4193-45da-8b36-9bb0e90bc569","name":"Store Audit Trail","type":"n8n-nodes-base.dataTable","position":[2048,316],"parameters":{"columns":{"value":null,"mappingMode":"autoMapInputData"},"options":{},"dataTableId":{"__rl":true,"mode":"name","value":"={{ $('Workflow Configuration').first().json.auditTableName }}"}},"typeVersion":1.1},{"id":"838d2e52-5b90-4bba-9c8b-9c18106d2f61","name":"Send Compliance Report","type":"n8n-nodes-base.emailSend","position":[2272,220],"webhookId":"42e13624-75c0-44f0-a804-13c9ae6ba990","parameters":{"html":"=<html>\n<body>\n<h2>Policy Compliance Report</h2>\n<p><strong>Date:</strong> {{ $now.toFormat('yyyy-MM-dd HH:mm') }}</p>\n<p><strong>Compliance Status:</strong> {{ $json.complianceStatus }}</p>\n\n<h3>Executive Summary</h3>\n<p>{{ $json.reportSummary }}</p>\n\n<h3>Action Plan</h3>\n<ul>\n{{ $json.actionPlan.map(item => `<li><strong>${item.priority}</strong>: ${item.action} (Owner: ${item.owner}, Deadline: ${item.deadline})</li>`).join('') }}\n</ul>\n\n<h3>Public Accountability Statement</h3>\n<p>{{ $json.publicAccountabilityStatement }}</p>\n\n<p>This report has been logged for audit purposes and stakeholders have been notified.</p>\n</body>\n</html>","options":{},"subject":"=Policy Compliance Report - {{ $now.toFormat('yyyy-MM-dd') }}","toEmail":"={{ $('Workflow Configuration').first().json.complianceReportEmail }}","fromEmail":"<__PLACEHOLDER_VALUE__Sender Email Address__>"},"typeVersion":2.1},{"id":"b23e0d72-0916-4381-abd7-6b105f19fa38","name":"Notify Stakeholders - Slack","type":"n8n-nodes-base.slack","position":[2272,412],"webhookId":"30f27a5f-2598-4eee-b22a-10a3f45bb394","parameters":{"text":"=📊 *Policy Compliance Update*\n\n*Status:* {{ $json.complianceStatus }}\n*Date:* {{ $now.toFormat('yyyy-MM-dd HH:mm') }}\n\n*Stakeholder Notification:*\n{{ $json.stakeholderNotification }}\n\n*Action Items:*\n{{ $json.actionPlan.map(item => `• [${item.priority}] ${item.action} - ${item.owner} (Due: ${item.deadline})`).join('\\n') }}\n\nFull compliance report has been sent via email.","select":"channel","channelId":{"__rl":true,"mode":"id","value":"={{ $('Workflow Configuration').first().json.stakeholderSlackChannel }}"},"otherOptions":{},"authentication":"oAuth2"},"credentials":{"slackOAuth2Api":{"id":"d34b1ayEBbvZm2lT","name":"Slack account"}},"typeVersion":2.4},{"id":"0ca4ac76-7792-4c4d-b857-b1b9f35beee3","name":"Escalate Critical Issues","type":"n8n-nodes-base.emailSend","position":[2272,64],"webhookId":"dbaefeb2-6ff1-40be-a324-38760e85524f","parameters":{"html":"=<html>\n<body style='font-family: Arial, sans-serif;'>\n<div style='background-color: #dc3545; color: white; padding: 20px;'>\n<h2>🚨 CRITICAL COMPLIANCE ISSUE</h2>\n</div>\n\n<div style='padding: 20px;'>\n<p><strong>Date:</strong> {{ $now.toFormat('yyyy-MM-dd HH:mm') }}</p>\n<p><strong>Status:</strong> <span style='color: #dc3545; font-weight: bold;'>{{ $json.complianceStatus }}</span></p>\n\n<h3>Policy Violations</h3>\n<ul>\n{{ $json.policyViolations.map(v => `<li><strong>${v.severity}</strong>: ${v.violationType} - ${v.description} (Policy ID: ${v.policyId})</li>`).join('') }}\n</ul>\n\n<h3>Risk Assessment</h3>\n<p><strong>Risk Level:</strong> {{ $json.performanceMetrics.riskLevel }}</p>\n<p><strong>Adherence Score:</strong> {{ $json.performanceMetrics.adherenceScore }}</p>\n\n<h3>Immediate Actions Required</h3>\n<ul>\n{{ $json.recommendations.map(r => `<li>${r}</li>`).join('') }}\n</ul>\n\n<h3>Reasoning</h3>\n<p>{{ $json.reasoning }}</p>\n\n<p style='background-color: #fff3cd; padding: 15px; border-left: 4px solid #ffc107;'>\n<strong>⚠️ This issue requires immediate senior leadership attention and corrective action.</strong>\n</p>\n</div>\n</body>\n</html>","options":{},"subject":"=🚨 CRITICAL COMPLIANCE ISSUE - Immediate Action Required","toEmail":"={{ $('Workflow Configuration').first().json.criticalIssuesEmail }}","fromEmail":"<__PLACEHOLDER_VALUE__Sender Email Address__>"},"typeVersion":2.1},{"id":"500b0d27-305f-43ec-ad1e-6b5c84151be3","name":"Log Decision Traceability","type":"n8n-nodes-base.dataTable","position":[2720,220],"parameters":{"columns":{"value":null,"mappingMode":"autoMapInputData"},"options":{},"dataTableId":{"__rl":true,"mode":"name","value":"={{ $('Workflow Configuration').first().json.decisionTableName }}"}},"typeVersion":1.1},{"id":"2bcdc993-686e-443d-b3ae-d0249a0cf0f2","name":"Merge Notification Paths","type":"n8n-nodes-base.merge","position":[2496,204],"parameters":{"mode":"combine","options":{},"combineBy":"combineByPosition","numberInputs":3},"typeVersion":3.2},{"id":"b7eff7b4-a672-4553-b3e8-a451d729b581","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[1424,-432],"parameters":{"color":6,"width":528,"height":336,"content":"## Prerequisites\nOpenAI/Claude API credentials for AI validation agents, policy management system API access\n## Use Cases\nFinancial institutions validating AML policy compliance, healthcare organizations ensuring HIPAA adherence\n## Customization\nAdjust validation criteria for industry-specific regulations\n## Benefits\nReduces compliance review cycles by 70%, eliminates manual policy monitoring"},"typeVersion":1},{"id":"bdd8cd22-5e50-462c-87ac-5f1e2bdf0cbb","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[816,-384],"parameters":{"width":544,"height":272,"content":"\n## Setup Steps\n1. Configure Schedule Trigger with policy review frequency\n2. Connect Workflow Configuration node with compliance parameters\n3. Set up Fetch Policy Data and Fetch Audit Program Performance Data nodes\n4. Configure Merge Data Sources node for consolidation logic\n5. Connect Policy Validation Agent with OpenAI/Claude API credentials\n6. Set up validation processing\n7. Configure Route by Compliance Status node with severity classification\n8. Connect Execution Orchestration Agent with AI API credentials\n9. Set up orchestration processing "},"typeVersion":1},{"id":"2a06a961-a217-4295-93f0-c0dc49e04fc6","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-32,-368],"parameters":{"width":800,"height":272,"content":"## How It Works\nThis workflow automates policy compliance validation and approval orchestration through intelligent AI-driven assessment. Designed for compliance departments, legal teams, and governance officers, it solves the critical challenge of ensuring policy adherence while managing approval workflows that require human oversight for critical decisions.The system operates on scheduled intervals, fetching data from policy databases and audit program performance metrics, then merging these sources for comprehensive compliance analysis. It employs a dual-agent AI framework for policy validation and execution orchestration, detecting violations, assessing severity, and determining required approval actions. The workflow intelligently routes findings based on compliance status, escalating violations through human approval checkpoints while maintaining detailed audit trails. By coordinating multi-channel notifications through email and Slack alongside synchronized logging, it ensures stakeholders receive timely alerts while creating complete traceability for regulatory examinations and internal audits."},"typeVersion":1},{"id":"dd96ab5b-a873-42bf-ac23-f1a62914f453","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[1440,-64],"parameters":{"color":7,"width":1456,"height":816,"content":"## Human-Gated Approval Routing\n**What:** Routes compliance findings through status-based workflows requiring human approval for critical violations with multi-channel stakeholder notifications\n**Why:** Balances automation efficiency with governance requirements ensuring high-risk decisions receive appropriate oversight while routine compliance logs automatically"},"typeVersion":1},{"id":"2606bbcf-c32f-417e-a7e4-fb2255af89a4","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[848,-48],"parameters":{"color":7,"width":576,"height":704,"content":"## Dual-Agent Compliance Framework\n**What:** Processes merged data through AI agents for policy validation and execution orchestration with specialized output parsing\n**Why:** Separates violation detection from remediation planning to ensure objective assessment followed by appropriate action strategies"},"typeVersion":1},{"id":"22067192-3873-4c09-a964-2bebadde4977","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[-48,-48],"parameters":{"color":7,"width":880,"height":688,"content":"\n## Multi-Source Policy Analysis\n**What:** Fetches and merges policy data with audit performance metrics on scheduled intervals for unified compliance monitoring\n**Why:** Ensures comprehensive oversight by correlating policy definitions with actual performance data revealing implementation gaps"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"availableInMCP":false,"executionOrder":"v1"},"versionId":"302fe80a-389f-456d-8352-b17aab6e2a5a","connections":{"Schedule Trigger":{"main":[[{"node":"Workflow Configuration","type":"main","index":0}]]},"Fetch Policy Data":{"main":[[{"node":"Merge Data Sources","type":"main","index":0}]]},"Store Audit Trail":{"main":[[{"node":"Send Compliance Report","type":"main","index":0},{"node":"Notify Stakeholders - Slack","type":"main","index":0}]]},"Merge Data Sources":{"main":[[{"node":"Policy Validation Agent","type":"main","index":0}]]},"Send Compliance Report":{"main":[[{"node":"Merge Notification Paths","type":"main","index":0}]]},"Workflow Configuration":{"main":[[{"node":"Fetch Policy Data","type":"main","index":0},{"node":"Fetch Program Performance Data","type":"main","index":0}]]},"Policy Validation Agent":{"main":[[{"node":"Route by Compliance Status","type":"main","index":0}]]},"Wait for Human Approval":{"main":[[{"node":"Store Audit Trail","type":"main","index":0}]]},"Escalate Critical Issues":{"main":[[{"node":"Merge Notification Paths","type":"main","index":2}]]},"Merge Notification Paths":{"main":[[{"node":"Log Decision Traceability","type":"main","index":0}]]},"Route by Compliance Status":{"main":[[{"node":"Execution Orchestration Agent","type":"main","index":0}],[{"node":"Escalate Critical Issues","type":"main","index":0}]]},"Notify Stakeholders - Slack":{"main":[[{"node":"Merge Notification Paths","type":"main","index":1}]]},"OpenAI Model - Orchestration":{"ai_languageModel":[[{"node":"Execution Orchestration Agent","type":"ai_languageModel","index":0}]]},"Execution Orchestration Agent":{"main":[[{"node":"Wait for Human Approval","type":"main","index":0}]]},"Fetch Program Performance Data":{"main":[[{"node":"Merge Data Sources","type":"main","index":1}]]},"OpenAI Model - Policy Validation":{"ai_languageModel":[[{"node":"Policy Validation Agent","type":"ai_languageModel","index":0}]]},"Structured Output - Orchestration":{"ai_outputParser":[[{"node":"Execution Orchestration Agent","type":"ai_outputParser","index":0}]]},"Structured Output - Policy Validation":{"ai_outputParser":[[{"node":"Policy Validation Agent","type":"ai_outputParser","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":25,"nodeTypes":{"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.wait":{"count":1},"n8n-nodes-base.merge":{"count":2},"n8n-nodes-base.slack":{"count":1},"n8n-nodes-base.switch":{"count":1},"n8n-nodes-base.dataTable":{"count":2},"n8n-nodes-base.emailSend":{"count":2},"n8n-nodes-base.stickyNote":{"count":6},"n8n-nodes-base.httpRequest":{"count":2},"@n8n/n8n-nodes-langchain.agent":{"count":2},"n8n-nodes-base.scheduleTrigger":{"count":1},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":2},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":2}}},"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":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":514,"icon":"fa:pause-circle","name":"n8n-nodes-base.wait","codex":{"data":{"alias":["pause","sleep","delay","timeout"],"resources":{"generic":[{"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/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.wait/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Wait","color":"#804050"},"iconData":{"icon":"pause-circle","type":"icon"},"displayName":"Wait","typeVersion":1,"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":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":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":[]}}