{"workflow":{"id":13426,"name":"Orchestrate quality event risk assessment with Claude, Gmail and Slack for human approval","views":11,"recentViews":0,"totalViews":11,"createdAt":"2026-02-16T13:24:22.067Z","description":"## How It Works\nThis workflow automates quality event risk assessment through AI-powered multi-agent analysis with mandatory human oversight for critical decisions. Designed for quality managers, compliance officers, and risk analysts in manufacturing, healthcare, or service industries, it solves the challenge of consistent, transparent risk evaluation while maintaining human accountability. When quality events are detected, the system orchestrates specialized AI agents (traceability, risk assessment, and recall evaluation) to analyze different risk dimensions simultaneously. Results are synthesized, routed through human approval gates based on risk severity, and distributed via automated notifications. This ensures high-risk decisions receive proper scrutiny while low-risk events flow efficiently through automated channels.\n\n## Setup Steps\n1. Configure NVIDIA NIM API credentials with Llama-3.1-70B-Instruct model access\n2. Set up routing logic thresholds\n3. Connect Gmail SMTP for executive alerts and Slack webhook for team notifications\n4. Configure human approval nodes with designated approver email addresses\n5. Customize AI agent prompts for industry-specific risk criteria\n\n## Prerequisites\nNVIDIA NIM API key, Gmail account with app password\n## Use Cases\nManufacturing defect escalation, food safety incident management\n## Customization\nModify risk scoring thresholds, add industry-specific compliance agents\n## Benefits\nReduces risk assessment time by 75%, ensures consistent evaluation methodology","workflow":{"id":"_yVwfrnb95ldBe-LCo7IR","meta":{"instanceId":"b91e510ebae4127f953fd2f5f8d40d58ca1e71c746d4500c12ae86aad04c1502"},"name":"Smart quality event risk orchestration for human supervision","tags":[],"nodes":[{"id":"d0a813da-8d9f-4850-8d0a-0f731462d0fa","name":"Quality Event Webhook","type":"n8n-nodes-base.webhook","position":[-2064,192],"webhookId":"0ed02ae4-f712-420a-89cf-a83ba796ac46","parameters":{"path":"quality-event","options":{},"httpMethod":"POST","responseMode":"lastNode"},"typeVersion":2.1},{"id":"da1fcebe-2fce-4f84-8422-40b56f08facf","name":"Workflow Configuration","type":"n8n-nodes-base.set","position":[-1840,192],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"criticalEmailRecipient","type":"string","value":"<__PLACEHOLDER_VALUE__Critical Alert Email Address__>"},{"id":"id-2","name":"executiveEmailRecipient","type":"string","value":"<__PLACEHOLDER_VALUE__Executive Alert Email Address__>"},{"id":"id-3","name":"slackChannelId","type":"string","value":"<__PLACEHOLDER_VALUE__Slack Channel ID__>"},{"id":"id-4","name":"qualityThresholdScore","type":"number","value":85},{"id":"id-5","name":"recallRiskThreshold","type":"string","value":"MEDIUM"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"fc516d0c-c268-4fa8-847a-2bdf893b05a0","name":"Anthropic Model - Traceability Agent","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[-1536,624],"parameters":{"model":{"__rl":true,"mode":"list","value":"claude-sonnet-4-5-20250929"},"options":{}},"credentials":{"anthropicApi":{"id":"S8laStQPC1u3EYuZ","name":"Anthropic account"}},"typeVersion":1.3},{"id":"74c6a08d-5303-47cf-b68d-0a9f48c3206c","name":"Anthropic Model - Recall Orchestration Agent","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[-848,624],"parameters":{"model":{"__rl":true,"mode":"list","value":"claude-sonnet-4-5-20250929"},"options":{}},"credentials":{"anthropicApi":{"id":"S8laStQPC1u3EYuZ","name":"Anthropic account"}},"typeVersion":1.3},{"id":"9dcec906-0644-4517-b1bd-42d2d4045c91","name":"Anthropic Model - Risk Assessment Agent","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[-1184,624],"parameters":{"model":{"__rl":true,"mode":"list","value":"claude-sonnet-4-5-20250929"},"options":{}},"credentials":{"anthropicApi":{"id":"S8laStQPC1u3EYuZ","name":"Anthropic account"}},"typeVersion":1.3},{"id":"fdd45dae-d416-4245-9cd7-0addebd1f4f4","name":"Anthropic Model - Orchestrator","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[-1616,416],"parameters":{"model":{"__rl":true,"mode":"list","value":"claude-sonnet-4-5-20250929"},"options":{}},"credentials":{"anthropicApi":{"id":"S8laStQPC1u3EYuZ","name":"Anthropic account"}},"typeVersion":1.3},{"id":"fce359c9-3708-4933-8576-668c287ae579","name":"Traceability Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-1376,624],"parameters":{"jsonSchemaExample":"{\n  \"validationStatus\": \"VALID\",\n  \"partNumber\": \"PT-12345\",\n  \"batchNumber\": \"BATCH-2024-001\",\n  \"lineageComplete\": true,\n  \"missingData\": [],\n  \"qualityScore\": 95,\n  \"traceabilityChain\": [\"Supplier A\", \"Warehouse B\", \"Assembly Line C\"],\n  \"complianceStatus\": \"COMPLIANT\",\n  \"reasoning\": \"All part, batch, and quality lineage data validated successfully with complete traceability chain.\"\n}"},"typeVersion":1.3},{"id":"d2331fbd-5fc9-43de-ab48-e3de7f8b96e4","name":"Risk Assessment Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-1024,624],"parameters":{"jsonSchemaExample":"{\n  \"riskLevel\": \"HIGH\",\n  \"riskScore\": 85,\n  \"affectedUnits\": 1500,\n  \"customerImpact\": \"CRITICAL\",\n  \"safetyRisk\": true,\n  \"regulatoryRisk\": true,\n  \"financialImpact\": \"$500,000 - $2,000,000\",\n  \"recommendedAction\": \"IMMEDIATE_CONTAINMENT\",\n  \"reasoning\": \"High risk due to safety concerns affecting 1500 units with potential regulatory violations.\"\n}"},"typeVersion":1.3},{"id":"2fe9440e-c74d-41dc-9a5e-465bb0c3e142","name":"Recall Orchestration Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-656,624],"parameters":{"jsonSchemaExample":"{\n  \"recallRequired\": false,\n  \"containmentWorkflow\": [\"Quarantine affected batches\", \"Notify quality team\", \"Initiate root cause analysis\"],\n  \"reportingArtifacts\": [\"Traceability Report\", \"Risk Assessment Summary\", \"Containment Action Plan\"],\n  \"executiveAlertRequired\": true,\n  \"estimatedTimeline\": \"24-48 hours\",\n  \"stakeholders\": [\"Quality Director\", \"Operations Manager\", \"Compliance Officer\"],\n  \"requiresHumanApproval\": true,\n  \"reasoning\": \"Containment workflow prepared but requires executive approval before execution due to high risk level.\"\n}"},"typeVersion":1.3},{"id":"a2bf0bfa-af98-45b8-98a7-6b70f1246726","name":"Orchestrator Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-512,432],"parameters":{"jsonSchemaExample":"{\n  \"overallRiskLevel\": \"HIGH\",\n  \"traceabilityValidated\": true,\n  \"riskAssessmentComplete\": true,\n  \"recallOrchestrationComplete\": true,\n  \"actionRequired\": \"EXECUTIVE_APPROVAL\",\n  \"summary\": \"Quality event validated with high risk requiring executive approval before containment execution.\",\n  \"agentsCalled\": [\"Traceability Agent\", \"Risk Assessment Agent\", \"Recall Orchestration Agent\"]\n}"},"typeVersion":1.3},{"id":"e02285f1-d88a-4994-9d6d-fca62e681758","name":"Traceability Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[-1488,416],"parameters":{"text":"={{ $fromAI(\"qualityEventData\", \"Quality event data including part numbers, batch numbers, and quality metrics\", \"json\") }}","options":{"systemMessage":"You are a Traceability Validation Specialist responsible for validating quality event data.\n\nYour task is to:\n1. Validate part numbers, batch numbers, and quality lineage data\n2. Verify traceability chain completeness from supplier to customer\n3. Check compliance with quality standards and regulations\n4. Identify any missing or incomplete data\n5. Calculate quality score based on data completeness and accuracy\n6. Determine validation status: VALID, INVALID, or SUSPICIOUS\n7. Return structured validation results with reasoning\n\nIMPORTANT: You validate data only - you do not make recall decisions."},"hasOutputParser":true,"toolDescription":"Validates structured part, batch, and quality lineage data to ensure complete traceability and compliance"},"typeVersion":3},{"id":"1ba96a8e-0e15-4bcc-891b-54249fff94f4","name":"Risk Assessment Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[-1200,416],"parameters":{"text":"={{ $fromAI(\"traceabilityResults\", \"Validated traceability data from the Traceability Agent\", \"json\") }}","options":{"systemMessage":"You are a Risk Assessment Specialist responsible for evaluating quality event risk.\n\nYour task is to:\n1. Analyze validated traceability data for risk indicators\n2. Assess customer impact and affected unit count\n3. Evaluate safety risks and potential harm\n4. Determine regulatory compliance risks\n5. Estimate financial impact range\n6. Calculate overall risk score (0-100)\n7. Assign risk level: LOW, MEDIUM, HIGH, or CRITICAL\n8. Recommend action: MONITOR, INVESTIGATE, CONTAINMENT, or IMMEDIATE_CONTAINMENT\n9. Return structured risk assessment with reasoning\n\nIMPORTANT: You assess risk only - you do not initiate recalls."},"hasOutputParser":true,"toolDescription":"Assesses risk level based on validated traceability data including safety, regulatory, and financial impact"},"typeVersion":3},{"id":"94a25b95-92be-401f-9ae2-4cbec8ba3296","name":"Recall Orchestration Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[-832,432],"parameters":{"text":"={{ $fromAI(\"riskAssessmentResults\", \"Risk assessment results from the Risk Assessment Agent\", \"json\") }}","options":{"systemMessage":"You are a Recall Orchestration Specialist responsible for preparing containment workflows.\n\nYour task is to:\n1. Analyze risk assessment results to determine response requirements\n2. Prepare containment workflow steps (quarantine, notifications, investigations)\n3. Generate reporting artifacts (traceability reports, risk summaries, action plans)\n4. Determine if executive alert is required\n5. Identify stakeholders who need to be involved\n6. Estimate timeline for containment execution\n7. Determine if human approval is required before execution\n8. Return structured orchestration plan with reasoning\n\nCRITICAL: You prepare containment workflows but NEVER initiate recalls autonomously. All high-risk actions require human approval."},"hasOutputParser":true,"toolDescription":"Prepares containment workflows, reporting artifacts, and executive alerts without initiating recalls autonomously"},"typeVersion":3},{"id":"8b2b3cd5-c5d5-4a62-81e2-6080fd9f9bf7","name":"Master Orchestrator Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[-1200,192],"parameters":{"text":"={{ $json }}","options":{"systemMessage":"You are the Master Orchestrator for the Quality Traceability and Recall Orchestration System.\n\nYour task is to:\n1. Call the Traceability Agent Tool to validate quality event data\n2. Call the Risk Assessment Agent Tool to evaluate risk based on traceability results\n3. Call the Recall Orchestration Agent Tool to prepare containment workflows based on risk assessment\n4. Synthesize results from all three agents\n5. Determine overall risk level and required action\n6. Return structured orchestration summary\n\nYou coordinate the three specialized agents in sequence and provide a comprehensive summary of the quality event analysis."},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"a2522df7-7c20-4ff4-99f9-3f09d28a123a","name":"Route by Risk Level","type":"n8n-nodes-base.switch","position":[-368,256],"parameters":{"rules":{"values":[{"outputKey":"High Risk","conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.overallRiskLevel }}","rightValue":"HIGH"}]},"renameOutput":true},{"outputKey":"Critical Risk","conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.overallRiskLevel }}","rightValue":"CRITICAL"}]},"renameOutput":true},{"outputKey":"Low/Medium Risk","conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"or","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.overallRiskLevel }}","rightValue":"LOW"},{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.overallRiskLevel }}","rightValue":"MEDIUM"}]},"renameOutput":true}]},"options":{"fallbackOutput":"extra","renameFallbackOutput":"Unclassified"}},"typeVersion":3.4},{"id":"1934e9ca-ac05-4acb-a7e6-c831d8bbd332","name":"Check Requires Human Approval","type":"n8n-nodes-base.if","position":[-96,208],"parameters":{"options":{},"conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"id-1","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.actionRequired }}","rightValue":"EXECUTIVE_APPROVAL"}]}},"typeVersion":2.3},{"id":"5aeb2691-93d8-4f8f-92c7-785bb2214523","name":"Wait for Human Approval","type":"n8n-nodes-base.wait","position":[144,112],"webhookId":"485c6829-599e-4a04-b4d8-57ac64451efe","parameters":{"resume":"webhook","options":{},"httpMethod":"POST"},"typeVersion":1.1},{"id":"386be9f5-e018-43b0-a86e-6bf4e957d470","name":"Send Critical Alert Email","type":"n8n-nodes-base.emailSend","position":[368,464],"webhookId":"bb6d31ba-0043-47d3-bb31-c89d653096c7","parameters":{"html":"=<html>\n<body style=\"font-family: Arial, sans-serif; line-height: 1.6; color: #333;\">\n<div style=\"background-color: #dc3545; color: white; padding: 20px;\">\n<h2>🚨 CRITICAL QUALITY ALERT</h2>\n</div>\n\n<div style=\"padding: 20px;\">\n<p><strong>Risk Level:</strong> <span style=\"color: #dc3545; font-weight: bold;\">{{ $json.output.overallRiskLevel }}</span></p>\n<p><strong>Timestamp:</strong> {{ $now.toFormat(\"yyyy-MM-dd HH:mm:ss\") }}</p>\n\n<h3>Orchestration Summary</h3>\n<p>{{ $json.output.summary }}</p>\n\n<h3>Agents Engaged</h3>\n<ul>\n{{ $json.output.agentsCalled.map(a => `<li>${a}</li>`).join(\"\") }}\n</ul>\n\n<h3>Action Required</h3>\n<p style=\"background-color: #fff3cd; padding: 15px; border-left: 4px solid #ffc107;\">\n<strong>{{ $json.output.actionRequired }}</strong>\n</p>\n\n<p style=\"color: #666; font-size: 12px; margin-top: 30px;\">This is an automated alert from the AI-Powered Quality Traceability and Recall Orchestration System.</p>\n</div>\n</body>\n</html>","options":{},"subject":"=CRITICAL QUALITY ALERT: {{ $json.output.overallRiskLevel }} Risk - {{ $now.toFormat(\"yyyy-MM-dd HH:mm\") }}","toEmail":"={{ $('Workflow Configuration').first().json.criticalEmailRecipient }}","fromEmail":"<__PLACEHOLDER_VALUE__Sender Email Address__>"},"typeVersion":2.1},{"id":"0b91d282-45c4-4fa8-9abb-aea4ccbd28b1","name":"Send Executive Alert Email","type":"n8n-nodes-base.emailSend","position":[368,256],"webhookId":"0ee9aebc-18b7-487d-9ce9-4924730dfdb3","parameters":{"html":"=<html>\n<body style=\"font-family: Arial, sans-serif; line-height: 1.6; color: #333;\">\n<div style=\"background-color: #6c757d; color: white; padding: 20px;\">\n<h2>⬆️ EXECUTIVE APPROVAL REQUIRED</h2>\n</div>\n\n<div style=\"padding: 20px;\">\n<p><strong>Risk Level:</strong> <span style=\"color: #dc3545; font-weight: bold;\">{{ $json.output.overallRiskLevel }}</span></p>\n<p><strong>Action Required:</strong> {{ $json.output.actionRequired }}</p>\n<p><strong>Timestamp:</strong> {{ $now.toFormat(\"yyyy-MM-dd HH:mm:ss\") }}</p>\n\n<h3>Executive Summary</h3>\n<p>{{ $json.output.summary }}</p>\n\n<h3>Traceability Validation</h3>\n<p><strong>Status:</strong> {{ $json.output.traceabilityValidated ? \"✅ Validated\" : \"❌ Not Validated\" }}</p>\n\n<h3>Risk Assessment</h3>\n<p><strong>Status:</strong> {{ $json.output.riskAssessmentComplete ? \"✅ Complete\" : \"❌ Incomplete\" }}</p>\n\n<h3>Recall Orchestration</h3>\n<p><strong>Status:</strong> {{ $json.output.recallOrchestrationComplete ? \"✅ Complete\" : \"❌ Incomplete\" }}</p>\n\n<div style=\"background-color: #d1ecf1; border-left: 4px solid #0c5460; padding: 15px; margin: 20px 0;\">\n<h4>Approval Instructions</h4>\n<p>Please review the quality event details and approve or reject the containment workflow execution.</p>\n<p><strong>Approval Webhook:</strong> Use the webhook URL provided in the workflow execution to submit your decision.</p>\n</div>\n\n<p style=\"color: #666; font-size: 12px; margin-top: 30px;\">This is an automated alert from the AI-Powered Quality Traceability and Recall Orchestration System.</p>\n</div>\n</body>\n</html>","options":{},"subject":"=EXECUTIVE APPROVAL REQUIRED: Quality Event - {{ $json.output.overallRiskLevel }} Risk","toEmail":"={{ $('Workflow Configuration').first().json.executiveEmailRecipient }}","fromEmail":"<__PLACEHOLDER_VALUE__Sender Email Address__>"},"typeVersion":2.1},{"id":"c891c408-822f-4eb7-84f1-c1d1258e61d8","name":"Send Slack Notification","type":"n8n-nodes-base.slack","position":[368,656],"webhookId":"e477c89b-91e7-4e17-998a-e90f88d56782","parameters":{"text":"=🔔 *Quality Event Alert*\n\n*Risk Level:* {{ $json.output.overallRiskLevel }}\n*Action Required:* {{ $json.output.actionRequired }}\n\n*Summary:*\n{{ $json.output.summary }}\n\n*Agents Engaged:*\n{{ $json.output.agentsCalled.map(a => `• ${a}`).join(\"\\n\") }}\n\n_Timestamp: {{ $now.toFormat(\"yyyy-MM-dd HH:mm:ss\") }}_","select":"channel","channelId":{"__rl":true,"mode":"id","value":"={{ $('Workflow Configuration').first().json.slackChannelId }}"},"otherOptions":{},"authentication":"oAuth2"},"credentials":{"slackOAuth2Api":{"id":"d34b1ayEBbvZm2lT","name":"Slack account"}},"typeVersion":2.4},{"id":"3a4025c0-1b45-48eb-8c9b-aab8343a70e6","name":"Merge Notification Paths","type":"n8n-nodes-base.merge","position":[592,464],"parameters":{"mode":"chooseBranch"},"typeVersion":3.2},{"id":"5c406e30-87ca-4438-ae2f-0c96f209d653","name":"Log Audit Trail","type":"n8n-nodes-base.code","position":[816,464],"parameters":{"jsCode":"// Log audit trail for quality event processing\nconst timestamp = new Date().toISOString();\nconst orchestratorOutput = $json.output || {};\n\nconst auditLog = {\n  timestamp: timestamp,\n  eventType: \"QUALITY_EVENT_PROCESSED\",\n  riskLevel: orchestratorOutput.overallRiskLevel || \"UNKNOWN\",\n  actionRequired: orchestratorOutput.actionRequired || \"NONE\",\n  traceabilityValidated: orchestratorOutput.traceabilityValidated || false,\n  riskAssessmentComplete: orchestratorOutput.riskAssessmentComplete || false,\n  recallOrchestrationComplete: orchestratorOutput.recallOrchestrationComplete || false,\n  agentsCalled: orchestratorOutput.agentsCalled || [],\n  summary: orchestratorOutput.summary || \"No summary available\",\n  notificationsSent: true,\n  workflowStatus: \"COMPLETED\"\n};\n\nconsole.log(\"Audit Trail:\", JSON.stringify(auditLog, null, 2));\n\nreturn [{ json: auditLog }];"},"typeVersion":2},{"id":"a0b01029-e250-4feb-96af-bffeefcf16fc","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-2192,96],"parameters":{"color":7,"width":944,"height":784,"content":"## Traceability Analysis  \nIdentifies contamination sources and affected product scope for containment decisions."},"typeVersion":1},{"id":"d7f7f97f-8c05-4863-9e4f-17dff945db60","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-992,-288],"parameters":{"color":5,"width":512,"height":304,"content":"## Prerequisites\nNVIDIA NIM API key, Gmail account with app password\n## Use Cases\nManufacturing defect escalation, food safety incident management\n## Customization\nModify risk scoring thresholds, add industry-specific compliance agents\n## Benefits\nReduces risk assessment time by 75%, ensures consistent evaluation methodology"},"typeVersion":1},{"id":"975fc092-e75a-4abc-bb27-8b11b2e5c9de","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-1456,-240],"parameters":{"width":400,"height":256,"content":"## Setup Steps\n1. Configure NVIDIA NIM API credentials with Llama-3.1-70B-Instruct model access\n2. Set up routing logic thresholds\n3. Connect Gmail SMTP for executive alerts and Slack webhook for team notifications\n4. Configure human approval nodes with designated approver email addresses\n5. Customize AI agent prompts for industry-specific risk criteria"},"typeVersion":1},{"id":"afc912f8-7185-45f4-baec-715cb9538a99","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[-2160,-240],"parameters":{"width":640,"height":272,"content":"## How It Works\nThis workflow automates quality event risk assessment through AI-powered multi-agent analysis with mandatory human oversight for critical decisions. Designed for quality managers, compliance officers, and risk analysts in manufacturing, healthcare, or service industries, it solves the challenge of consistent, transparent risk evaluation while maintaining human accountability. When quality events are detected, the system orchestrates specialized AI agents (traceability, risk assessment, and recall evaluation) to analyze different risk dimensions simultaneously. Results are synthesized, routed through human approval gates based on risk severity, and distributed via automated notifications. This ensures high-risk decisions receive proper scrutiny while low-risk events flow efficiently through automated channels."},"typeVersion":1},{"id":"8d584b54-88f4-490b-a216-69c2cee6e8fb","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[-864,80],"parameters":{"color":7,"width":1824,"height":880,"content":"## Recall Evaluation \nEnsures regulatory compliance and protects consumer safety through proper escalation protocols."},"typeVersion":1},{"id":"53be746d-d8d0-47db-9d76-bc8b6004de45","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[-1216,96],"parameters":{"color":7,"width":320,"height":816,"content":"## Risk Assessment\nQuantifies business impact and legal obligations to prioritize response actions."},"typeVersion":1}],"active":false,"pinData":{},"settings":{"availableInMCP":false,"executionOrder":"v1"},"versionId":"610ca7bd-d957-4017-b19c-30e82a8a82b7","connections":{"Route by Risk Level":{"main":[[{"node":"Check Requires Human Approval","type":"main","index":0}],[{"node":"Send Critical Alert Email","type":"main","index":0}],[{"node":"Send Slack Notification","type":"main","index":0}]]},"Quality Event Webhook":{"main":[[{"node":"Workflow Configuration","type":"main","index":0}]]},"Workflow Configuration":{"main":[[{"node":"Master Orchestrator Agent","type":"main","index":0}]]},"Send Slack Notification":{"main":[[{"node":"Merge Notification Paths","type":"main","index":0}]]},"Traceability Agent Tool":{"ai_tool":[[{"node":"Master Orchestrator Agent","type":"ai_tool","index":0}]]},"Wait for Human Approval":{"main":[[{"node":"Send Executive Alert Email","type":"main","index":0}]]},"Merge Notification Paths":{"main":[[{"node":"Log Audit Trail","type":"main","index":0}]]},"Master Orchestrator Agent":{"main":[[{"node":"Route by Risk Level","type":"main","index":0}]]},"Send Critical Alert Email":{"main":[[{"node":"Merge Notification Paths","type":"main","index":0}]]},"Orchestrator Output Parser":{"ai_outputParser":[[{"node":"Master Orchestrator Agent","type":"ai_outputParser","index":0}]]},"Risk Assessment Agent Tool":{"ai_tool":[[{"node":"Master Orchestrator Agent","type":"ai_tool","index":0}]]},"Send Executive Alert Email":{"main":[[{"node":"Merge Notification Paths","type":"main","index":1}]]},"Traceability Output Parser":{"ai_outputParser":[[{"node":"Traceability Agent Tool","type":"ai_outputParser","index":0}]]},"Check Requires Human Approval":{"main":[[{"node":"Wait for Human Approval","type":"main","index":0}],[{"node":"Send Executive Alert Email","type":"main","index":0}]]},"Risk Assessment Output Parser":{"ai_outputParser":[[{"node":"Risk Assessment Agent Tool","type":"ai_outputParser","index":0}]]},"Anthropic Model - Orchestrator":{"ai_languageModel":[[{"node":"Master Orchestrator Agent","type":"ai_languageModel","index":0}]]},"Recall Orchestration Agent Tool":{"ai_tool":[[{"node":"Master Orchestrator Agent","type":"ai_tool","index":0}]]},"Recall Orchestration Output Parser":{"ai_outputParser":[[{"node":"Recall Orchestration Agent Tool","type":"ai_outputParser","index":0}]]},"Anthropic Model - Traceability Agent":{"ai_languageModel":[[{"node":"Traceability Agent Tool","type":"ai_languageModel","index":0}]]},"Anthropic Model - Risk Assessment Agent":{"ai_languageModel":[[{"node":"Risk Assessment Agent Tool","type":"ai_languageModel","index":0}]]},"Anthropic Model - Recall Orchestration Agent":{"ai_languageModel":[[{"node":"Recall Orchestration Agent Tool","type":"ai_languageModel","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":28,"nodeTypes":{"n8n-nodes-base.if":{"count":1},"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.code":{"count":1},"n8n-nodes-base.wait":{"count":1},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.slack":{"count":1},"n8n-nodes-base.switch":{"count":1},"n8n-nodes-base.webhook":{"count":1},"n8n-nodes-base.emailSend":{"count":2},"n8n-nodes-base.stickyNote":{"count":6},"@n8n/n8n-nodes-langchain.agent":{"count":1},"@n8n/n8n-nodes-langchain.agentTool":{"count":3},"@n8n/n8n-nodes-langchain.lmChatAnthropic":{"count":4},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":4}}},"status":"published","readyToDemo":null,"user":{"name":"Cheng Siong Chin","username":"cschin","bio":"Dr. Cheng Siong CHIN is an n8n workflow creator specializing in AI-powered automation, agent orchestration, and intelligent system integrations. He designs and builds end-to-end workflows that combine LLMs, APIs, and data pipelines to streamline complex processes and deliver production-ready automation solutions. Contact me to discuss custom AI workflows and agent architectures.\n","verified":true,"links":["https://gravatar.com/mysticluminary9fa255f7f5"],"avatar":"https://gravatar.com/avatar/54544f98e839bb9dd9a764ad1e6823eeddb6db5138d201e42f291a7b0a73303f?r=pg&d=retro&size=200"},"nodes":[{"id":11,"icon":"fa:envelope","name":"n8n-nodes-base.emailSend","codex":{"data":{"alias":["SMTP","email","human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.sendemail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/sendemail/"}]},"categories":["Communication","HITL","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Send Email","color":"#00bb88"},"iconData":{"icon":"envelope","type":"icon"},"displayName":"Send Email","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":9,"name":"Core Nodes"},{"id":28,"name":"HITL"}]},{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":24,"icon":"file:merge.svg","name":"n8n-nodes-base.merge","codex":{"data":{"alias":["Join","Concatenate","Wait"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.merge/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Merge"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTc3XzUxOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgNDhDMCAyMS40OTAzIDIxLjQ5MDMgMCA0OCAwSDExMkMxMzguNTEgMCAxNjAgMjEuNDkwMyAxNjAgNDhWNTZIMTk2LjI1MkMyNDAuNDM1IDU2IDI3Ni4yNTIgOTEuODE3MiAyNzYuMjUyIDEzNlYxOTJDMjc2LjI1MiAyMTQuMDkxIDI5NC4xNjEgMjMyIDMxNi4yNTIgMjMySDM1MlYyMjRDMzUyIDE5Ny40OSAzNzMuNDkgMTc2IDQwMCAxNzZINDY0QzQ5MC41MSAxNzYgNTEyIDE5Ny40OSA1MTIgMjI0VjI4OEM1MTIgMzE0LjUxIDQ5MC41MSAzMzYgNDY0IDMzNkg0MDBDMzczLjQ5IDMzNiAzNTIgMzE0LjUxIDM1MiAyODhWMjgwSDMxNi4yNTJDMjk0LjE2MSAyODAgMjc2LjI1MiAyOTcuOTA5IDI3Ni4yNTIgMzIwVjM3NkMyNzYuMjUyIDQyMC4xODMgMjQwLjQzNSA0NTYgMTk2LjI1MiA0NTZIMTYwVjQ2NEMxNjAgNDkwLjUxIDEzOC41MSA1MTIgMTEyIDUxMkg0OEMyMS40OTAzIDUxMiAwIDQ5MC41MSAwIDQ2NFY0MDBDMCAzNzMuNDkgMjEuNDkwMyAzNTIgNDggMzUySDExMkMxMzguNTEgMzUyIDE2MCAzNzMuNDkgMTYwIDQwMFY0MDhIMTk2LjI1MkMyMTMuOTI1IDQwOCAyMjguMjUyIDM5My42NzMgMjI4LjI1MiAzNzZWMzIwQzIyOC4yNTIgMjk0Ljc4NCAyMzguODU5IDI3Mi4wNDQgMjU1Ljg1MyAyNTZDMjM4Ljg1OSAyMzkuOTU2IDIyOC4yNTIgMjE3LjIxNiAyMjguMjUyIDE5MlYxMzZDMjI4LjI1MiAxMTguMzI3IDIxMy45MjUgMTA0IDE5Ni4yNTIgMTA0SDE2MFYxMTJDMTYwIDEzOC41MSAxMzguNTEgMTYwIDExMiAxNjBINDhDMjEuNDkwMyAxNjAgMCAxMzguNTEgMCAxMTJWNDhaTTEwNCA0OEMxMDguNDE4IDQ4IDExMiA1MS41ODE3IDExMiA1NlYxMDRDMTEyIDEwOC40MTggMTA4LjQxOCAxMTIgMTA0IDExMkg1NkM1MS41ODE3IDExMiA0OCAxMDguNDE4IDQ4IDEwNFY1NkM0OCA1MS41ODE3IDUxLjU4MTcgNDggNTYgNDhIMTA0Wk00NTYgMjI0QzQ2MC40MTggMjI0IDQ2NCAyMjcuNTgyIDQ2NCAyMzJWMjgwQzQ2NCAyODQuNDE4IDQ2MC40MTggMjg4IDQ1NiAyODhINDA4QzQwMy41ODIgMjg4IDQwMCAyODQuNDE4IDQwMCAyODBWMjMyQzQwMCAyMjcuNTgyIDQwMy41ODIgMjI0IDQwOCAyMjRINDU2Wk0xMTIgNDA4QzExMiA0MDMuNTgyIDEwOC40MTggNDAwIDEwNCA0MDBINTZDNTEuNTgxNyA0MDAgNDggNDAzLjU4MiA0OCA0MDhWNDU2QzQ4IDQ2MC40MTggNTEuNTgxNyA0NjQgNTYgNDY0SDEwNEMxMDguNDE4IDQ2NCAxMTIgNDYwLjQxOCAxMTIgNDU2VjQwOFoiIGZpbGw9IiM1NEI4QzkiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTc3XzUxOCI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Merge","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":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":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":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"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"}]}],"categories":[{"id":5,"name":"Engineering"},{"id":49,"name":"AI Summarization"}],"image":[]}}