{"workflow":{"id":13709,"name":"Coordinate smart factory operations with OpenAI GPT-4.1-mini and Slack alerts","views":38,"recentViews":0,"totalViews":38,"createdAt":"2026-02-25T14:02:30.051Z","description":"## How It Works\nThis workflow automates cross-factory operations management by deploying a multi-agent AI system that validates production data, coordinates scheduling, procurement, and quality escalation, then routes outcomes by priority. Designed for manufacturing operations managers, supply chain coordinators, and factory floor teams, it eliminates manual coordination delays and ensures critical issues trigger immediate alerts. A schedule trigger fetches production and supply chain data in parallel, merges them, then passes to an Operations Validation Agent for data integrity checks. A Cross-Factory Coordination Agent orchestrates three sub-agents—Scheduling, Procurement, and Quality Escalation—producing consolidated coordination outputs. Results are routed by priority: high and critical cases trigger dedicated Slack alerts, while routine operations are logged for standard review.\n\n## Setup Steps\n1. Set schedule trigger interval to match operational review frequency.\n2. Add OpenAI API credentials to all OpenAI Model nodes.\n3. Connect production and supply chain data sources to fetch nodes.\n4. Configure Slack credentials for high-priority and critical alert channels.\n5. Define priority routing thresholds in the Route by Priority rules node.\n\n## Prerequisites\n- Slack workspace with bot token\n- Production and supply chain data sources (API or database)\n## Use Cases\n- Automated cross-factory scheduling conflict detection and resolution\n## Customization\n- Add sub-agents for logistics, maintenance, or inventory optimisation\n## Benefits\n- Automates cross-factory coordination across scheduling, procurement, and quality\n\n\n\n\n","workflow":{"id":"4mdAbPsiuKi9eBjS8DwzK","meta":{"instanceId":"b91e510ebae4127f953fd2f5f8d40d58ca1e71c746d4500c12ae86aad04c1502"},"name":"Smart factory operations coordinator with multi-agent scheduling alerts","tags":[],"nodes":[{"id":"ad845c62-9140-4d49-83d5-dbf9bcb4eb85","name":"Schedule Trigger","type":"n8n-nodes-base.scheduleTrigger","position":[-2672,192],"parameters":{"rule":{"interval":[{"field":"minutes","minutesInterval":15}]}},"typeVersion":1.3},{"id":"03bbf651-be95-4cea-8d5c-0ae474fbebb2","name":"Workflow Configuration","type":"n8n-nodes-base.set","position":[-2448,192],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"productionApiUrl","type":"string","value":"<__PLACEHOLDER_VALUE__Production API endpoint URL__>"},{"id":"id-2","name":"supplyChainApiUrl","type":"string","value":"<__PLACEHOLDER_VALUE__Supply chain API endpoint URL__>"},{"id":"id-3","name":"slackChannelId","type":"string","value":"<__PLACEHOLDER_VALUE__Slack channel ID for alerts__>"},{"id":"id-4","name":"criticalThreshold","type":"number","value":90},{"id":"id-5","name":"highThreshold","type":"number","value":70}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"2a801363-82a9-48df-9dfd-aa7845df059e","name":"Fetch Production Data","type":"n8n-nodes-base.httpRequest","position":[-2224,96],"parameters":{"url":"={{ $('Workflow Configuration').first().json.productionApiUrl }}","options":{"response":{"response":{"responseFormat":"json"}}}},"typeVersion":4.3},{"id":"46511d05-a962-4e44-a1d5-aa51c9ac79a8","name":"Fetch Supply Chain Data","type":"n8n-nodes-base.httpRequest","position":[-2224,288],"parameters":{"url":"={{ $('Workflow Configuration').first().json.supplyChainApiUrl }}","options":{"response":{"response":{"responseFormat":"json"}}}},"typeVersion":4.3},{"id":"dec5ae4a-4558-475e-88bb-c2e5e1840f9e","name":"Merge Operations Data","type":"n8n-nodes-base.merge","position":[-2000,192],"parameters":{},"typeVersion":3.2},{"id":"72856495-4ca3-4d55-8150-6e6633a20b16","name":"OpenAI Model - Validation Agent","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-1792,416],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1-mini"},"options":{},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"e8c97995-4f5b-431d-bc89-0263d0bd269e","name":"Validation Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-1640,416],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"validationId\": {\n      \"type\": \"string\"\n    },\n    \"productLine\": {\n      \"type\": \"string\",\n      \"enum\": [\"chemicals\", \"electronics\", \"motor_vehicles\", \"furniture\", \"food_products\"]\n    },\n    \"validationStatus\": {\n      \"type\": \"string\",\n      \"enum\": [\"valid\", \"warning\", \"critical\"]\n    },\n    \"productionSignals\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"outputRate\": {\n          \"type\": \"number\"\n        },\n        \"defectRate\": {\n          \"type\": \"number\"\n        },\n        \"downtimeMinutes\": {\n          \"type\": \"number\"\n        },\n        \"utilizationPercent\": {\n          \"type\": \"number\"\n        }\n      }\n    },\n    \"inventorySignals\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"stockLevel\": {\n          \"type\": \"number\"\n        },\n        \"reorderPoint\": {\n          \"type\": \"number\"\n        },\n        \"turnoverRate\": {\n          \"type\": \"number\"\n        },\n        \"expiryRisk\": {\n          \"type\": \"number\"\n        }\n      }\n    },\n    \"supplyChainSignals\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"leadTimeDays\": {\n          \"type\": \"number\"\n        },\n        \"supplierReliability\": {\n          \"type\": \"number\"\n        },\n        \"logisticsDelay\": {\n          \"type\": \"number\"\n        },\n        \"costVariance\": {\n          \"type\": \"number\"\n        }\n      }\n    },\n    \"anomalies\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"safetyFlags\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"complianceIssues\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"priorityLevel\": {\n      \"type\": \"string\",\n      \"enum\": [\"LOW\", \"MEDIUM\", \"HIGH\", \"CRITICAL\"]\n    },\n    \"recommendedActions\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"reasoning\": {\n      \"type\": \"string\"\n    }\n  }\n}"},"typeVersion":1.3},{"id":"14193227-6a2e-4747-a06a-ca16c3ef541c","name":"Operations Validation Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[-1776,192],"parameters":{"text":"={{ $json }}","options":{"systemMessage":"You are an Operations Validation Agent specialized in analyzing multi-product manufacturing operations across chemicals, electronics, motor vehicles, furniture, and food products.\n\nYour task is to:\n1. Inspect structured production signals (output rate, defect rate, downtime, utilization) for each product line\n2. Analyze inventory signals (stock levels, reorder points, turnover rates, expiry risks)\n3. Evaluate supply chain signals (lead times, supplier reliability, logistics delays, cost variance)\n4. Identify anomalies, safety flags, and compliance issues specific to each product category\n5. Assess priority level (LOW, MEDIUM, HIGH, CRITICAL) based on signal severity and business impact\n6. Recommend specific actions for each identified issue\n7. Provide detailed reasoning for validation assessment\n\nConsider industry-specific requirements:\n- Chemicals: Safety protocols, hazardous material handling, regulatory compliance\n- Electronics: Component availability, quality control, supply chain complexity\n- Motor Vehicles: Just-in-time inventory, assembly line efficiency, supplier coordination\n- Furniture: Material sourcing, production scheduling, seasonal demand\n- Food Products: Expiry management, cold chain integrity, food safety standards\n\nReturn structured validation output with comprehensive signal analysis and actionable recommendations."},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"20c550d8-4489-4ba9-89e8-a20e1d43b6ef","name":"OpenAI Model - Scheduling Agent","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-1328,624],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1-mini"},"options":{},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"31e00a8d-2565-47ca-9635-dac6d7be9c76","name":"Scheduling Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-1152,624],"parameters":{"schemaType":"manual","inputSchema":"{\n\t\"type\": \"object\",\n\t\"properties\": {\n\t\t\"schedulingId\": {\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t\"productLine\": {\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t\"schedulingRecommendations\": {\n\t\t\t\"type\": \"array\",\n\t\t\t\"items\": {\n\t\t\t\t\"type\": \"object\",\n\t\t\t\t\"properties\": {\n\t\t\t\t\t\"action\": {\n\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t},\n\t\t\t\t\t\"priority\": {\n\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t},\n\t\t\t\t\t\"timeframe\": {\n\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t},\n\t\t\t\t\t\"resourcesRequired\": {\n\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"productionSchedule\": {\n\t\t\t\"type\": \"object\",\n\t\t\t\"properties\": {\n\t\t\t\t\"shiftAdjustments\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"capacityReallocation\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"maintenanceWindows\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"conflictResolution\": {\n\t\t\t\"type\": \"array\",\n\t\t\t\"items\": {\n\t\t\t\t\"type\": \"string\"\n\t\t\t}\n\t\t},\n\t\t\"estimatedImpact\": {\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t\"reasoning\": {\n\t\t\t\"type\": \"string\"\n\t\t}\n\t}\n}"},"typeVersion":1.3},{"id":"cf09ba75-21f1-42bf-b050-095cda957277","name":"Scheduling Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[-1296,416],"parameters":{"text":"={{ $fromAI('validationData', 'Validation results and operational signals for scheduling analysis', 'json') }}","options":{"systemMessage":"You are a Scheduling Coordination Agent responsible for optimizing production schedules across multiple product lines and factories.\n\nYour task is to:\n1. Analyze validation results and operational signals to identify scheduling needs\n2. Recommend production schedule adjustments (shift changes, capacity reallocation, maintenance windows)\n3. Resolve scheduling conflicts between product lines and factories\n4. Prioritize scheduling actions based on urgency and business impact\n5. Calculate resource requirements and timeframes for schedule changes\n6. Estimate impact of scheduling adjustments on overall operations\n7. Provide detailed reasoning for scheduling recommendations\n\nConsider operational constraints, resource availability, and cross-factory dependencies.\n\nReturn structured scheduling recommendations with conflict resolution and impact assessment."},"hasOutputParser":true,"toolDescription":"Coordinates production scheduling across multiple product lines and factories, resolves conflicts, and optimizes resource allocation"},"typeVersion":3},{"id":"465b74b7-07e8-4d36-ac13-391cedcd39be","name":"OpenAI Model - Procurement Agent","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-1008,624],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1-mini"},"options":{},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"8852f043-4809-4b0c-8c9f-345cbe177526","name":"Procurement Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-848,624],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"procurementId\": {\n      \"type\": \"string\"\n    },\n    \"productLine\": {\n      \"type\": \"string\"\n    },\n    \"procurementAlerts\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"material\": {\n            \"type\": \"string\"\n          },\n          \"currentStock\": {\n            \"type\": \"number\"\n          },\n          \"reorderThreshold\": {\n            \"type\": \"number\"\n          },\n          \"urgency\": {\n            \"type\": \"string\"\n          },\n          \"supplier\": {\n            \"type\": \"string\"\n          }\n        }\n      }\n    },\n    \"supplierRecommendations\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"costOptimization\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"potentialSavings\": {\n          \"type\": \"number\"\n        },\n        \"alternativeSuppliers\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"string\"\n          }\n        },\n        \"bulkOrderOpportunities\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"string\"\n          }\n        }\n      }\n    },\n    \"leadTimeAnalysis\": {\n      \"type\": \"string\"\n    },\n    \"reasoning\": {\n      \"type\": \"string\"\n    }\n  }\n}"},"typeVersion":1.3},{"id":"7a9b884c-f7cc-45e9-aa52-9854e7d70ad9","name":"Procurement Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[-1008,416],"parameters":{"text":"={{ $fromAI('validationData', 'Validation results with inventory and supply chain signals for procurement analysis', 'json') }}","options":{"systemMessage":"You are a Procurement Alert Agent responsible for monitoring inventory levels and triggering procurement actions across multiple product lines.\n\nYour task is to:\n1. Analyze inventory signals to identify materials approaching reorder thresholds\n2. Generate procurement alerts with urgency levels based on stock depletion rates\n3. Recommend suppliers based on reliability, lead times, and cost\n4. Identify cost optimization opportunities (bulk orders, alternative suppliers, negotiation leverage)\n5. Analyze lead time risks and recommend proactive procurement strategies\n6. Consider product-specific procurement requirements (chemicals: regulatory compliance, electronics: component availability, etc.)\n7. Provide detailed reasoning for procurement recommendations\n\nReturn structured procurement alerts with supplier recommendations and cost optimization strategies."},"hasOutputParser":true,"toolDescription":"Monitors inventory levels, generates procurement alerts, and recommends supplier strategies for material replenishment"},"typeVersion":3},{"id":"db51cdaa-24b1-412f-bc7b-fccd358725ec","name":"OpenAI Model - Quality Agent","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-672,624],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1-mini"},"options":{},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"4e88f4c9-de07-46a7-b1b1-bcb6702a6ab8","name":"Quality Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-480,624],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"escalationId\": {\n      \"type\": \"string\"\n    },\n    \"productLine\": {\n      \"type\": \"string\"\n    },\n    \"qualityIssues\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"issueType\": {\n            \"type\": \"string\"\n          },\n          \"severity\": {\n            \"type\": \"string\"\n          },\n          \"affectedBatches\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          },\n          \"rootCause\": {\n            \"type\": \"string\"\n          }\n        }\n      }\n    },\n    \"escalationLevel\": {\n      \"type\": \"string\",\n      \"enum\": [\"team_lead\", \"quality_manager\", \"plant_director\", \"executive\"]\n    },\n    \"correctiveActions\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"preventiveMeasures\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"complianceRisk\": {\n      \"type\": \"string\"\n    },\n    \"reasoning\": {\n      \"type\": \"string\"\n    }\n  }\n}"},"typeVersion":1.3},{"id":"8ba64c81-c560-4f35-97a9-0e6fa0464105","name":"Quality Escalation Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[-720,416],"parameters":{"text":"={{ $fromAI('validationData', 'Validation results with quality signals, defect rates, and compliance issues', 'json') }}","options":{"systemMessage":"You are a Quality Escalation Agent responsible for identifying quality issues and determining appropriate escalation levels across multiple product lines.\n\nYour task is to:\n1. Analyze quality signals including defect rates, safety flags, and compliance issues\n2. Identify quality issues requiring escalation based on severity and business impact\n3. Determine escalation level (team_lead, quality_manager, plant_director, executive) based on issue criticality\n4. Recommend corrective actions to address immediate quality problems\n5. Suggest preventive measures to avoid recurrence\n6. Assess compliance risk and regulatory implications\n7. Provide detailed reasoning for escalation decisions\n\nConsider product-specific quality standards:\n- Chemicals: Safety protocols, purity standards, hazardous material handling\n- Electronics: Component quality, testing requirements, reliability standards\n- Motor Vehicles: Safety certifications, recall risk, regulatory compliance\n- Furniture: Material quality, structural integrity, safety standards\n- Food Products: Food safety, contamination risk, expiry management\n\nReturn structured quality escalation with corrective actions and compliance risk assessment."},"hasOutputParser":true,"toolDescription":"Identifies quality issues, determines escalation levels, and recommends corrective and preventive actions"},"typeVersion":3},{"id":"283f5925-0422-4b05-8e42-dcc42dd2d093","name":"OpenAI Model - Coordination Agent","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-1424,416],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1-mini"},"options":{},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"b8e3c323-8ca2-43ab-a337-81965cd7b5b1","name":"Coordination Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-432,416],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"coordinationId\": {\n      \"type\": \"string\"\n    },\n    \"priorityLevel\": {\n      \"type\": \"string\",\n      \"enum\": [\"LOW\", \"MEDIUM\", \"HIGH\", \"CRITICAL\"]\n    },\n    \"coordinatedActions\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"actionType\": {\n            \"type\": \"string\"\n          },\n          \"productLine\": {\n            \"type\": \"string\"\n          },\n          \"factory\": {\n            \"type\": \"string\"\n          },\n          \"assignedTo\": {\n            \"type\": \"string\"\n          },\n          \"deadline\": {\n            \"type\": \"string\"\n          },\n          \"status\": {\n            \"type\": \"string\"\n          }\n        }\n      }\n    },\n    \"crossFactoryReport\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"operationalSummary\": {\n          \"type\": \"string\"\n        },\n        \"affectedFactories\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"string\"\n          }\n        },\n        \"resourceAllocation\": {\n          \"type\": \"string\"\n        },\n        \"complianceStatus\": {\n          \"type\": \"string\"\n        },\n        \"safetyStatus\": {\n          \"type\": \"string\"\n        }\n      }\n    },\n    \"schedulingDecisions\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"procurementDecisions\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"qualityEscalations\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"traceabilityReport\": {\n      \"type\": \"string\"\n    },\n    \"reasoning\": {\n      \"type\": \"string\"\n    }\n  }\n}"},"typeVersion":1.3},{"id":"e65e37cc-1ae7-45be-ba51-227cf0ca87a0","name":"Cross-Factory Coordination Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[-1000,192],"parameters":{"text":"={{ $json }}","options":{"systemMessage":"You are a Cross-Factory Coordination Agent responsible for orchestrating operations across multiple product lines and manufacturing facilities.\n\nYour task is to:\n1. Receive validation results from the Operations Validation Agent\n2. Coordinate specialized agent tools to address identified issues:\n   - Call Scheduling Agent Tool for production schedule optimization and conflict resolution\n   - Call Procurement Agent Tool for inventory replenishment and supplier coordination\n   - Call Quality Escalation Agent Tool for quality issues requiring management attention\n3. Synthesize recommendations from all agent tools into coordinated action plans\n4. Generate cross-factory reports covering operational status, resource allocation, compliance, and safety\n5. Enforce safety protocols and compliance requirements across all product lines\n6. Maintain traceability of all decisions and actions for audit purposes\n7. Determine overall priority level (LOW, MEDIUM, HIGH, CRITICAL) for coordination response\n8. Provide comprehensive reasoning for coordination decisions\n\nConsider cross-factory dependencies, resource constraints, and regulatory requirements.\n\nReturn structured coordination output with actionable decisions and comprehensive reporting."},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"6a2aa32a-dbba-4e2c-adc5-f1528987ffc9","name":"Route by Priority","type":"n8n-nodes-base.switch","position":[-208,336],"parameters":{"rules":{"values":[{"outputKey":"Critical","conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.priorityLevel }}","rightValue":"CRITICAL"}]},"renameOutput":true},{"outputKey":"High","conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.priorityLevel }}","rightValue":"HIGH"}]},"renameOutput":true}]},"options":{"fallbackOutput":"extra","renameFallbackOutput":"Routine"}},"typeVersion":3.4},{"id":"4526d2e8-cfa2-4a0e-92df-6b2adc10c25d","name":"Critical Alert - Slack","type":"n8n-nodes-base.slack","position":[16,544],"webhookId":"dbcb4374-3fe3-4213-9e69-af34f9bbcdb8","parameters":{"text":"=🚨 **CRITICAL ALERT** 🚨\n\n**Coordination ID:** {{ $json.coordinationId }}\n**Priority Level:** {{ $json.priorityLevel }}\n**Timestamp:** {{ $now.toISO() }}\n\n**Operational Summary:**\n{{ $json.crossFactoryReport.operationalSummary }}\n\n**Action Count:** {{ $json.coordinatedActions.length }}\n**Compliance Status:** {{ $json.crossFactoryReport.complianceStatus }}\n\n**Traceability Report:**\n{{ $json.traceabilityReport }}","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":"13346565-45e5-4305-8932-aaea4e123b1e","name":"High Priority Alert - Slack","type":"n8n-nodes-base.slack","position":[16,160],"webhookId":"90e93235-3133-4c71-b64d-926567e1d8d4","parameters":{"text":"=⚠️ **HIGH PRIORITY ALERT** ⚠️\n\n**Coordination ID:** {{ $json.coordinationId }}\n**Priority Level:** {{ $json.priorityLevel }}\n**Timestamp:** {{ $now.toISO() }}\n\n**Operational Summary:**\n{{ $json.crossFactoryReport.operationalSummary }}\n\n**Coordinated Actions:** {{ $json.coordinatedActions.length }}\n**Affected Factories:** {{ $json.crossFactoryReport.affectedFactories.join(\", \") }}\n**Compliance Status:** {{ $json.crossFactoryReport.complianceStatus }}\n**Safety Status:** {{ $json.crossFactoryReport.safetyStatus }}\n\n**Key Decisions:**\n- Scheduling: {{ $json.schedulingDecisions.join(\", \") }}\n- Procurement: {{ $json.procurementDecisions.join(\", \") }}\n- Quality: {{ $json.qualityEscalations.join(\", \") }}","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":"1d2e58bc-075b-49f7-9174-c1517940b799","name":"Log Routine Operations","type":"n8n-nodes-base.set","position":[16,352],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"logTimestamp","type":"string","value":"={{ $now.toISO() }}"},{"id":"id-2","name":"coordinationId","type":"string","value":"={{ $json.coordinationId }}"},{"id":"id-3","name":"priorityLevel","type":"string","value":"={{ $json.priorityLevel }}"},{"id":"id-4","name":"operationalSummary","type":"string","value":"={{ $json.crossFactoryReport.operationalSummary }}"},{"id":"id-5","name":"actionCount","type":"number","value":"={{ $json.coordinatedActions.length }}"},{"id":"id-6","name":"complianceStatus","type":"string","value":"={{ $json.crossFactoryReport.complianceStatus }}"},{"id":"id-7","name":"safetyStatus","type":"string","value":"={{ $json.crossFactoryReport.safetyStatus }}"},{"id":"id-8","name":"traceabilityReport","type":"string","value":"={{ $json.traceabilityReport }}"}]}},"typeVersion":3.4},{"id":"c114e9bd-9c78-4395-9887-d31a47e39016","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-1680,-400],"parameters":{"color":6,"width":432,"height":384,"content":"## Prerequisites\n- Slack workspace with bot token\n- Production and supply chain data sources (API or database)\n## Use Cases\n- Automated cross-factory scheduling conflict detection and resolution\n## Customization\n- Add sub-agents for logistics, maintenance, or inventory optimisation\n## Benefits\n- Automates cross-factory coordination across scheduling, procurement, and quality"},"typeVersion":1},{"id":"37a57ccc-600e-4428-8331-9f0a6876542c","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-2128,-304],"parameters":{"width":400,"height":272,"content":"## Setup Steps\n1. Set schedule trigger interval to match operational review frequency.\n2. Add OpenAI API credentials to all OpenAI Model nodes.\n3. Connect production and supply chain data sources to fetch nodes.\n4. Configure Slack credentials for high-priority and critical alert channels.\n5. Define priority routing thresholds in the Route by Priority rules node."},"typeVersion":1},{"id":"c764f047-364e-4fdc-9fb9-e3dde4c82096","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-2688,-352],"parameters":{"width":528,"height":320,"content":"## How It Works\nThis workflow automates cross-factory operations management by deploying a multi-agent AI system that validates production data, coordinates scheduling, procurement, and quality escalation, then routes outcomes by priority. Designed for manufacturing operations managers, supply chain coordinators, and factory floor teams, it eliminates manual coordination delays and ensures critical issues trigger immediate alerts. A schedule trigger fetches production and supply chain data in parallel, merges them, then passes to an Operations Validation Agent for data integrity checks. A Cross-Factory Coordination Agent orchestrates three sub-agents—Scheduling, Procurement, and Quality Escalation—producing consolidated coordination outputs. Results are routed by priority: high and critical cases trigger dedicated Slack alerts, while routine operations are logged for standard review."},"typeVersion":1},{"id":"39bcc175-5823-4487-ba73-a8d20523f576","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[-272,0],"parameters":{"color":7,"width":448,"height":768,"content":"## Route by Priority & Alert\n**What** – Separates critical, high, and routine operational outcomes.\n**Why** – Ensures urgent issues reach the right team without delay."},"typeVersion":1},{"id":"923898c2-130e-4c99-8af2-db55fa36b24b","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[-1440,0],"parameters":{"color":7,"width":1136,"height":784,"content":"## Cross-Factory Coordination Agent\n**What** – Orchestrates Scheduling, Procurement, and Quality Escalation sub-agents.\n**Why** – Centralises cross-factory logic for consistent, auditable operational decisions."},"typeVersion":1},{"id":"fe1cc0a0-27f4-4e2e-b35f-f72463f21e1c","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[-1824,0],"parameters":{"color":7,"width":368,"height":624,"content":"## Operations Validation Agent\n**What** – Validates merged data integrity using OpenAI before coordination.\n**Why** – Prevents faulty data from propagating incorrect scheduling or procurement decisions.\n"},"typeVersion":1},{"id":"eb220500-958a-4e3c-902c-b6fa8716ad4f","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[-2704,0],"parameters":{"color":7,"width":848,"height":640,"content":"## Merge Operations Data\n**What** – Combines production and supply chain data into unified context.\n**Why** – Gives downstream agents complete visibility across factory operations."},"typeVersion":1}],"active":false,"pinData":{},"settings":{"availableInMCP":false,"executionOrder":"v1"},"versionId":"f5e8e259-a973-4f66-8d5e-30f92b5e9871","connections":{"Schedule Trigger":{"main":[[{"node":"Workflow Configuration","type":"main","index":0}]]},"Route by Priority":{"main":[[{"node":"Critical Alert - Slack","type":"main","index":0}],[{"node":"High Priority Alert - Slack","type":"main","index":0}],[{"node":"Log Routine Operations","type":"main","index":0}]]},"Fetch Production Data":{"main":[[{"node":"Merge Operations Data","type":"main","index":0}]]},"Merge Operations Data":{"main":[[{"node":"Operations Validation Agent","type":"main","index":0}]]},"Quality Output Parser":{"ai_outputParser":[[{"node":"Quality Escalation Agent Tool","type":"ai_outputParser","index":0}]]},"Scheduling Agent Tool":{"ai_tool":[[{"node":"Cross-Factory Coordination Agent","type":"ai_tool","index":0}]]},"Procurement Agent Tool":{"ai_tool":[[{"node":"Cross-Factory Coordination Agent","type":"ai_tool","index":0}]]},"Workflow Configuration":{"main":[[{"node":"Fetch Production Data","type":"main","index":0},{"node":"Fetch Supply Chain Data","type":"main","index":0}]]},"Fetch Supply Chain Data":{"main":[[{"node":"Merge Operations Data","type":"main","index":1}]]},"Scheduling Output Parser":{"ai_outputParser":[[{"node":"Scheduling Agent Tool","type":"ai_outputParser","index":0}]]},"Validation Output Parser":{"ai_outputParser":[[{"node":"Operations Validation Agent","type":"ai_outputParser","index":0}]]},"Procurement Output Parser":{"ai_outputParser":[[{"node":"Procurement Agent Tool","type":"ai_outputParser","index":0}]]},"Coordination Output Parser":{"ai_outputParser":[[{"node":"Cross-Factory Coordination Agent","type":"ai_outputParser","index":0}]]},"Operations Validation Agent":{"main":[[{"node":"Cross-Factory Coordination Agent","type":"main","index":0}]]},"OpenAI Model - Quality Agent":{"ai_languageModel":[[{"node":"Quality Escalation Agent Tool","type":"ai_languageModel","index":0}]]},"Quality Escalation Agent Tool":{"ai_tool":[[{"node":"Cross-Factory Coordination Agent","type":"ai_tool","index":0}]]},"OpenAI Model - Scheduling Agent":{"ai_languageModel":[[{"node":"Scheduling Agent Tool","type":"ai_languageModel","index":0}]]},"OpenAI Model - Validation Agent":{"ai_languageModel":[[{"node":"Operations Validation Agent","type":"ai_languageModel","index":0}]]},"Cross-Factory Coordination Agent":{"main":[[{"node":"Route by Priority","type":"main","index":0}]]},"OpenAI Model - Procurement Agent":{"ai_languageModel":[[{"node":"Procurement Agent Tool","type":"ai_languageModel","index":0}]]},"OpenAI Model - Coordination Agent":{"ai_languageModel":[[{"node":"Cross-Factory Coordination Agent","type":"ai_languageModel","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":31,"nodeTypes":{"n8n-nodes-base.set":{"count":2},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.slack":{"count":2},"n8n-nodes-base.switch":{"count":1},"n8n-nodes-base.stickyNote":{"count":7},"n8n-nodes-base.httpRequest":{"count":2},"@n8n/n8n-nodes-langchain.agent":{"count":2},"n8n-nodes-base.scheduleTrigger":{"count":1},"@n8n/n8n-nodes-langchain.agentTool":{"count":3},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":5},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":5}}},"status":"published","readyToDemo":null,"user":{"name":"Cheng Siong Chin","username":"cschin","bio":"Dr. Cheng Siong CHIN is an n8n workflow creator specializing in AI-powered automation, agent orchestration, and intelligent system integrations. He designs and builds end-to-end workflows that combine LLMs, APIs, and data pipelines to streamline complex processes and deliver production-ready automation solutions. Contact me to discuss custom AI workflows and agent architectures.\n","verified":true,"links":["https://gravatar.com/mysticluminary9fa255f7f5"],"avatar":"https://gravatar.com/avatar/54544f98e839bb9dd9a764ad1e6823eeddb6db5138d201e42f291a7b0a73303f?r=pg&d=retro&size=200"},"nodes":[{"id":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":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":839,"icon":"fa:clock","name":"n8n-nodes-base.scheduleTrigger","codex":{"data":{"alias":["Time","Scheduler","Polling","Cron","Interval"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\",\"schedule\"]","defaults":{"name":"Schedule Trigger","color":"#31C49F"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Schedule Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1153,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"OpenAI Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1179,"icon":"fa:code","name":"@n8n/n8n-nodes-langchain.outputParserStructured","codex":{"data":{"alias":["json","zod"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Output Parsers"]}}},"group":"[\"transform\"]","defaults":{"name":"Structured Output Parser"},"iconData":{"icon":"code","type":"icon"},"displayName":"Structured Output Parser","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1310,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agentTool","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"categories":["AI","Langchain"],"subcategories":{"AI":["Tools"],"Tools":["Recommended Tools"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent Tool","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent Tool","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":5,"name":"Engineering"},{"id":48,"name":"AI RAG"}],"image":[]}}