{"workflow":{"id":13428,"name":"Analyze workforce data and generate planning reports with GPT-4o","views":45,"recentViews":0,"totalViews":45,"createdAt":"2026-02-16T13:59:39.273Z","description":"## How It Works\nThis workflow automates workforce intelligence analysis and strategic planning for HR directors, workforce planners, and operations managers in enterprises managing distributed teams. It solves the challenge of transforming raw workforce data into actionable insights while maintaining human oversight on critical staffing decisions. Weekly triggers initiate the analysis cycle, generating synthetic workforce metrics that flow through specialized AI agents operating in parallel: workforce intelligence assessment, cognitive forecasting for demand prediction, attrition risk calculation, and intelligence analysis for pattern detection. A planning optimization agent synthesizes findings into mobility recommendations and scenario projections. Results route through human approval for critical workforce changes before generating final reports with strategic recommendations.\n\n## Setup Steps\n1. Configure API credentials with Llama-3.1-70B-Instruct model access\n2. Set up weekly schedule trigger for Monday morning analysis runs\n3. Configure human approval node with workforce planning lead email address\n4. Customize AI agent prompts for organization-specific workforce metrics and KPIs\n5. Set up final report distribution to stakeholders\n\n## Prerequisites\nAPI key, HR data access (anonymized employee metrics) \n## Use Cases\nStrategic workforce planning, seasonal staffing optimization\n## Customization\nIntegrate HRIS systems for live data, add department-specific forecasting models\n## Benefits\nReduces planning cycle time by 70%, provides predictive insights for proactive decisions","workflow":{"id":"Eo1uJntNts2EXcwE3yClv","meta":{"instanceId":"b91e510ebae4127f953fd2f5f8d40d58ca1e71c746d4500c12ae86aad04c1502"},"name":"AI-driven workforce intelligence and planning optimization system","tags":[],"nodes":[{"id":"be77607f-1a3f-4e61-ad60-0ecd630c61a6","name":"Weekly Workforce Analysis Trigger","type":"n8n-nodes-base.scheduleTrigger","position":[256,-160],"parameters":{"rule":{"interval":[{"field":"weeks","triggerAtDay":[1],"triggerAtHour":9}]}},"typeVersion":1.3},{"id":"e70da0db-caae-4097-a2d0-ed718a5728c6","name":"Workflow Configuration","type":"n8n-nodes-base.set","position":[480,-160],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"organizationName","type":"string","value":"Acme Corporation"},{"id":"id-2","name":"criticalAttritionThreshold","type":"number","value":15},{"id":"id-3","name":"capacityGapThreshold","type":"number","value":20},{"id":"id-4","name":"reportingPeriod","type":"string","value":"Q1 2024"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"839c9a5b-fa86-4d74-8dea-f88ddd8aa684","name":"Generate Mock Workforce Data","type":"n8n-nodes-base.code","position":[704,-160],"parameters":{"jsCode":"// Generate comprehensive mock workforce data\nconst departments = [\n  {\n    department: 'Engineering',\n    headcount: 85,\n    attritionRate: 12.5,\n    capacityUtilization: 92,\n    criticalSkills: ['JavaScript', 'Python', 'Cloud Architecture', 'DevOps', 'Machine Learning'],\n    skillGaps: ['Kubernetes', 'Rust', 'Data Engineering'],\n    openPositions: 8,\n    avgTenure: 3.2,\n    performanceScore: 4.3\n  },\n  {\n    department: 'Sales',\n    headcount: 45,\n    attritionRate: 18.2,\n    capacityUtilization: 88,\n    criticalSkills: ['Enterprise Sales', 'CRM Management', 'Negotiation', 'Account Management'],\n    skillGaps: ['Technical Sales', 'Solution Architecture'],\n    openPositions: 5,\n    avgTenure: 2.1,\n    performanceScore: 4.1\n  },\n  {\n    department: 'Marketing',\n    headcount: 32,\n    attritionRate: 15.6,\n    capacityUtilization: 85,\n    criticalSkills: ['Digital Marketing', 'Content Strategy', 'SEO/SEM', 'Analytics'],\n    skillGaps: ['Marketing Automation', 'Growth Hacking', 'Video Production'],\n    openPositions: 3,\n    avgTenure: 2.8,\n    performanceScore: 4.0\n  },\n  {\n    department: 'Operations',\n    headcount: 28,\n    attritionRate: 10.7,\n    capacityUtilization: 90,\n    criticalSkills: ['Process Optimization', 'Supply Chain', 'Project Management', 'Lean Six Sigma'],\n    skillGaps: ['Automation Tools', 'Data Analytics'],\n    openPositions: 2,\n    avgTenure: 4.5,\n    performanceScore: 4.2\n  },\n  {\n    department: 'HR',\n    headcount: 15,\n    attritionRate: 8.3,\n    capacityUtilization: 78,\n    criticalSkills: ['Talent Acquisition', 'Employee Relations', 'Compensation & Benefits', 'HRIS'],\n    skillGaps: ['People Analytics', 'Organizational Development'],\n    openPositions: 1,\n    avgTenure: 5.2,\n    performanceScore: 4.4\n  }\n];\n\n// Return the structured workforce data\nreturn departments.map(dept => ({ json: dept }));"},"typeVersion":2},{"id":"bb3025f7-cd09-4db1-a4cd-c98434543286","name":"OpenAI Model - Intelligence Agent","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[896,64],"parameters":{"model":{"__rl":true,"mode":"id","value":"gpt-4o"},"options":{"temperature":0.3},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"0363238f-5a91-4f2a-8a7a-6029820dea30","name":"OpenAI Model - Planning Agent","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[1744,64],"parameters":{"model":{"__rl":true,"mode":"id","value":"gpt-4o"},"options":{"temperature":0.4},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"98029b18-21d8-4e0e-959e-c93d8918d9c4","name":"OpenAI Model - Mobility Agent","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[1824,272],"parameters":{"model":{"__rl":true,"mode":"id","value":"gpt-4o-mini"},"options":{"temperature":0.3},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"b64024ce-c04a-4e22-a9c4-e9d8c6b8180b","name":"OpenAI Model - Reporting Agent","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[2384,256],"parameters":{"model":{"__rl":true,"mode":"id","value":"gpt-4o"},"options":{"temperature":0.5},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"79bdcc98-8fbe-4580-a531-2918ea9786fc","name":"Intelligence Analysis Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[1376,64],"parameters":{"jsonSchemaExample":"{\n  \"overallHealthScore\": 75,\n  \"criticalFindings\": [\"High attrition in Engineering\", \"Capacity gap in Sales\"],\n  \"departmentAnalysis\": [\n    {\n      \"department\": \"Engineering\",\n      \"healthScore\": 65,\n      \"attritionRisk\": \"HIGH\",\n      \"capacityStatus\": \"ADEQUATE\",\n      \"skillGapSeverity\": \"MEDIUM\",\n      \"recommendations\": [\"Retention initiatives needed\", \"Skill development programs\"]\n    }\n  ],\n  \"capacityForecast\": {\n    \"nextQuarter\": \"Projected 15% capacity shortfall in Engineering\",\n    \"nextYear\": \"Overall capacity adequate with targeted hiring\"\n  },\n  \"attritionInsights\": {\n    \"highRiskDepartments\": [\"Engineering\", \"Sales\"],\n    \"estimatedImpact\": \"20 positions at risk in next 6 months\"\n  }\n}"},"typeVersion":1.3},{"id":"fff4dee6-6ba9-469c-a49c-22ca1dee1526","name":"Planning Recommendations Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[2672,48],"parameters":{"jsonSchemaExample":"{\n  \"hiringForecast\": {\n    \"nextQuarter\": [\n      {\n        \"department\": \"Engineering\",\n        \"recommendedHires\": 8,\n        \"priority\": \"HIGH\",\n        \"roles\": [\"Senior Backend Engineer\", \"DevOps Engineer\"],\n        \"rationale\": \"Address capacity gap and attrition risk\"\n      }\n    ],\n    \"nextYear\": \"Total 35 strategic hires recommended across all departments\"\n  },\n  \"internalMobilityOpportunities\": [\n    {\n      \"fromDepartment\": \"Operations\",\n      \"toDepartment\": \"Engineering\",\n      \"skillMatch\": \"Data Analysis\",\n      \"candidateCount\": 3,\n      \"developmentNeeded\": \"Python programming training\"\n    }\n  ],\n  \"executiveSummary\": \"Workforce planning requires immediate attention in Engineering and Sales. Recommend hybrid approach: 60% external hiring, 40% internal mobility and upskilling.\",\n  \"riskMitigation\": [\"Implement retention bonuses in high-risk departments\", \"Accelerate internal mobility programs\"],\n  \"requiresHumanReview\": false\n}"},"typeVersion":1.3},{"id":"f38dbbc7-9dd5-40af-93d0-965083668cec","name":"Mobility Workflow Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[2000,272],"parameters":{"jsonSchemaExample":"{\n  \"mobilityRecommendations\": [\n    {\n      \"candidateProfile\": \"Operations Analyst with data skills\",\n      \"targetRole\": \"Junior Data Engineer\",\n      \"department\": \"Engineering\",\n      \"skillGapAnalysis\": \"Needs Python and SQL training\",\n      \"trainingDuration\": \"3 months\",\n      \"successProbability\": 0.75,\n      \"costSavings\": \"$45,000 vs external hire\"\n    }\n  ],\n  \"totalOpportunities\": 12,\n  \"estimatedTimeToFill\": \"2-4 months with training\",\n  \"retentionImpact\": \"Expected 15% improvement in retention for participating employees\"\n}"},"typeVersion":1.3},{"id":"e43136cd-68b7-45e1-ae1d-54c0b1b0bae8","name":"Executive Report Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[2560,256],"parameters":{"jsonSchemaExample":"{\n  \"executiveReport\": {\n    \"title\": \"Q1 2024 Workforce Intelligence Report\",\n    \"keyMetrics\": {\n      \"totalHeadcount\": 450,\n      \"overallAttritionRate\": 12.5,\n      \"capacityUtilization\": 87,\n      \"criticalSkillGaps\": 8\n    },\n    \"strategicRecommendations\": [\n      \"Prioritize Engineering hiring to address capacity constraints\",\n      \"Launch internal mobility program to reduce external hiring costs\",\n      \"Implement retention initiatives in high-risk departments\"\n    ],\n    \"financialImpact\": {\n      \"estimatedCostOfInaction\": \"$2.3M in lost productivity and recruitment costs\",\n      \"recommendedInvestment\": \"$850K in hiring and development programs\",\n      \"projectedROI\": \"2.7x over 12 months\"\n    },\n    \"timeline\": \"Immediate action required for Q2 planning cycle\"\n  }\n}"},"typeVersion":1.3},{"id":"f4c82879-8c7d-4203-8bad-7391dbf41f52","name":"Mobility Analysis Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[1872,64],"parameters":{"text":"={{ $fromAI(\"intelligenceData\", \"Workforce intelligence analysis including skill gaps and capacity needs\", \"json\") }}","options":{"systemMessage":"You are an Internal Mobility Specialist focused on identifying opportunities for employee development and internal career progression.\n\nYour task is to:\n1. Analyze workforce intelligence data for skill gaps and capacity needs\n2. Identify employees with transferable skills who could fill gaps through internal mobility\n3. Assess skill gap severity and training requirements\n4. Calculate cost savings of internal mobility vs external hiring\n5. Estimate success probability for mobility candidates\n6. Provide structured mobility recommendations with candidate profiles, target roles, and development plans\n7. Return detailed mobility workflow recommendations\n\nFocus on creating win-win scenarios: filling organizational needs while providing career growth opportunities for employees."},"hasOutputParser":true},"typeVersion":3},{"id":"0ec5f789-4be4-4e2c-89ab-c83ec5efcf21","name":"Executive Reporting Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[2384,48],"parameters":{"text":"={{ $fromAI(\"workforceData\", \"Comprehensive workforce data and planning recommendations\", \"json\") }}","options":{"systemMessage":"You are an Executive Reporting Specialist responsible for creating high-level workforce intelligence reports for C-suite executives.\n\nYour task is to:\n1. Synthesize workforce intelligence data into executive-friendly insights\n2. Highlight key metrics: headcount, attrition, capacity utilization, skill gaps\n3. Provide strategic recommendations with clear business impact\n4. Quantify financial implications (cost of inaction, recommended investment, projected ROI)\n5. Present actionable timeline and priorities\n6. Use clear, concise language appropriate for executive decision-making\n7. Return structured executive report with metrics, recommendations, and financial impact\n\nFocus on strategic insights that enable informed decision-making at the highest organizational level."},"hasOutputParser":true},"typeVersion":3},{"id":"566100e1-ea62-48a6-92b2-338c830c094d","name":"Capacity Forecasting Tool","type":"@n8n/n8n-nodes-langchain.toolCode","position":[1056,64],"parameters":{"jsCode":"const workforceData = $fromAI('workforceData', 'Current workforce data including headcount, capacity utilization, and growth targets', 'json');\n\ntry {\n  const data = typeof workforceData === 'string' ? JSON.parse(workforceData) : workforceData;\n  \n  const currentCapacity = parseFloat(data.capacityUtilization || 85);\n  const headcount = parseInt(data.headcount || 100);\n  const growthRate = parseFloat(data.growthRate || 0.15);\n  const attritionRate = parseFloat(data.attritionRate || 0.10);\n  \n  // Calculate capacity needs\n  const projectedGrowthHeadcount = Math.ceil(headcount * growthRate);\n  const projectedAttritionLoss = Math.ceil(headcount * attritionRate);\n  const totalCapacityNeed = projectedGrowthHeadcount + projectedAttritionLoss;\n  \n  // Calculate capacity gap\n  const capacityGap = currentCapacity < 90 ? Math.ceil((90 - currentCapacity) / 100 * headcount) : 0;\n  \n  const forecast = {\n    currentHeadcount: headcount,\n    currentCapacityUtilization: currentCapacity + '%',\n    projectedGrowthNeeds: projectedGrowthHeadcount,\n    projectedAttritionLoss: projectedAttritionLoss,\n    capacityGap: capacityGap,\n    totalHiringNeed: totalCapacityNeed + capacityGap,\n    recommendation: totalCapacityNeed + capacityGap > 15 ? 'URGENT: Significant hiring required' : 'MODERATE: Planned hiring sufficient',\n    forecastDate: new Date().toISOString()\n  };\n  \n  return JSON.stringify(forecast, null, 2);\n  \n} catch (error) {\n  return JSON.stringify({\n    error: 'Capacity forecast failed',\n    message: error.message\n  });\n}","description":"Forecasts workforce capacity needs based on current utilization, growth projections, and attrition trends"},"typeVersion":1.3},{"id":"60995b4a-03fb-4c3b-b1d0-a165ada01459","name":"Attrition Risk Calculator Tool","type":"@n8n/n8n-nodes-langchain.toolCode","position":[1184,64],"parameters":{"jsCode":"const employeeData = $fromAI('employeeData', 'Employee data including tenure, performance scores, and department attrition rates', 'json');\n\ntry {\n  const data = typeof employeeData === 'string' ? JSON.parse(employeeData) : employeeData;\n  \n  const avgTenure = parseFloat(data.avgTenure || 3.5);\n  const performanceScore = parseFloat(data.performanceScore || 75);\n  const attritionRate = parseFloat(data.attritionRate || 10);\n  const department = data.department || 'Unknown';\n  \n  // Calculate risk factors\n  let riskScore = 0;\n  \n  // Tenure risk (higher risk for very low or very high tenure)\n  if (avgTenure < 1) riskScore += 30;\n  else if (avgTenure < 2) riskScore += 20;\n  else if (avgTenure > 7) riskScore += 15;\n  \n  // Performance risk (low performers more likely to leave or be managed out)\n  if (performanceScore < 60) riskScore += 25;\n  else if (performanceScore < 70) riskScore += 15;\n  \n  // Department attrition trend\n  if (attritionRate > 15) riskScore += 30;\n  else if (attritionRate > 10) riskScore += 20;\n  else if (attritionRate > 5) riskScore += 10;\n  \n  // Determine risk level\n  let riskLevel = 'LOW';\n  if (riskScore >= 50) riskLevel = 'CRITICAL';\n  else if (riskScore >= 35) riskLevel = 'HIGH';\n  else if (riskScore >= 20) riskLevel = 'MEDIUM';\n  \n  const riskAnalysis = {\n    department: department,\n    riskScore: riskScore,\n    riskLevel: riskLevel,\n    avgTenure: avgTenure,\n    performanceScore: performanceScore,\n    departmentAttritionRate: attritionRate + '%',\n    recommendation: riskLevel === 'CRITICAL' || riskLevel === 'HIGH' \n      ? 'Immediate retention initiatives required' \n      : 'Monitor and maintain current engagement programs',\n    estimatedAttritionImpact: riskLevel === 'CRITICAL' ? 'High probability of significant turnover in next 6 months' : 'Manageable attrition expected',\n    calculationDate: new Date().toISOString()\n  };\n  \n  return JSON.stringify(riskAnalysis, null, 2);\n  \n} catch (error) {\n  return JSON.stringify({\n    error: 'Attrition risk calculation failed',\n    message: error.message\n  });\n}","description":"Calculates attrition risk scores based on tenure, performance, compensation, and department trends"},"typeVersion":1.3},{"id":"8e1eb713-7f3f-4cbe-9b40-f8ae230fba06","name":"Workforce Intelligence Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1056,-160],"parameters":{"text":"={{ $json }}","options":{"systemMessage":"You are a Workforce Intelligence Analyst specializing in analyzing structured workforce data to identify trends, risks, and opportunities.\n\nYour task is to:\n1. Analyze headcount distribution across departments\n2. Evaluate skills inventory and identify critical skill gaps\n3. Assess attrition rates and identify high-risk departments\n4. Use the Capacity Forecasting Tool to project future capacity needs\n5. Use the Attrition Risk Calculator Tool to quantify retention risks\n6. Identify capacity utilization issues and bottlenecks\n7. Provide data-driven insights on workforce health\n8. Return structured analysis with health scores, risk assessments, and capacity forecasts\n\nIMPORTANT: You are an analytical agent. Provide insights and intelligence, but do NOT make hiring decisions or specific hiring recommendations. Focus on analysis and forecasting only."},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"f5ef2f39-bb31-4ee1-ae9b-b498f63d5702","name":"Planning Orchestration Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1872,-160],"parameters":{"text":"={{ $json }}","options":{"systemMessage":"You are a Planning Orchestration Coordinator responsible for coordinating workforce planning activities across multiple specialized agents.\n\nYour task is to:\n1. Review workforce intelligence insights from the Intelligence Agent\n2. Call the Mobility Analysis Agent Tool to identify internal mobility opportunities\n3. Call the Executive Reporting Agent Tool to generate executive-level workforce reports\n4. Synthesize hiring forecasts based on intelligence data (recommend numbers and priorities, but do NOT make autonomous hiring decisions)\n5. Coordinate internal mobility workflows and development programs\n6. Provide strategic workforce planning recommendations\n7. Flag situations requiring human review (critical risks, major organizational changes, budget implications)\n8. Return structured planning recommendations with hiring forecasts, mobility opportunities, and executive summaries\n\nIMPORTANT: You coordinate and recommend, but all final hiring decisions must be reviewed and approved by human stakeholders. Set requiresHumanReview flag appropriately."},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"4fe90b87-b137-4c07-b64b-dcf124f83bd7","name":"Aggregate Intelligence Insights","type":"n8n-nodes-base.aggregate","position":[1568,-160],"parameters":{"options":{},"aggregate":"aggregateAllItemData","destinationFieldName":"intelligenceInsights"},"typeVersion":1},{"id":"e9e1eef8-7738-4af6-9346-bddbc0a14eaa","name":"Check Critical Workforce Signals","type":"n8n-nodes-base.if","position":[2656,-160],"parameters":{"options":{},"conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"or","conditions":[{"id":"id-1","operator":{"type":"boolean","operation":"true"},"leftValue":"={{ $json.requiresHumanReview }}"},{"id":"id-2","operator":{"type":"array","operation":"notEmpty"},"leftValue":"={{ $json.criticalFindings }}"}]}},"typeVersion":2.3},{"id":"d4c8e091-6c36-490a-b3e6-fb82f2e75318","name":"Format Final Workforce Report","type":"n8n-nodes-base.set","position":[3344,-176],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"reportTitle","type":"string","value":"Workforce Intelligence and Planning Report"},{"id":"id-2","name":"reportDate","type":"string","value":"={{ $now.toISO() }}"},{"id":"id-3","name":"organization","type":"string","value":"={{ $('Workflow Configuration').first().json.organizationName }}"},{"id":"id-4","name":"reportingPeriod","type":"string","value":"={{ $('Workflow Configuration').first().json.reportingPeriod }}"},{"id":"id-5","name":"intelligenceAnalysis","type":"string","value":"={{ $json.intelligenceInsights }}"},{"id":"id-6","name":"planningRecommendations","type":"object","value":"={{ $json }}"},{"id":"id-7","name":"humanReviewStatus","type":"string","value":"={{ $json.requiresHumanReview ? \"Approved\" : \"Auto-approved\" }}"}]}},"typeVersion":3.4},{"id":"c284dac8-531d-438b-a85e-cd3559500a78","name":"Flag for Human Review","type":"n8n-nodes-base.set","position":[2880,-80],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"reviewRequired","type":"boolean","value":true},{"id":"id-2","name":"reviewReason","type":"string","value":"Critical workforce signals detected requiring human approval"},{"id":"id-3","name":"reviewInstructions","type":"string","value":"Please review the workforce intelligence findings and planning recommendations. Approve or modify the proposed actions before proceeding."},{"id":"id-4","name":"pendingApproval","type":"boolean","value":true}]}},"typeVersion":3.4},{"id":"31c2663d-7d73-4a1d-b600-aefc3b1d1568","name":"Wait for Human Approval","type":"n8n-nodes-base.wait","position":[3104,-80],"webhookId":"00364600-c82c-40c6-9ac6-4cb370c10a5f","parameters":{"resume":"webhook","options":{},"httpMethod":"POST"},"typeVersion":1.1},{"id":"3860aced-306c-4e42-8438-62c91c9f8a57","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[1648,-672],"parameters":{"color":6,"width":496,"height":320,"content":"## Prerequisites\nAPI key, HR data access (anonymized employee metrics) \n## Use Cases\nStrategic workforce planning, seasonal staffing optimization\n## Customization\nIntegrate HRIS systems for live data, add department-specific forecasting models\n## Benefits\nReduces planning cycle time by 70%, provides predictive insights for proactive decisions"},"typeVersion":1},{"id":"944ccb0c-6326-4722-afad-aee1d660f5f7","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[1072,-592],"parameters":{"width":496,"height":240,"content":"## Setup Steps\n1. Configure API credentials with Llama-3.1-70B-Instruct model access\n2. Set up weekly schedule trigger for Monday morning analysis runs\n3. Configure human approval node with workforce planning lead email address\n4. Customize AI agent prompts for organization-specific workforce metrics and KPIs\n5. Set up final report distribution to stakeholders"},"typeVersion":1},{"id":"03a3a14a-cba5-401a-ab43-d8863e88d7e9","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[256,-576],"parameters":{"width":768,"height":224,"content":"## How It Works\nThis workflow automates workforce intelligence analysis and strategic planning for HR directors, workforce planners, and operations managers in enterprises managing distributed teams. It solves the challenge of transforming raw workforce data into actionable insights while maintaining human oversight on critical staffing decisions. Weekly triggers initiate the analysis cycle, generating synthetic workforce metrics that flow through specialized AI agents operating in parallel: workforce intelligence assessment, cognitive forecasting for demand prediction, attrition risk calculation, and intelligence analysis for pattern detection. A planning optimization agent synthesizes findings into mobility recommendations and scenario projections. Results route through human approval for critical workforce changes before generating final reports with strategic recommendations."},"typeVersion":1},{"id":"cf5642bf-d48d-423a-a025-a02b6de3afe1","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[2256,-288],"parameters":{"color":7,"width":1280,"height":768,"content":"## Attrition Risk \nTriggers retention interventions before critical talent exits, reducing replacement costs and knowledge loss.\n"},"typeVersion":1},{"id":"843c7bf1-ecc7-4256-8884-8dfe43813faf","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[1520,-288],"parameters":{"color":7,"width":704,"height":768,"content":"## Cognitive Forecasting \nEnables proactive hiring and training strategies to prevent capacity bottlenecks during scaling."},"typeVersion":1},{"id":"40bfda7f-d701-4941-a092-1e6bf2f3e837","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[224,-288],"parameters":{"color":7,"width":1280,"height":560,"content":"## Workforce Intelligence\nIdentifies operational inefficiencies and capability shortfalls to optimize resource allocation decisions."},"typeVersion":1}],"active":false,"pinData":{},"settings":{"availableInMCP":false,"executionOrder":"v1"},"versionId":"76778019-9bac-4cd1-97c6-a0ad8627778f","connections":{"Flag for Human Review":{"main":[[{"node":"Wait for Human Approval","type":"main","index":0}]]},"Workflow Configuration":{"main":[[{"node":"Generate Mock Workforce Data","type":"main","index":0}]]},"Wait for Human Approval":{"main":[[{"node":"Format Final Workforce Report","type":"main","index":0}]]},"Capacity Forecasting Tool":{"ai_tool":[[{"node":"Workforce Intelligence Agent","type":"ai_tool","index":0}]]},"Generate Mock Workforce Data":{"main":[[{"node":"Workforce Intelligence Agent","type":"main","index":0}]]},"Mobility Analysis Agent Tool":{"ai_tool":[[{"node":"Planning Orchestration Agent","type":"ai_tool","index":0}]]},"Planning Orchestration Agent":{"main":[[{"node":"Check Critical Workforce Signals","type":"main","index":0}]]},"Workforce Intelligence Agent":{"main":[[{"node":"Aggregate Intelligence Insights","type":"main","index":0}]]},"OpenAI Model - Mobility Agent":{"ai_languageModel":[[{"node":"Mobility Analysis Agent Tool","type":"ai_languageModel","index":0}]]},"OpenAI Model - Planning Agent":{"ai_languageModel":[[{"node":"Planning Orchestration Agent","type":"ai_languageModel","index":0}]]},"Attrition Risk Calculator Tool":{"ai_tool":[[{"node":"Workforce Intelligence Agent","type":"ai_tool","index":0}]]},"Executive Report Output Parser":{"ai_outputParser":[[{"node":"Executive Reporting Agent Tool","type":"ai_outputParser","index":0}]]},"Executive Reporting Agent Tool":{"ai_tool":[[{"node":"Planning Orchestration Agent","type":"ai_tool","index":0}]]},"OpenAI Model - Reporting Agent":{"ai_languageModel":[[{"node":"Executive Reporting Agent Tool","type":"ai_languageModel","index":0}]]},"Aggregate Intelligence Insights":{"main":[[{"node":"Planning Orchestration Agent","type":"main","index":0}]]},"Mobility Workflow Output Parser":{"ai_outputParser":[[{"node":"Mobility Analysis Agent Tool","type":"ai_outputParser","index":0}]]},"Check Critical Workforce Signals":{"main":[[{"node":"Format Final Workforce Report","type":"main","index":0}],[{"node":"Flag for Human Review","type":"main","index":0}]]},"OpenAI Model - Intelligence Agent":{"ai_languageModel":[[{"node":"Workforce Intelligence Agent","type":"ai_languageModel","index":0}]]},"Weekly Workforce Analysis Trigger":{"main":[[{"node":"Workflow Configuration","type":"main","index":0}]]},"Intelligence Analysis Output Parser":{"ai_outputParser":[[{"node":"Workforce Intelligence Agent","type":"ai_outputParser","index":0}]]},"Planning Recommendations Output Parser":{"ai_outputParser":[[{"node":"Planning Orchestration Agent","type":"ai_outputParser","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":28,"nodeTypes":{"n8n-nodes-base.if":{"count":1},"n8n-nodes-base.set":{"count":3},"n8n-nodes-base.code":{"count":1},"n8n-nodes-base.wait":{"count":1},"n8n-nodes-base.aggregate":{"count":1},"n8n-nodes-base.stickyNote":{"count":6},"@n8n/n8n-nodes-langchain.agent":{"count":2},"n8n-nodes-base.scheduleTrigger":{"count":1},"@n8n/n8n-nodes-langchain.toolCode":{"count":2},"@n8n/n8n-nodes-langchain.agentTool":{"count":2},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":4},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":4}}},"status":"published","readyToDemo":null,"user":{"name":"Cheng Siong Chin","username":"cschin","bio":"Dr. Cheng Siong CHIN is an n8n workflow creator specializing in AI-powered automation, agent orchestration, and intelligent system integrations. He designs and builds end-to-end workflows that combine LLMs, APIs, and data pipelines to streamline complex processes and deliver production-ready automation solutions. Contact me to discuss custom AI workflows and agent architectures.\n","verified":true,"links":["https://gravatar.com/mysticluminary9fa255f7f5"],"avatar":"https://gravatar.com/avatar/54544f98e839bb9dd9a764ad1e6823eeddb6db5138d201e42f291a7b0a73303f?r=pg&d=retro&size=200"},"nodes":[{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":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":514,"icon":"fa:pause-circle","name":"n8n-nodes-base.wait","codex":{"data":{"alias":["pause","sleep","delay","timeout"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Wait","color":"#804050"},"iconData":{"icon":"pause-circle","type":"icon"},"displayName":"Wait","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":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":1197,"icon":"fa:code","name":"@n8n/n8n-nodes-langchain.toolCode","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolcode/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Tools"],"Tools":["Recommended Tools"]}}},"group":"[\"transform\"]","defaults":{"name":"Code Tool"},"iconData":{"icon":"code","type":"icon"},"displayName":"Code Tool","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1236,"icon":"file:aggregate.svg","name":"n8n-nodes-base.aggregate","codex":{"data":{"alias":["Aggregate","Combine","Flatten","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.aggregate/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Aggregate"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjRkY2RDVBIiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMyIDE0OGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDE0NmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJINDRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6bTAgOTZjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxNDZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYyNGMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDQ0Yy02LjYyNyAwLTEyLTUuMzczLTEyLTEyem0wIDk2YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTQ2YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkg0NGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik03NCA3NmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDExNi4yMTdjMTcuNjczIDAgMzIgMTQuMzI3IDMyIDMydjU2YzAgMjYuOTc4IDEwLjI3MiA1MS41NTcgMjcuMTE5IDcwLjAzOSA1LjA1NSA1LjU0NSA1LjA1NSAxNC4zNzcgMCAxOS45MjItMTYuODQ3IDE4LjQ4Mi0yNy4xMTkgNDMuMDYxLTI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMtMTQuMzI3IDMyLTMyIDMySDg2Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTE2LjIxN2M0NC4xODMgMCA4MC0zNS44MTcgODAtODB2LTU2YzAtMzAuOTI4IDI1LjA3Mi01NiA1Ni01NmE1Ljc4MyA1Ljc4MyAwIDAgMCA1Ljc4My01Ljc4M3YtMzYuNDM0YTUuNzgzIDUuNzgzIDAgMCAwLTUuNzgzLTUuNzgzYy0zMC45MjggMC01Ni0yNS4wNzItNTYtNTZ2LTU2YzAtNDQuMTgzLTM1LjgxNy04MC04MC04MEg4NmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNzYgMjQ0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTEyYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgzODhjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUxMnY1MTJIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4="},"displayName":"Aggregate","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"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":17,"name":"HR"},{"id":49,"name":"AI Summarization"}],"image":[]}}