{"workflow":{"id":13316,"name":"Evaluate supply chain risk and orchestrate contingencies with Claude, Google Sheets, Gmail and Slack","views":28,"recentViews":0,"totalViews":28,"createdAt":"2026-02-11T17:35:16.505Z","description":"## How It Works\nThis workflow automates enterprise risk management by intelligently routing risks across three severity tiers. Built for compliance teams and risk managers, it eliminates manual evaluation bottlenecks and inconsistent escalation. The system retrieves risk data from spreadsheets, calculates severity indicators, then routes items through specialized AI agents—critical risks trigger coordinated multi-agent assessment with Gmail and Slack alerts, medium risks undergo standard AI evaluation, while low risks receive automated acknowledgment. Each severity level follows distinct processing paths ensuring appropriate review depth, stakeholder notification, and audit documentation.\n\n## Setup Steps\n1. Connect Google Sheets with risk data\n2. Configure Anthropic API credentials for Claude Model nodes \n3. Set up Gmail authentication for notification delivery\n4. Connect Slack workspace and specify channel IDs for critical/low risk alerts\n5. Customize risk thresholds \n6. Update parser regex patterns in Code nodes matching assessment output format\n\n## Prerequisites\nActive accounts: Google Sheets, Anthropic Claude API, Gmail, Slack.\n## Use Cases\nEnterprise compliance monitoring, operational risk management\n## Customization\nModify scoring formulas, adjust severity thresholds, add custom AI criteria\n## Benefits\nEliminates manual triage, ensures consistent standards, accelerates critical response","workflow":{"id":"luNssK2IRCtFo6XBSgzKa","meta":{"instanceId":"b91e510ebae4127f953fd2f5f8d40d58ca1e71c746d4500c12ae86aad04c1502"},"name":"AI-Powered Supply Chain Risk Evaluation and Contingency Orchestration","tags":[],"nodes":[{"id":"52946ab0-cc13-496a-be8f-e0a24eff5411","name":"Schedule Trigger","type":"n8n-nodes-base.scheduleTrigger","position":[-1664,416],"parameters":{"rule":{"interval":[{"field":"hours"}]}},"typeVersion":1.3},{"id":"d2c98343-ddfc-4e8a-acdf-a9bc76a169d8","name":"Workflow Configuration","type":"n8n-nodes-base.set","position":[-1440,416],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"riskDataSheetId","type":"string","value":"<__PLACEHOLDER_VALUE__Google Sheets ID for Risk Data__>"},{"id":"id-2","name":"logSheetId","type":"string","value":"<__PLACEHOLDER_VALUE__Google Sheets ID for Risk Assessment Log__>"},{"id":"id-3","name":"slackChannelId","type":"string","value":"<__PLACEHOLDER_VALUE__Slack Channel ID for Risk Notifications__>"},{"id":"id-4","name":"approvalEmailRecipients","type":"string","value":"<__PLACEHOLDER_VALUE__Comma-separated email addresses for approvals__>"},{"id":"id-5","name":"criticalRiskThreshold","type":"number","value":80},{"id":"id-6","name":"mediumRiskThreshold","type":"number","value":50}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"f1e8af09-8164-497c-99b6-b0e787e1ef6a","name":"Fetch Risk Data","type":"n8n-nodes-base.googleSheets","position":[-1216,416],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"name","value":"Risk Indicators"},"documentId":{"__rl":true,"mode":"id","value":"={{ $('Workflow Configuration').first().json.riskDataSheetId }}"}},"credentials":{"googleSheetsOAuth2Api":{"id":"hQFe8XTqJEiHL03Z","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"d729afbd-fa93-4a25-af88-2f737b056da7","name":"Aggregate Risk Indicators","type":"n8n-nodes-base.code","position":[-992,416],"parameters":{"jsCode":"// Aggregate risk indicators from multiple rows into structured object\nconst items = $input.all();\n\n// Initialize aggregated risk data structure\nconst aggregatedRisk = {\n  supplier: {\n    totalSuppliers: 0,\n    highRiskSuppliers: 0,\n    averageLeadTime: 0,\n    qualityIssues: 0\n  },\n  logistics: {\n    delayedShipments: 0,\n    totalShipments: 0,\n    averageDelayDays: 0,\n    routeDisruptions: 0\n  },\n  inventory: {\n    lowStockItems: 0,\n    totalItems: 0,\n    stockoutRisk: 0,\n    averageStockLevel: 0\n  },\n  rawData: []\n};\n\n// Process each row of risk data\nfor (const item of items) {\n  const data = item.json;\n  \n  // Aggregate supplier metrics\n  if (data.supplierRiskScore !== undefined) {\n    aggregatedRisk.supplier.totalSuppliers++;\n    if (data.supplierRiskScore > 70) {\n      aggregatedRisk.supplier.highRiskSuppliers++;\n    }\n  }\n  \n  if (data.leadTime !== undefined) {\n    aggregatedRisk.supplier.averageLeadTime += data.leadTime;\n  }\n  \n  if (data.qualityIssue === true || data.qualityIssue === 'true') {\n    aggregatedRisk.supplier.qualityIssues++;\n  }\n  \n  // Aggregate logistics metrics\n  if (data.shipmentStatus !== undefined) {\n    aggregatedRisk.logistics.totalShipments++;\n    if (data.shipmentStatus === 'delayed') {\n      aggregatedRisk.logistics.delayedShipments++;\n    }\n  }\n  \n  if (data.delayDays !== undefined && data.delayDays > 0) {\n    aggregatedRisk.logistics.averageDelayDays += data.delayDays;\n  }\n  \n  if (data.routeDisruption === true || data.routeDisruption === 'true') {\n    aggregatedRisk.logistics.routeDisruptions++;\n  }\n  \n  // Aggregate inventory metrics\n  if (data.stockLevel !== undefined) {\n    aggregatedRisk.inventory.totalItems++;\n    aggregatedRisk.inventory.averageStockLevel += data.stockLevel;\n    \n    if (data.stockLevel < data.reorderPoint) {\n      aggregatedRisk.inventory.lowStockItems++;\n    }\n  }\n  \n  if (data.stockoutRisk !== undefined) {\n    aggregatedRisk.inventory.stockoutRisk += data.stockoutRisk;\n  }\n  \n  // Store raw data for reference\n  aggregatedRisk.rawData.push(data);\n}\n\n// Calculate averages\nif (aggregatedRisk.supplier.totalSuppliers > 0) {\n  aggregatedRisk.supplier.averageLeadTime = \n    aggregatedRisk.supplier.averageLeadTime / aggregatedRisk.supplier.totalSuppliers;\n}\n\nif (aggregatedRisk.logistics.delayedShipments > 0) {\n  aggregatedRisk.logistics.averageDelayDays = \n    aggregatedRisk.logistics.averageDelayDays / aggregatedRisk.logistics.delayedShipments;\n}\n\nif (aggregatedRisk.inventory.totalItems > 0) {\n  aggregatedRisk.inventory.averageStockLevel = \n    aggregatedRisk.inventory.averageStockLevel / aggregatedRisk.inventory.totalItems;\n  aggregatedRisk.inventory.stockoutRisk = \n    aggregatedRisk.inventory.stockoutRisk / aggregatedRisk.inventory.totalItems;\n}\n\n// Calculate overall risk score\naggregatedRisk.overallRiskScore = (\n  (aggregatedRisk.supplier.highRiskSuppliers / Math.max(aggregatedRisk.supplier.totalSuppliers, 1)) * 40 +\n  (aggregatedRisk.logistics.delayedShipments / Math.max(aggregatedRisk.logistics.totalShipments, 1)) * 30 +\n  (aggregatedRisk.inventory.lowStockItems / Math.max(aggregatedRisk.inventory.totalItems, 1)) * 30\n);\n\naggregatedRisk.timestamp = new Date().toISOString();\n\n// Return with riskData field instead of at root level\nreturn [{ json: { riskData: aggregatedRisk } }];"},"typeVersion":2},{"id":"f5c86de8-e15f-4138-8063-4a821d66aa72","name":"Risk Signal Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[-768,416],"parameters":{"text":"=Risk Indicators Data: {{ JSON.stringify($json.riskData) }}","options":{"systemMessage":"You are a specialized Supply Chain Risk Signal Agent.\n\nYour task is to:\n1. Analyze structured supplier, logistics, and inventory risk indicators\n2. Evaluate each risk category (supplier reliability, logistics delays, inventory shortages, quality issues, compliance violations)\n3. Calculate risk scores for each category (0-100 scale)\n4. Determine overall risk level: LOW (0-49), MEDIUM (50-79), CRITICAL (80-100)\n5. Identify specific risk factors and their severity\n6. Provide reasoning for risk assessment\n7. Flag contractual boundary violations (e.g., supplier contract breaches, SLA violations)\n8. Return structured JSON output with all risk metrics\n\nConsider:\n- Historical performance patterns\n- Current operational metrics\n- Contractual obligations and SLAs\n- Industry benchmarks\n- Cascading risk impacts\n\nIMPORTANT: Preserve contractual boundaries - do not recommend actions that violate existing agreements."},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"13471257-1ac6-4ae2-825e-8a3fbe4cac21","name":"Anthropic Model - Risk Agent","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[-832,640],"parameters":{"model":{"__rl":true,"mode":"list","value":"claude-sonnet-4-5-20250929","cachedResultName":"Claude Sonnet 4.5"},"options":{}},"credentials":{"anthropicApi":{"id":"S8laStQPC1u3EYuZ","name":"Anthropic account"}},"typeVersion":1.3},{"id":"2843cf74-3bdb-4713-9367-46da595c7beb","name":"Risk Assessment Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-640,640],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"overallRiskLevel\": {\n      \"type\": \"string\",\n      \"description\": \"Overall risk level: LOW, MEDIUM, or CRITICAL\"\n    },\n    \"overallRiskScore\": {\n      \"type\": \"number\",\n      \"description\": \"Overall risk score (0-100)\"\n    },\n    \"supplierRiskScore\": {\n      \"type\": \"number\",\n      \"description\": \"Supplier reliability risk score (0-100)\"\n    },\n    \"logisticsRiskScore\": {\n      \"type\": \"number\",\n      \"description\": \"Logistics and delivery risk score (0-100)\"\n    },\n    \"inventoryRiskScore\": {\n      \"type\": \"number\",\n      \"description\": \"Inventory shortage risk score (0-100)\"\n    },\n    \"riskFactors\": {\n      \"type\": \"array\",\n      \"description\": \"List of identified risk factors\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"contractualViolations\": {\n      \"type\": \"array\",\n      \"description\": \"List of contractual boundary violations detected\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"reasoning\": {\n      \"type\": \"string\",\n      \"description\": \"Detailed reasoning for the risk assessment\"\n    }\n  },\n  \"required\": [\"overallRiskLevel\", \"overallRiskScore\", \"supplierRiskScore\", \"logisticsRiskScore\", \"inventoryRiskScore\", \"riskFactors\", \"contractualViolations\", \"reasoning\"]\n}"},"typeVersion":1.3},{"id":"446c55ff-565b-4685-8081-4a1446612f87","name":"Route by Risk Level","type":"n8n-nodes-base.switch","position":[-416,384],"parameters":{"rules":{"values":[{"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":"Medium Risk","conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.overallRiskLevel }}","rightValue":"MEDIUM"}]},"renameOutput":true},{"outputKey":"Low Risk","conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.overallRiskLevel }}","rightValue":"LOW"}]},"renameOutput":true}]},"options":{"fallbackOutput":"extra","renameFallbackOutput":"Unclassified"}},"typeVersion":3.4},{"id":"609124a4-74fd-4345-9804-b0876ee94607","name":"Coordination Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[64,304],"parameters":{"text":"=Risk Assessment: {{ JSON.stringify($json.output) }}\nRisk Data: {{ JSON.stringify($json.riskData) }}","options":{"systemMessage":"You are a Supply Chain Coordination Agent responsible for orchestrating contingency workflows and managing internal approvals.\n\nYour task is to:\n1. Review the risk assessment from the Risk Signal Agent\n2. Determine appropriate contingency actions based on risk level and factors\n3. Use available tools to execute contingency workflows:\n   - Slack Notification Tool: Alert relevant teams about risks\n   - Gmail Approval Tool: Request approvals from stakeholders for critical actions\n   - Impact Assessment Agent Tool: Perform detailed impact analysis\n4. Coordinate multi-step responses while preserving contractual boundaries\n5. Ensure all actions comply with existing supplier contracts and SLAs\n6. Return structured output with actions taken and approvals requested\n\nAvailable Tools:\n- Slack Notification Tool: Send notifications to risk management teams\n- Gmail Approval Tool: Send approval requests to stakeholders\n- Impact Assessment Agent Tool: Analyze financial and operational impacts\n\nIMPORTANT:\n- Never recommend actions that violate contractual obligations\n- Always request approval before suggesting contract modifications\n- Prioritize actions that work within existing agreements\n- Document all contractual constraints in your response"},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"31f0aae3-0ddf-45d8-8f7f-30766aa3f1db","name":"Anthropic Model - Coordination Agent","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[-64,624],"parameters":{"model":{"__rl":true,"mode":"list","value":"claude-sonnet-4-5-20250929","cachedResultName":"Claude Sonnet 4.5"},"options":{}},"credentials":{"anthropicApi":{"id":"S8laStQPC1u3EYuZ","name":"Anthropic account"}},"typeVersion":1.3},{"id":"63be6026-dc2d-457b-9908-7c34d172e1ec","name":"Coordination Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[32,528],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"actionsTaken\": {\n      \"type\": \"array\",\n      \"description\": \"List of contingency actions executed\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"approvalsRequested\": {\n      \"type\": \"array\",\n      \"description\": \"List of approvals requested from stakeholders\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"notificationsSent\": {\n      \"type\": \"array\",\n      \"description\": \"List of notifications sent to teams\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"impactAssessmentSummary\": {\n      \"type\": \"string\",\n      \"description\": \"Summary of impact assessment results\"\n    },\n    \"contractualConstraints\": {\n      \"type\": \"array\",\n      \"description\": \"List of contractual constraints that limit available actions\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"recommendedNextSteps\": {\n      \"type\": \"array\",\n      \"description\": \"Recommended next steps for risk mitigation\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    }\n  },\n  \"required\": [\"actionsTaken\", \"approvalsRequested\", \"notificationsSent\", \"contractualConstraints\", \"recommendedNextSteps\"]\n}"},"typeVersion":1.3},{"id":"b29c032b-0a3e-4571-81ed-e6a3703d98cd","name":"Slack Notification Tool","type":"n8n-nodes-base.slackTool","position":[160,608],"webhookId":"593f0d41-cdf7-4310-a26b-dcc8ef24b3d3","parameters":{"text":"={{ $fromAI('message', 'Notification message content', 'string') }}","select":"channel","channelId":{"__rl":true,"mode":"id","value":"={{ $fromAI('slackChannel', 'Slack channel ID for notification', 'string') }}"},"otherOptions":{},"authentication":"oAuth2"},"credentials":{"slackOAuth2Api":{"id":"d34b1ayEBbvZm2lT","name":"Slack account"}},"typeVersion":2.4},{"id":"01056a59-3aa2-431f-9db0-b9a9fb8f6f9c","name":"Gmail Approval Tool","type":"n8n-nodes-base.gmailTool","position":[272,480],"webhookId":"fb9abbd2-da4c-4174-9148-215264e76d94","parameters":{"sendTo":"={{ $fromAI('recipients', 'Email recipients for approval request', 'string') }}","message":"={{ $fromAI('emailBody', 'Email body content', 'string') }}","options":{},"subject":"={{ $fromAI('subject', 'Email subject line', 'string') }}"},"credentials":{"gmailOAuth2":{"id":"u1N5nBDvQ0AWhNnV","name":"Gmail account"}},"typeVersion":2.2},{"id":"d27a3996-c3f2-451e-b994-40fa286c4213","name":"Impact Assessment Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[400,528],"parameters":{"text":"={{ $fromAI(\"riskContext\", \"Risk assessment context and data for impact analysis\", \"json\") }}","options":{"systemMessage":"You are an Impact Assessment Specialist for supply chain risk management.\n\nYour task is to:\n1. Analyze the provided risk context and assessment data\n2. Calculate financial impact (revenue loss, cost increases, penalties)\n3. Assess operational impact (production delays, capacity constraints, customer satisfaction)\n4. Evaluate reputational impact (brand damage, customer trust)\n5. Identify cascading effects across the supply chain\n6. Estimate recovery time and mitigation costs\n7. Return structured impact assessment with quantified metrics\n\nConsider:\n- Direct and indirect costs\n- Short-term and long-term impacts\n- Probability-weighted scenarios\n- Historical incident data\n- Industry benchmarks"},"hasOutputParser":true,"toolDescription":"Performs detailed financial and operational impact assessment for supply chain risks"},"typeVersion":3},{"id":"6ea96b07-12d2-4024-8e10-3f46cfc3197a","name":"Anthropic Model - Impact Agent","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[448,736],"parameters":{"model":{"__rl":true,"mode":"list","value":"claude-sonnet-4-5-20250929","cachedResultName":"Claude Sonnet 4.5"},"options":{}},"credentials":{"anthropicApi":{"id":"S8laStQPC1u3EYuZ","name":"Anthropic account"}},"typeVersion":1.3},{"id":"755292a1-1a28-4cee-a8f1-15f493b9d8e7","name":"Impact Assessment Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[576,736],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"financialImpact\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"estimatedRevenueLoss\": {\n          \"type\": \"number\"\n        },\n        \"estimatedCostIncrease\": {\n          \"type\": \"number\"\n        },\n        \"potentialPenalties\": {\n          \"type\": \"number\"\n        }\n      }\n    },\n    \"operationalImpact\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"productionDelayDays\": {\n          \"type\": \"number\"\n        },\n        \"capacityReductionPercent\": {\n          \"type\": \"number\"\n        },\n        \"affectedCustomers\": {\n          \"type\": \"number\"\n        }\n      }\n    },\n    \"recoveryTimeEstimate\": {\n      \"type\": \"string\",\n      \"description\": \"Estimated time to recover from the risk event\"\n    },\n    \"mitigationCost\": {\n      \"type\": \"number\",\n      \"description\": \"Estimated cost to mitigate the risk\"\n    },\n    \"cascadingEffects\": {\n      \"type\": \"array\",\n      \"description\": \"List of cascading effects across the supply chain\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    }\n  },\n  \"required\": [\"financialImpact\", \"operationalImpact\", \"recoveryTimeEstimate\", \"mitigationCost\", \"cascadingEffects\"]\n}"},"typeVersion":1.3},{"id":"32296f00-b404-4956-8bb7-af247ba96870","name":"Log Risk Assessment","type":"n8n-nodes-base.googleSheets","position":[1040,720],"parameters":{"columns":{"value":{},"schema":[],"mappingMode":"autoMapInputData","matchingColumns":["timestamp"]},"options":{},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"name","value":"Risk Assessment Log"},"documentId":{"__rl":true,"mode":"id","value":"={{ $('Workflow Configuration').first().json.logSheetId }}"}},"credentials":{"googleSheetsOAuth2Api":{"id":"hQFe8XTqJEiHL03Z","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"38aaf670-6b64-4dc4-96f0-c92cfa9c663e","name":"Low Risk Notification","type":"n8n-nodes-base.slack","position":[464,912],"webhookId":"768104c0-6bea-4f80-b8f3-4a2d623cf2c4","parameters":{"text":"=✅ Low Risk Assessment - No Action Required\n\nOverall Risk Score: {{ $json.output.overallRiskScore }}\nSupplier Risk: {{ $json.output.supplierRiskScore }}\nLogistics Risk: {{ $json.output.logisticsRiskScore }}\nInventory Risk: {{ $json.output.inventoryRiskScore }}\n\nRisk Factors:\n{{ $json.output.riskFactors.map(f => \"• \" + f).join(\"\\n\") }}\n\nReasoning: {{ $json.output.reasoning }}","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":"01471f38-2039-4135-9e6e-d7227052c5be","name":"Merge Results","type":"n8n-nodes-base.merge","position":[816,720],"parameters":{"mode":"combine","options":{},"combineBy":"combineByPosition"},"typeVersion":3.2},{"id":"8dfd6359-c189-4f0f-b176-105ecced6c4c","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-848,-160],"parameters":{"color":4,"width":464,"height":336,"content":"## Prerequisites\nActive accounts: Google Sheets, Anthropic Claude API, Gmail, Slack.\n## Use Cases\nEnterprise compliance monitoring, operational risk management\n## Customization\nModify scoring formulas, adjust severity thresholds, add custom AI criteria\n## Benefits\nEliminates manual triage, ensures consistent standards, accelerates critical response"},"typeVersion":1},{"id":"05bfc043-9ade-4c47-91bf-1a771fbb0e1c","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-1216,-80],"parameters":{"width":336,"height":272,"content":"## Setup Steps\n1. Connect Google Sheets with risk data\n2. Configure Anthropic API credentials for Claude Model nodes \n3. Set up Gmail authentication for notification delivery\n4. Connect Slack workspace and specify channel IDs for critical/low risk alerts\n5. Customize risk thresholds \n6. Update parser regex patterns in Code nodes matching assessment output format"},"typeVersion":1},{"id":"9759fccb-fe8b-4c9b-aa12-403f68fb1091","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-1696,-96],"parameters":{"width":432,"height":288,"content":"## How It Works\nThis workflow automates enterprise risk management by intelligently routing risks across three severity tiers. Built for compliance teams and risk managers, it eliminates manual evaluation bottlenecks and inconsistent escalation. The system retrieves risk data from spreadsheets, calculates severity indicators, then routes items through specialized AI agents—critical risks trigger coordinated multi-agent assessment with Gmail and Slack alerts, medium risks undergo standard AI evaluation, while low risks receive automated acknowledgment. Each severity level follows distinct processing paths ensuring appropriate review depth, stakeholder notification, and audit documentation."},"typeVersion":1},{"id":"7ece137e-23c7-40a1-9880-6b730489e76a","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[-464,224],"parameters":{"color":7,"width":352,"height":560,"content":"## Critical Risk Processing\n**Why**: High-stakes items receive comprehensive multi-perspective evaluation through coordinated specialized agents ensuring thorough analysis.\n"},"typeVersion":1},{"id":"aab23a77-4203-48e5-bba4-8751f2317616","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[-1760,240],"parameters":{"color":7,"width":1264,"height":576,"content":"## Risk Indicator Calculation\n**Why**: Assigns severity classification enabling intelligent routing to appropriate assessment pathways based on threat level.\n"},"typeVersion":1},{"id":"4c5d3486-f971-410b-b193-92a796906f27","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[-96,208],"parameters":{"color":7,"width":464,"height":640,"content":"## Medium Risk Evaluation\n**Why**: Balances thorough assessment with processing efficiency using single AI agent with structured output parsing."},"typeVersion":1},{"id":"727cca81-5277-438e-8d7e-e28b1d9b264e","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[400,192],"parameters":{"color":7,"width":832,"height":960,"content":"## Results Management\n**Why**: Creates accountability through merged logging and transparent stakeholder communication via Gmail and Slack notifications."},"typeVersion":1}],"active":false,"pinData":{},"settings":{"availableInMCP":false,"executionOrder":"v1"},"versionId":"3c1ff1cc-848e-46bb-972d-5a259c3a2216","connections":{"Merge Results":{"main":[[{"node":"Log Risk Assessment","type":"main","index":0}]]},"Fetch Risk Data":{"main":[[{"node":"Aggregate Risk Indicators","type":"main","index":0}]]},"Schedule Trigger":{"main":[[{"node":"Workflow Configuration","type":"main","index":0}]]},"Risk Signal Agent":{"main":[[{"node":"Route by Risk Level","type":"main","index":0}]]},"Coordination Agent":{"main":[[{"node":"Merge Results","type":"main","index":0}]]},"Gmail Approval Tool":{"ai_tool":[[{"node":"Coordination Agent","type":"ai_tool","index":0}]]},"Route by Risk Level":{"main":[[{"node":"Coordination Agent","type":"main","index":0}],[{"node":"Coordination Agent","type":"main","index":0}],[{"node":"Low Risk Notification","type":"main","index":0}]]},"Low Risk Notification":{"main":[[{"node":"Merge Results","type":"main","index":1}]]},"Workflow Configuration":{"main":[[{"node":"Fetch Risk Data","type":"main","index":0}]]},"Slack Notification Tool":{"ai_tool":[[{"node":"Coordination Agent","type":"ai_tool","index":0}]]},"Aggregate Risk Indicators":{"main":[[{"node":"Risk Signal Agent","type":"main","index":0}]]},"Coordination Output Parser":{"ai_outputParser":[[{"node":"Coordination Agent","type":"ai_outputParser","index":0}]]},"Anthropic Model - Risk Agent":{"ai_languageModel":[[{"node":"Risk Signal Agent","type":"ai_languageModel","index":0}]]},"Impact Assessment Agent Tool":{"ai_tool":[[{"node":"Coordination Agent","type":"ai_tool","index":0}]]},"Risk Assessment Output Parser":{"ai_outputParser":[[{"node":"Risk Signal Agent","type":"ai_outputParser","index":0}]]},"Anthropic Model - Impact Agent":{"ai_languageModel":[[{"node":"Impact Assessment Agent Tool","type":"ai_languageModel","index":0}]]},"Impact Assessment Output Parser":{"ai_outputParser":[[{"node":"Impact Assessment Agent Tool","type":"ai_outputParser","index":0}]]},"Anthropic Model - Coordination Agent":{"ai_languageModel":[[{"node":"Coordination Agent","type":"ai_languageModel","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":26,"nodeTypes":{"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.code":{"count":1},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.slack":{"count":1},"n8n-nodes-base.switch":{"count":1},"n8n-nodes-base.gmailTool":{"count":1},"n8n-nodes-base.slackTool":{"count":1},"n8n-nodes-base.stickyNote":{"count":7},"n8n-nodes-base.googleSheets":{"count":2},"@n8n/n8n-nodes-langchain.agent":{"count":2},"n8n-nodes-base.scheduleTrigger":{"count":1},"@n8n/n8n-nodes-langchain.agentTool":{"count":1},"@n8n/n8n-nodes-langchain.lmChatAnthropic":{"count":3},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":3}}},"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":18,"icon":"file:googleSheets.svg","name":"n8n-nodes-base.googleSheets","codex":{"data":{"alias":["CSV","Sheet","Spreadsheet","GS"],"resources":{"generic":[{"url":"https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/","icon":"❤️","label":"Love at first sight: Ricardo’s n8n journey"},{"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-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/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/","icon":"⏲","label":"Creating triggers for n8n workflows using polling"},{"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/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"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/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/","icon":"🍔","label":"How Honest Burgers Use Automation to Save $100k per year"},{"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/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-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/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage","Productivity"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\",\"output\"]","defaults":{"name":"Google Sheets"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="},"displayName":"Google Sheets","typeVersion":5,"nodeCategories":[{"id":3,"name":"Data & Storage"},{"id":4,"name":"Productivity"}]},{"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":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":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":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":[]}}