This workflow corresponds to n8n.io template #13337 — we link there as the canonical source.
This workflow follows the Agent → Emailsend recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "ky3g6sOAGyvJBG7B5POhV",
"name": "AI-powered supply chain monitoring and disruption management system",
"tags": [],
"nodes": [
{
"id": "f3820059-1cfd-4702-8b9e-6b263cd09ebc",
"name": "Schedule Supply Chain Data Collection",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-448,
64
],
"parameters": {
"rule": {
"interval": [
{
"field": "minutes",
"minutesInterval": 15
}
]
}
},
"typeVersion": 1.3
},
{
"id": "88d507ca-2a85-4d52-928b-1d065671130a",
"name": "Workflow Configuration",
"type": "n8n-nodes-base.set",
"position": [
-224,
64
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "id-1",
"name": "procurementApiUrl",
"type": "string",
"value": "<__PLACEHOLDER_VALUE__Procurement API endpoint URL__>"
},
{
"id": "id-2",
"name": "warehouseApiUrl",
"type": "string",
"value": "<__PLACEHOLDER_VALUE__Warehouse and Transportation API endpoint URL__>"
},
{
"id": "id-3",
"name": "slackChannelId",
"type": "string",
"value": "<__PLACEHOLDER_VALUE__Slack channel ID for alerts__>"
},
{
"id": "id-4",
"name": "escalationEmail",
"type": "string",
"value": "<__PLACEHOLDER_VALUE__Email address for escalations__>"
},
{
"id": "id-5",
"name": "criticalThreshold",
"type": "number",
"value": 80
},
{
"id": "id-6",
"name": "highThreshold",
"type": "number",
"value": 60
},
{
"id": "id-7",
"name": "mediumThreshold",
"type": "number",
"value": 40
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "7cd97218-9c11-4f69-8fc6-d7cfb9a75497",
"name": "Fetch Procurement Data",
"type": "n8n-nodes-base.httpRequest",
"position": [
0,
0
],
"parameters": {
"url": "={{ $('Workflow Configuration').first().json.procurementApiUrl }}",
"options": {}
},
"typeVersion": 4.3
},
{
"id": "0248ddec-f8e0-4588-8ffc-feecf014f5cd",
"name": "Fetch Warehouse and Transportation Data",
"type": "n8n-nodes-base.httpRequest",
"position": [
0,
192
],
"parameters": {
"url": "={{ $('Workflow Configuration').first().json.warehouseApiUrl }}",
"options": {}
},
"typeVersion": 4.3
},
{
"id": "6219fd9f-baeb-4e19-95f2-938c278c92f0",
"name": "Combine Supply Chain Data",
"type": "n8n-nodes-base.merge",
"position": [
224,
64
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineByPosition"
},
"typeVersion": 3.2
},
{
"id": "4f0d3cd3-936f-44a9-b990-2482fce5e7eb",
"name": "OpenAI Model for Signal Monitoring Agent",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
456,
288
],
"parameters": {
"model": {
"__rl": true,
"mode": "id",
"value": "gpt-4o"
},
"options": {
"temperature": 0.1
},
"builtInTools": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "0e112d3c-362a-4c72-ab9e-979b444fc007",
"name": "Signal Analysis Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
640,
288
],
"parameters": {
"jsonSchemaExample": "{\n \"riskLevel\": \"CRITICAL | HIGH | MEDIUM | LOW\",\n \"riskScore\": 85,\n \"anomalies\": [\n {\n \"type\": \"procurement | warehouse | transportation\",\n \"severity\": \"CRITICAL | HIGH | MEDIUM | LOW\",\n \"description\": \"Description of the anomaly\",\n \"affectedItems\": [\"item1\", \"item2\"],\n \"impact\": \"Business impact description\"\n }\n ],\n \"supplyChainMetrics\": {\n \"procurementDelays\": 5,\n \"inventoryVariance\": 12.5,\n \"transportationIssues\": 3,\n \"complianceViolations\": 0\n },\n \"recommendations\": [\"recommendation1\", \"recommendation2\"],\n \"requiresEscalation\": true,\n \"reasoning\": \"Detailed reasoning for the risk assessment\"\n}"
},
"typeVersion": 1.3
},
{
"id": "19a4d277-34e5-4da5-83eb-3d86156a2391",
"name": "Signal Monitoring Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
448,
64
],
"parameters": {
"text": "=Analyze the following supply chain data and identify anomalies, risks, and compliance issues:\n\nProcurement Data: {{ JSON.stringify($json.procurementData) }}\n\nWarehouse and Transportation Data: {{ JSON.stringify($json.warehouseData) }}",
"options": {
"systemMessage": "You are a Signal Monitoring Agent specialized in supply chain analysis.\n\nYour task is to:\n1. Inspect structured procurement, warehouse, and transportation data\n2. Identify anomalies such as delays, inventory variances, transportation disruptions, and compliance violations\n3. Calculate risk scores based on severity and business impact\n4. Classify risk levels: CRITICAL (80-100), HIGH (60-79), MEDIUM (40-59), LOW (0-39)\n5. Provide detailed recommendations for each identified issue\n6. Determine if escalation is required based on risk level and compliance impact\n7. Return structured analysis with clear reasoning\n\nCriteria for anomaly detection:\n- Procurement delays >7 days\n- Inventory variance >10%\n- Transportation delays >48 hours\n- Any compliance violations\n- Stock-out risks\n- Supplier performance degradation\n\nYou MUST return data in the exact JSON format specified by the output parser.\nBe thorough, precise, and focus on actionable insights."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 3.1
},
{
"id": "94635036-a4fa-440b-a9b1-64da9c2a0640",
"name": "Route by Risk Level",
"type": "n8n-nodes-base.switch",
"position": [
800,
32
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "CRITICAL",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.output.riskLevel }}",
"rightValue": "CRITICAL"
}
]
},
"renameOutput": true
},
{
"outputKey": "HIGH",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.output.riskLevel }}",
"rightValue": "HIGH"
}
]
},
"renameOutput": true
},
{
"outputKey": "MEDIUM_LOW",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.output.riskLevel }}",
"rightValue": "MEDIUM"
}
]
},
"renameOutput": true
}
]
},
"options": {
"fallbackOutput": "extra"
}
},
"typeVersion": 3.4
},
{
"id": "be6e9fcb-7744-4d98-8b9d-e0521f3e0c06",
"name": "OpenAI Model for Coordination Agent",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1024,
288
],
"parameters": {
"model": {
"__rl": true,
"mode": "id",
"value": "gpt-4o"
},
"options": {
"temperature": 0.2
},
"builtInTools": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "94010e9d-6f33-484b-b1f2-4fb479a79ffe",
"name": "Coordination Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1232,
288
],
"parameters": {
"jsonSchemaExample": "{\n \"actionType\": \"ALERT | ESCALATE | APPROVE | LOG\",\n \"priority\": \"CRITICAL | HIGH | MEDIUM | LOW\",\n \"workflowActions\": [\n {\n \"action\": \"send_slack_alert | send_email | request_approval | log_audit\",\n \"target\": \"Target identifier\",\n \"message\": \"Action-specific message\",\n \"urgency\": \"immediate | within_1hour | within_24hours\"\n }\n ],\n \"replenishmentPlan\": {\n \"requiredActions\": [\"action1\", \"action2\"],\n \"estimatedTimeline\": \"Timeline description\",\n \"resourcesNeeded\": [\"resource1\", \"resource2\"]\n },\n \"complianceStatus\": \"COMPLIANT | AT_RISK | VIOLATED\",\n \"auditTrail\": {\n \"timestamp\": \"ISO timestamp\",\n \"analysisId\": \"Unique identifier\",\n \"approvalRequired\": true,\n \"approvalReason\": \"Reason for approval requirement\"\n },\n \"reasoning\": \"Detailed reasoning for coordination decisions\"\n}"
},
"typeVersion": 1.3
},
{
"id": "1238aca8-deeb-4f89-8513-67d725f0895d",
"name": "Slack Alert Tool",
"type": "n8n-nodes-base.slackTool",
"position": [
1360,
304
],
"parameters": {
"text": "={{ $fromAI('alertMessage', 'Alert message content', 'string') }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "id",
"value": "={{ $fromAI('slackChannel', 'Slack channel ID for alert', 'string') }}"
},
"otherOptions": {},
"authentication": "oAuth2"
},
"credentials": {
"slackOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 2.4
},
{
"id": "481e7a09-c095-461a-b6ff-f53fa860bfdf",
"name": "Coordination Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1080,
64
],
"parameters": {
"text": "=Coordinate the following supply chain disruption response:\n\nRisk Analysis: {{ JSON.stringify($json.output) }}\n\nRisk Level: {{ $json.output.riskLevel }}\nRisk Score: {{ $json.output.riskScore }}",
"options": {
"systemMessage": "You are a Coordination Agent responsible for orchestrating supply chain replenishment workflows and disruption management.\n\nYour task is to:\n1. Analyze risk assessments from the Signal Monitoring Agent\n2. Determine appropriate workflow actions based on risk level and business impact\n3. Coordinate replenishment workflows for inventory issues\n4. Route approvals for high-value or high-risk decisions\n5. Escalate critical disruptions to management\n6. Send alerts through appropriate channels (Slack for immediate, Email for escalations)\n7. Maintain compliance and operational traceability through audit logging\n8. Return structured coordination plan\n\nAction routing logic:\n- CRITICAL risk: Send Slack alert + Email escalation + Request approval\n- HIGH risk: Send Slack alert + Email escalation\n- MEDIUM risk: Send Slack alert + Log audit\n- LOW risk: Log audit only\n\nUse the Slack Alert Tool to send real-time notifications to the operations team.\n\nYou MUST return data in the exact JSON format specified by the output parser.\nEnsure all actions maintain compliance and create audit trails."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 3.1
},
{
"id": "c1f0200e-308e-4357-9042-c9c4187937c9",
"name": "Route by Action Type",
"type": "n8n-nodes-base.switch",
"position": [
1392,
48
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "ALERT",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.output.actionType }}",
"rightValue": "ALERT"
}
]
},
"renameOutput": true
},
{
"outputKey": "ESCALATE",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.output.actionType }}",
"rightValue": "ESCALATE"
}
]
},
"renameOutput": true
},
{
"outputKey": "APPROVE",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.output.actionType }}",
"rightValue": "APPROVE"
}
]
},
"renameOutput": true
}
]
},
"options": {
"fallbackOutput": "extra"
}
},
"typeVersion": 3.4
},
{
"id": "007d35d7-4dff-48f1-9074-ae3e0a5fc264",
"name": "Manual Approval Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
1616,
432
],
"parameters": {
"path": "supply-chain-approval",
"options": {},
"httpMethod": "POST",
"responseMode": "lastNode"
},
"typeVersion": 2.1
},
{
"id": "682df36c-c1dd-49d3-89f6-c399f266a838",
"name": "Respond to Approval",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
2176,
448
],
"parameters": {
"options": {},
"respondWith": "json",
"responseBody": "={\n \"status\": \"success\",\n \"message\": \"Approval decision recorded\",\n \"decision\": \"{{ $json.decision }}\",\n \"timestamp\": \"{{ $now.toISO() }}\"\n}"
},
"typeVersion": 1.5
},
{
"id": "d02f1a4f-dae0-48c8-af7e-3fd4f7b3d221",
"name": "Process Approval Decision",
"type": "n8n-nodes-base.code",
"position": [
1760,
432
],
"parameters": {
"jsCode": "const items = $input.all();\nconst results = [];\n\nfor (const item of items) {\n const decision = item.json.decision || 'pending';\n const approver = item.json.approver || 'unknown';\n const comments = item.json.comments || '';\n const timestamp = new Date().toISOString();\n \n results.push({\n json: {\n decision: decision,\n approver: approver,\n comments: comments,\n timestamp: timestamp,\n approvalId: `APR-${Date.now()}`,\n status: decision === 'approved' ? 'APPROVED' : decision === 'rejected' ? 'REJECTED' : 'PENDING'\n }\n });\n}\n\nreturn results;"
},
"typeVersion": 2
},
{
"id": "711540e5-2344-4992-af6f-16bd9bfd15c7",
"name": "Send Critical Alert to Slack",
"type": "n8n-nodes-base.slack",
"position": [
1712,
48
],
"parameters": {
"text": "=\ud83d\udea8 *CRITICAL SUPPLY CHAIN ALERT*\n\n*Risk Level:* {{ $json.output.priority }}\n*Action Type:* {{ $json.output.actionType }}\n\n*Workflow Actions:*\n{{ $json.output.workflowActions.map(a => `\u2022 ${a.action}: ${a.message} (Urgency: ${a.urgency})`).join(\"\\n\") }}\n\n*Replenishment Plan:*\n{{ $json.output.replenishmentPlan.requiredActions.join(\", \") }}\n\n*Compliance Status:* {{ $json.output.complianceStatus }}\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": {
"name": "<your credential>"
}
},
"typeVersion": 2.4
},
{
"id": "81d5afd0-14a4-495c-a3c8-6223337a6cf9",
"name": "Send Escalation Email",
"type": "n8n-nodes-base.emailSend",
"position": [
1712,
240
],
"parameters": {
"html": "=<html>\n<body style='font-family: Arial, sans-serif;'>\n<div style='background-color: #dc3545; color: white; padding: 20px;'>\n<h2>\ud83d\udea8 CRITICAL SUPPLY CHAIN ESCALATION</h2>\n</div>\n\n<div style='padding: 20px;'>\n<p><strong>Priority:</strong> <span style='color: #dc3545; font-weight: bold;'>{{ $json.output.priority }}</span></p>\n<p><strong>Action Type:</strong> {{ $json.output.actionType }}</p>\n<p><strong>Timestamp:</strong> {{ $now.toFormat('yyyy-MM-dd HH:mm:ss') }}</p>\n\n<h3>Workflow Actions Required</h3>\n<ul>\n{{ $json.output.workflowActions.map(a => `<li><strong>${a.action}</strong>: ${a.message} (Urgency: ${a.urgency})</li>`).join('') }}\n</ul>\n\n<h3>Replenishment Plan</h3>\n<p><strong>Required Actions:</strong></p>\n<ul>\n{{ $json.output.replenishmentPlan.requiredActions.map(a => `<li>${a}</li>`).join('') }}\n</ul>\n<p><strong>Estimated Timeline:</strong> {{ $json.output.replenishmentPlan.estimatedTimeline }}</p>\n<p><strong>Resources Needed:</strong> {{ $json.output.replenishmentPlan.resourcesNeeded.join(', ') }}</p>\n\n<h3>Compliance Status</h3>\n<p style='background-color: {{ $json.output.complianceStatus === \"VIOLATED\" ? \"#fff3cd\" : \"#d4edda\" }}; padding: 15px; border-left: 4px solid {{ $json.output.complianceStatus === \"VIOLATED\" ? \"#ffc107\" : \"#28a745\" }};'>\n<strong>Status:</strong> {{ $json.output.complianceStatus }}\n</p>\n\n<h3>Audit Trail</h3>\n<p><strong>Analysis ID:</strong> {{ $json.output.auditTrail.analysisId }}</p>\n<p><strong>Approval Required:</strong> {{ $json.output.auditTrail.approvalRequired ? 'YES' : 'NO' }}</p>\n<p><strong>Approval Reason:</strong> {{ $json.output.auditTrail.approvalReason }}</p>\n\n<h3>Reasoning</h3>\n<p>{{ $json.output.reasoning }}</p>\n\n<p style='color: #666; font-size: 12px; margin-top: 30px;'>This is an automated escalation from the AI-Powered Supply Chain Monitoring and Disruption Management System.</p>\n</div>\n</body>\n</html>",
"options": {},
"subject": "=\ud83d\udea8 CRITICAL SUPPLY CHAIN ESCALATION - {{ $json.output.priority }} Priority",
"toEmail": "={{ $('Workflow Configuration').first().json.escalationEmail }}",
"fromEmail": "<__PLACEHOLDER_VALUE__Sender email address__>"
},
"typeVersion": 2.1
},
{
"id": "a54b7e93-d57c-4fb1-a267-b3878e1aaa09",
"name": "Log Compliance Audit Trail",
"type": "n8n-nodes-base.code",
"position": [
1936,
240
],
"parameters": {
"jsCode": "const items = $input.all();\nconst auditEntries = [];\n\nfor (const item of items) {\n const auditEntry = {\n json: {\n auditId: `AUDIT-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\n timestamp: new Date().toISOString(),\n eventType: item.json.output?.actionType || item.json.decision || 'UNKNOWN',\n priority: item.json.output?.priority || 'MEDIUM',\n complianceStatus: item.json.output?.complianceStatus || 'COMPLIANT',\n actionsTaken: item.json.output?.workflowActions?.map(a => a.action).join(', ') || item.json.status || 'N/A',\n approvalRequired: item.json.output?.auditTrail?.approvalRequired || false,\n approvalStatus: item.json.status || 'N/A',\n approver: item.json.approver || 'SYSTEM',\n reasoning: item.json.output?.reasoning || item.json.comments || 'Automated action',\n traceabilityId: item.json.output?.auditTrail?.analysisId || `TRACE-${Date.now()}`,\n metadata: {\n workflowId: $workflow.id,\n executionId: $execution.id,\n nodeExecutionId: $execution.id\n }\n }\n };\n \n auditEntries.push(auditEntry);\n}\n\nreturn auditEntries;"
},
"typeVersion": 2
},
{
"id": "837b2e6c-660e-48ff-8fa8-06f81756f49e",
"name": "Prepare Final Report",
"type": "n8n-nodes-base.set",
"position": [
2160,
240
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "id-1",
"name": "reportId",
"type": "string",
"value": "=REPORT-{{ $now.toFormat('yyyyMMdd-HHmmss') }}"
},
{
"id": "id-2",
"name": "reportTimestamp",
"type": "string",
"value": "={{ $now.toISO() }}"
},
{
"id": "id-3",
"name": "totalAuditEntries",
"type": "number",
"value": "={{ $input.all().length }}"
},
{
"id": "id-4",
"name": "executionSummary",
"type": "string",
"value": "=Supply chain monitoring cycle completed with {{ $input.all().length }} audit entries logged"
},
{
"id": "id-5",
"name": "workflowStatus",
"type": "string",
"value": "COMPLETED"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "15a0b28d-58ca-4822-bcea-a1ec616eefbc",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-480,
-416
],
"parameters": {
"width": 816,
"height": 272,
"content": "## How It Works\nThis workflow automates end-to-end supply chain visibility and logistics coordination for manufacturers, distributors, and retailers managing complex multi-tier supply networks. Designed for supply chain planners, logistics managers, and operations directors, it solves the challenge of tracking inventory across procurement, warehousing, and transportation while optimizing decisions for cost, speed, and risk mitigation. The system schedules regular data collection from procurement and warehouse/transportation systems, consolidates supply chain data, analyzes patterns through dual AI agents (Signal Monitoring identifies anomalies and trends, Coordination Agent orchestrates optimization decisions), routes findings by risk level (critical/marginal/acceptable), triggers action-specific responses (critical issues send Slack alerts, escalation emails, and compliance audit logs with approval workflows; acceptable conditions generate standard reports), and maintains complete traceability. Organizations achieve 50% reduction in stockouts, optimize logistics costs by 30%, enable proactive disruption management, and maintain real-time visibility across global supply networks."
},
"typeVersion": 1
},
{
"id": "eb841a65-9905-4cae-9a7d-b0f26535d65b",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
384,
-448
],
"parameters": {
"width": 496,
"height": 304,
"content": "## Setup Steps\n1. Connect **Schedule Trigger** for monitoring frequency \n2. Configure **procurement system APIs** with order and supplier data access credentials\n3. Link **warehouse management systems** (WMS) and **transportation platforms** (TMS) for inventory and shipment tracking\n4. Add **AI model API keys** to Signal Monitoring and Coordination Agent nodes\n5. Define **optimization parameters** in agent prompts\n6. Configure **Slack webhooks** for critical supply chain alerts to operations teams\n7. Set up **email credentials** for escalation workflows "
},
"typeVersion": 1
},
{
"id": "c4af5c74-e144-44fa-9a49-a1c7d7852b37",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
928,
-464
],
"parameters": {
"color": 4,
"width": 560,
"height": 320,
"content": "## Prerequisites\nSupply chain system API access (ERP, WMS, TMS), AI service accounts.\n## Use Cases\nInventory optimization across multi-tier networks, predictive stockout prevention\n## Customization\nModify agent prompts for industry-specific constraints (perishable goods, hazmat regulations)\n## Benefits\nReduces stockouts by 50% and optimizes logistics costs by 30%"
},
"typeVersion": 1
},
{
"id": "225ff2fc-5d36-49a7-867a-dd43e728e763",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
976,
-112
],
"parameters": {
"color": 7,
"width": 560,
"height": 592,
"content": "## Risk-Based Routing\n**What**: Routes findings by severity\u2014critical triggers immediate alerts and approvals, acceptable enables standard processing \n**Why**: Priority workflows ensure urgent disruptions receive rapid response while maintaining operational efficiency"
},
"typeVersion": 1
},
{
"id": "84d14d20-43e3-4ffb-a7ed-480258ad9493",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
400,
-112
],
"parameters": {
"color": 7,
"width": 560,
"height": 848,
"content": "## Dual-Agent Intelligence\n**What**: Signal Monitoring Agent detects anomalies and trends; Coordination Agent optimizes routing and inventory decisions \n**Why**: Parallel analysis identifies both immediate risks and strategic optimization opportunities simultaneously\n"
},
"typeVersion": 1
},
{
"id": "4a2c6bc7-031e-41a3-a1c6-2593b7589d2c",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-496,
-96
],
"parameters": {
"color": 7,
"width": 864,
"height": 496,
"content": "## Automated Data Aggregation\n**What**: Scheduled trigger fetches procurement orders, warehouse inventory, and transportation tracking data \n**Why**: Unified data collection eliminates siloed visibility and enables holistic supply chain optimization"
},
"typeVersion": 1
},
{
"id": "33475f5b-247d-4ed8-9d06-0cb009a30cdc",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1568,
-112
],
"parameters": {
"color": 7,
"width": 768,
"height": 736,
"content": "## Action-Specific Response\n**What**: Executes workflows by action type\u2014critical sends multi-channel alerts with approval gates, routine generates reports \n**Why**: Context-appropriate responses balance speed for emergencies with governance for strategic decisions\n"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"availableInMCP": false,
"executionOrder": "v1"
},
"versionId": "69832f9a-8fa9-4345-8a60-28f85607d9e6",
"connections": {
"Slack Alert Tool": {
"ai_tool": [
[
{
"node": "Coordination Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Coordination Agent": {
"main": [
[
{
"node": "Route by Action Type",
"type": "main",
"index": 0
}
]
]
},
"Route by Risk Level": {
"main": [
[
{
"node": "Coordination Agent",
"type": "main",
"index": 0
}
]
]
},
"Route by Action Type": {
"main": [
[
{
"node": "Send Critical Alert to Slack",
"type": "main",
"index": 0
}
],
[
{
"node": "Send Escalation Email",
"type": "main",
"index": 0
}
]
]
},
"Send Escalation Email": {
"main": [
[
{
"node": "Log Compliance Audit Trail",
"type": "main",
"index": 0
}
]
]
},
"Fetch Procurement Data": {
"main": [
[
{
"node": "Combine Supply Chain Data",
"type": "main",
"index": 0
}
]
]
},
"Workflow Configuration": {
"main": [
[
{
"node": "Fetch Procurement Data",
"type": "main",
"index": 0
},
{
"node": "Fetch Warehouse and Transportation Data",
"type": "main",
"index": 0
}
]
]
},
"Manual Approval Webhook": {
"main": [
[
{
"node": "Process Approval Decision",
"type": "main",
"index": 0
}
]
]
},
"Signal Monitoring Agent": {
"main": [
[
{
"node": "Route by Risk Level",
"type": "main",
"index": 0
}
]
]
},
"Combine Supply Chain Data": {
"main": [
[
{
"node": "Signal Monitoring Agent",
"type": "main",
"index": 0
}
]
]
},
"Process Approval Decision": {
"main": [
[
{
"node": "Respond to Approval",
"type": "main",
"index": 0
},
{
"node": "Log Compliance Audit Trail",
"type": "main",
"index": 0
}
]
]
},
"Coordination Output Parser": {
"ai_outputParser": [
[
{
"node": "Coordination Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Log Compliance Audit Trail": {
"main": [
[
{
"node": "Prepare Final Report",
"type": "main",
"index": 0
}
]
]
},
"Send Critical Alert to Slack": {
"main": [
[
{
"node": "Log Compliance Audit Trail",
"type": "main",
"index": 0
}
]
]
},
"Signal Analysis Output Parser": {
"ai_outputParser": [
[
{
"node": "Signal Monitoring Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"OpenAI Model for Coordination Agent": {
"ai_languageModel": [
[
{
"node": "Coordination Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Schedule Supply Chain Data Collection": {
"main": [
[
{
"node": "Workflow Configuration",
"type": "main",
"index": 0
}
]
]
},
"Fetch Warehouse and Transportation Data": {
"main": [
[
{
"node": "Combine Supply Chain Data",
"type": "main",
"index": 1
}
]
]
},
"OpenAI Model for Signal Monitoring Agent": {
"ai_languageModel": [
[
{
"node": "Signal Monitoring Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
openAiApislackOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow automates end-to-end supply chain visibility and logistics coordination for manufacturers, distributors, and retailers managing complex multi-tier supply networks. Designed for supply chain planners, logistics managers, and operations directors, it solves the…
Source: https://n8n.io/workflows/13337/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow automates end-to-end sustainability lifecycle management for corporate sustainability teams, ESG governance officers, and circular economy programme leads. It addresses the challenge of
This workflow automates end-to-end ESG (Environmental, Social, and Governance) sustainability reporting for enterprise sustainability teams, compliance officers, and green governance leads. It solves
This workflow automates semiconductor board-level reliability monitoring using AI agents. It targets reliability engineers, manufacturing teams, and quality analysts. The system collects capacity, his
This workflow automates procurement fraud detection and supplier compliance monitoring for organizations managing complex purchasing operations. Designed for procurement teams, audit departments, and
This workflow automates end-to-end patient care coordination by monitoring appointment schedules, clinical events, and care milestones while orchestrating personalized communications across multiple c