{"workflow":{"id":13352,"name":"Orchestrate AI-driven hiring analytics and candidate assessment with GPT-4, Claude, Google Sheets, Gmail and Slack","views":52,"recentViews":0,"totalViews":52,"createdAt":"2026-02-12T16:32:57.818Z","description":"## How It Works\nThis workflow automates end-to-end recruitment operations for HR teams, talent acquisition specialists, and hiring managers facing high-volume candidate processing challenges. It solves the critical problem of manual interview coordination, inconsistent candidate evaluation, and scattered assessment data across multiple platforms.The system orchestrates a seamless pipeline: triggers initiate workflow execution, configuration nodes prepare analytics parameters, and Former Analytics Agent structures the evaluation framework. The Orchestration Agent intelligently routes candidates through specialized AI assessment modules—including sourcing verification, simulated interviews, and competency evaluation—each powered by different AI models (OpenAI GPT-4, Claude) optimized for specific assessment criteria. Consolidated insights automatically populate Google Sheets for centralized tracking, while Gmail notifications keep stakeholders informed. Critical alerts route to HR teams via Slack integration, ensuring immediate visibility into high-priority candidates and assessment bottlenecks, dramatically reducing time-to-hire while improving evaluation consistency.\n\n## Setup Steps\n1. Configure OpenAI API key for GPT-4 powered candidate sourcing and interview agents\n2. Link Anthropic Claude API for competency assessment modules\n3. Authorize Google Sheets access and specify target spreadsheet/worksheet for candidate data\n4. Set up Gmail integration with sender email and recipient distribution lists\n5. Connect Slack workspace and configure target channel for priority notifications\n6. Customize assessment criteria in Former Analytics Agent node based on role requirements\n\n## Prerequisites\nDeveloper account with API access, OpenAI API key (GPT-4 enabled)\n## Use Cases\nHigh-volume technical recruitment campaigns requiring standardized assessment frameworks\n## Customization\nModify AI agent prompts to align with specific role competencies\n## Benefits\nReduces time-to-hire by 60% through parallel AI assessments","workflow":{"id":"-KJ9rybezMtoJNVcZmbT2","meta":{"instanceId":"b91e510ebae4127f953fd2f5f8d40d58ca1e71c746d4500c12ae86aad04c1502"},"name":"AI-driven interview scheduling & multi-model candidate assessment system","tags":[],"nodes":[{"id":"32eb9e25-c161-4d6d-81e9-ff7204774f48","name":"Daily Hiring Analytics Trigger","type":"n8n-nodes-base.scheduleTrigger","position":[-3136,384],"parameters":{"rule":{"interval":[{"triggerAtHour":9}]}},"typeVersion":1.3},{"id":"88bb3a49-7e74-480a-9290-e9d458d2994a","name":"Workflow Configuration","type":"n8n-nodes-base.set","position":[-2912,384],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"slackHRChannel","type":"string","value":"<__PLACEHOLDER_VALUE__Slack HR Team Channel ID__>"},{"id":"id-2","name":"leadershipEmail","type":"string","value":"<__PLACEHOLDER_VALUE__Leadership Email Address__>"},{"id":"id-3","name":"criticalThreshold","type":"number","value":80},{"id":"id-4","name":"hiringGoalApplications","type":"number","value":100},{"id":"id-5","name":"hiringGoalInterviews","type":"number","value":30},{"id":"id-6","name":"hiringGoalOffers","type":"number","value":10}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"ec41ab26-947c-4521-be55-3cc41a3c1dcf","name":"Prepare Hiring Metrics Data","type":"n8n-nodes-base.set","position":[-2688,384],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"totalApplications","type":"number","value":150},{"id":"id-2","name":"screenedCandidates","type":"number","value":85},{"id":"id-3","name":"phoneInterviews","type":"number","value":42},{"id":"id-4","name":"onsiteInterviews","type":"number","value":28},{"id":"id-5","name":"offersMade","type":"number","value":12},{"id":"id-6","name":"offersAccepted","type":"number","value":9},{"id":"id-7","name":"averageTimeToHire","type":"number","value":35},{"id":"id-8","name":"topSourceChannels","type":"array","value":"[\"LinkedIn\", \"Referrals\", \"Indeed\", \"Company Website\"]"},{"id":"id-9","name":"openPositions","type":"array","value":"[{\"role\": \"Senior Software Engineer\", \"count\": 3}, {\"role\": \"Product Manager\", \"count\": 2}, {\"role\": \"Data Scientist\", \"count\": 2}]"},{"id":"id-10","name":"reportDate","type":"string","value":"={{ $now.toISO() }}"}]}},"typeVersion":3.4},{"id":"3d934022-463c-4abb-a521-d9a5cf654a0a","name":"Funnel Analytics Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[-2464,384],"parameters":{"text":"=Analyze the following hiring funnel metrics: Total Applications: {{ $json.totalApplications }}, Screened: {{ $json.screenedCandidates }}, Phone Interviews: {{ $json.phoneInterviews }}, Onsite Interviews: {{ $json.onsiteInterviews }}, Offers Made: {{ $json.offersMade }}, Offers Accepted: {{ $json.offersAccepted }}, Average Time to Hire: {{ $json.averageTimeToHire }} days, Top Source Channels: {{ JSON.stringify($json.topSourceChannels) }}, Open Positions: {{ JSON.stringify($json.openPositions) }}, Goals - Applications: {{ $('Workflow Configuration').first().json.hiringGoalApplications }}, Interviews: {{ $('Workflow Configuration').first().json.hiringGoalInterviews }}, Offers: {{ $('Workflow Configuration').first().json.hiringGoalOffers }}","options":{"systemMessage":"You are a Hiring Funnel Analytics Specialist with expertise in recruitment metrics and talent acquisition optimization.\n\nYour task is to:\n1. Analyze hiring funnel conversion rates at each stage (application → screening → phone → onsite → offer → acceptance)\n2. Calculate conversion percentages and identify bottlenecks\n3. Compare actual performance against hiring goals\n4. Identify which stages are underperforming or overperforming\n5. Analyze source channel effectiveness\n6. Calculate time-to-hire efficiency\n7. Assess offer acceptance rate and competitiveness\n8. Identify trends and patterns in the hiring pipeline\n9. Provide data-driven insights on funnel health\n10. Return structured analysis with metrics, bottlenecks, and recommendations"},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"34f0a8d5-5421-4123-928e-a81301ef4ccd","name":"OpenAI Model - Funnel Analytics","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-2560,624],"parameters":{"model":{"__rl":true,"mode":"id","value":"gpt-4o"},"options":{"temperature":0.2},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"7f91d384-6b3c-4f1c-9a65-ef3b7bdbb9ca","name":"Funnel Analytics Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-2336,608],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"overallHealth\": {\n      \"type\": \"string\",\n      \"description\": \"Overall funnel health: Excellent, Good, Fair, Poor, Critical\"\n    },\n    \"conversionRates\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"applicationToScreen\": {\"type\": \"number\"},\n        \"screenToPhone\": {\"type\": \"number\"},\n        \"phoneToOnsite\": {\"type\": \"number\"},\n        \"onsiteToOffer\": {\"type\": \"number\"},\n        \"offerToAcceptance\": {\"type\": \"number\"}\n      }\n    },\n    \"bottlenecks\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"stage\": {\"type\": \"string\"},\n          \"severity\": {\"type\": \"string\"},\n          \"impact\": {\"type\": \"string\"}\n        }\n      }\n    },\n    \"goalPerformance\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"applicationsVsGoal\": {\"type\": \"number\"},\n        \"interviewsVsGoal\": {\"type\": \"number\"},\n        \"offersVsGoal\": {\"type\": \"number\"}\n      }\n    },\n    \"topRecommendations\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"}\n    },\n    \"priority\": {\n      \"type\": \"string\",\n      \"description\": \"Priority level: High, Medium, Low\"\n    },\n    \"reasoning\": {\n      \"type\": \"string\",\n      \"description\": \"Detailed reasoning for the analysis\"\n    }\n  },\n  \"required\": [\"overallHealth\", \"conversionRates\", \"bottlenecks\", \"goalPerformance\", \"topRecommendations\", \"priority\", \"reasoning\"]\n}"},"typeVersion":1.3},{"id":"7d381d64-55c9-4657-8a66-76f45837037d","name":"Orchestration Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[-1824,384],"parameters":{"text":"=Based on the funnel analysis: {{ JSON.stringify($json.output) }}, coordinate hiring workflow actions. Use the Candidate Sourcing Agent Tool to identify sourcing strategies, the Interview Scheduling Agent Tool to optimize interview processes, and the Candidate Assessment Agent Tool to evaluate candidate quality and fit.","options":{"systemMessage":"You are a Hiring Orchestration Agent that coordinates multi-agent workflows for talent acquisition optimization.\n\nYour task is to:\n1. Review the funnel analytics insights provided\n2. Determine which specialized agents to call based on identified bottlenecks and priorities\n3. Call the Candidate Sourcing Agent Tool when sourcing channels or application volume needs optimization\n4. Call the Interview Scheduling Agent Tool when interview conversion or scheduling efficiency needs improvement\n5. Call the Candidate Assessment Agent Tool when offer acceptance or candidate quality needs analysis\n6. Synthesize insights from all agent tools into a comprehensive action plan\n7. Prioritize actions based on impact and urgency\n8. Return structured orchestration results with agent outputs and consolidated recommendations\n\nCoordinate the agents strategically to address the most critical hiring challenges identified in the funnel analysis."},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"0c61c4f2-967b-4c33-be51-68cde10c3802","name":"OpenAI Model - Orchestration","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-2144,544],"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":"2682d67b-469e-4118-98ae-b361a0f1d36f","name":"Orchestration Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-1984,608],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"orchestrationSummary\": {\n      \"type\": \"string\",\n      \"description\": \"Summary of orchestration decisions and agent coordination\"\n    },\n    \"agentsCalled\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"},\n      \"description\": \"List of agent tools that were called\"\n    },\n    \"sourcingInsights\": {\n      \"type\": \"object\",\n      \"description\": \"Insights from Candidate Sourcing Agent\"\n    },\n    \"interviewInsights\": {\n      \"type\": \"object\",\n      \"description\": \"Insights from Interview Scheduling Agent\"\n    },\n    \"assessmentInsights\": {\n      \"type\": \"object\",\n      \"description\": \"Insights from Candidate Assessment Agent\"\n    },\n    \"consolidatedActions\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"action\": {\"type\": \"string\"},\n          \"priority\": {\"type\": \"string\"},\n          \"expectedImpact\": {\"type\": \"string\"},\n          \"owner\": {\"type\": \"string\"}\n        }\n      }\n    },\n    \"overallPriority\": {\n      \"type\": \"string\",\n      \"description\": \"Overall priority: High, Medium, Low\"\n    },\n    \"criticalAlerts\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"},\n      \"description\": \"Critical issues requiring immediate attention\"\n    }\n  },\n  \"required\": [\"orchestrationSummary\", \"agentsCalled\", \"consolidatedActions\", \"overallPriority\"]\n}"},"typeVersion":1.3},{"id":"ea76ecb5-3c3e-4bd1-9a18-950e07c5ed4a","name":"Candidate Sourcing Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[-1856,608],"parameters":{"text":"={{ $fromAI(\"funnelData\", \"Hiring funnel analytics data including bottlenecks and source channel performance\", \"json\") }}","options":{"systemMessage":"You are a Candidate Sourcing Specialist focused on optimizing talent acquisition channels and application volume.\n\nYour task is to:\n1. Analyze current source channel performance and application volume\n2. Identify underperforming and high-performing sourcing channels\n3. Recommend channel optimization strategies (budget reallocation, new channels, channel retirement)\n4. Suggest tactics to increase application quality and quantity\n5. Provide specific sourcing actions for each open position type\n6. Estimate impact of sourcing improvements on funnel metrics\n7. Return structured sourcing recommendations with channel strategies and expected outcomes"},"hasOutputParser":true,"toolDescription":"Analyzes sourcing channel effectiveness and provides recommendations to optimize candidate sourcing strategies and increase application volume"},"typeVersion":3},{"id":"9bd196f8-efe1-441b-88e4-e94d76160952","name":"OpenAI Model - Sourcing","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-1824,816],"parameters":{"model":{"__rl":true,"mode":"id","value":"gpt-4o-mini"},"options":{"temperature":0.2},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"ab407c64-dfd0-40c0-8ca2-e47fb84c1d51","name":"Sourcing Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-1648,816],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"channelPerformance\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"channel\": {\"type\": \"string\"},\n          \"status\": {\"type\": \"string\"},\n          \"recommendation\": {\"type\": \"string\"}\n        }\n      }\n    },\n    \"sourcingActions\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"action\": {\"type\": \"string\"},\n          \"channel\": {\"type\": \"string\"},\n          \"expectedImpact\": {\"type\": \"string\"}\n        }\n      }\n    },\n    \"newChannelSuggestions\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"}\n    },\n    \"estimatedApplicationIncrease\": {\n      \"type\": \"number\",\n      \"description\": \"Estimated percentage increase in applications\"\n    }\n  },\n  \"required\": [\"channelPerformance\", \"sourcingActions\", \"estimatedApplicationIncrease\"]\n}"},"typeVersion":1.3},{"id":"8cb0f2c9-d7bb-49e1-9fe7-0821215cb056","name":"Interview Scheduling Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[-1520,608],"parameters":{"text":"={{ $fromAI(\"interviewData\", \"Interview conversion rates and scheduling efficiency data\", \"json\") }}","options":{"systemMessage":"You are an Interview Process Optimization Specialist focused on improving interview conversion rates and scheduling efficiency.\n\nYour task is to:\n1. Analyze interview conversion rates at each stage (phone to onsite, onsite to offer)\n2. Identify interview process bottlenecks and inefficiencies\n3. Recommend interview process improvements (interviewer training, structured interviews, feedback loops)\n4. Suggest scheduling optimization strategies to reduce time-to-interview\n5. Provide candidate experience enhancement recommendations\n6. Estimate impact of interview improvements on conversion rates\n7. Return structured interview optimization recommendations with process improvements and expected outcomes"},"hasOutputParser":true,"toolDescription":"Analyzes interview process efficiency and provides recommendations to optimize interview conversion rates and scheduling workflows"},"typeVersion":3},{"id":"68471f1b-d878-4d8d-bf17-f2a0882249f2","name":"OpenAI Model - Interview","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-1520,816],"parameters":{"model":{"__rl":true,"mode":"id","value":"gpt-4o-mini"},"options":{"temperature":0.2},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"6b6f7d25-6a3c-4944-8b75-d2384d0ffc1c","name":"Interview Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-1312,816],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"processImprovements\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"improvement\": {\"type\": \"string\"},\n          \"stage\": {\"type\": \"string\"},\n          \"expectedImpact\": {\"type\": \"string\"}\n        }\n      }\n    },\n    \"schedulingOptimizations\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"}\n    },\n    \"candidateExperienceEnhancements\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"}\n    },\n    \"estimatedConversionIncrease\": {\n      \"type\": \"number\",\n      \"description\": \"Estimated percentage increase in interview conversion\"\n    },\n    \"estimatedTimeReduction\": {\n      \"type\": \"number\",\n      \"description\": \"Estimated days reduction in time-to-hire\"\n    }\n  },\n  \"required\": [\"processImprovements\", \"schedulingOptimizations\", \"estimatedConversionIncrease\"]\n}"},"typeVersion":1.3},{"id":"49726ce9-e34f-4f5e-ae93-770264063c80","name":"Candidate Assessment Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[-1184,608],"parameters":{"text":"={{ $fromAI(\"offerData\", \"Offer acceptance rates and candidate quality assessment data\", \"json\") }}","options":{"systemMessage":"You are a Candidate Assessment and Offer Strategy Specialist focused on improving offer acceptance rates and candidate quality.\n\nYour task is to:\n1. Analyze offer acceptance rates and identify reasons for offer declines\n2. Assess candidate quality indicators and screening effectiveness\n3. Recommend offer competitiveness improvements (compensation, benefits, employer branding)\n4. Suggest candidate assessment enhancements to improve quality of hire\n5. Provide strategies to reduce offer decline rates\n6. Identify patterns in successful vs unsuccessful offers\n7. Return structured assessment recommendations with offer strategies and quality improvements"},"hasOutputParser":true,"toolDescription":"Analyzes candidate quality and offer acceptance patterns to provide recommendations for improving offer competitiveness and assessment processes"},"typeVersion":3},{"id":"7e794df8-65d4-49e8-b42a-dee9985c34c1","name":"OpenAI Model - Assessment","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-1184,816],"parameters":{"model":{"__rl":true,"mode":"id","value":"gpt-4o-mini"},"options":{"temperature":0.2},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"bff6ec47-b868-4feb-ba13-e3c48a6d4791","name":"Assessment Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-1024,816],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"offerStrategies\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"strategy\": {\"type\": \"string\"},\n          \"category\": {\"type\": \"string\"},\n          \"expectedImpact\": {\"type\": \"string\"}\n        }\n      }\n    },\n    \"qualityImprovements\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"improvement\": {\"type\": \"string\"},\n          \"assessmentStage\": {\"type\": \"string\"}\n        }\n      }\n    },\n    \"declineReasons\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"},\n      \"description\": \"Identified reasons for offer declines\"\n    },\n    \"estimatedAcceptanceIncrease\": {\n      \"type\": \"number\",\n      \"description\": \"Estimated percentage increase in offer acceptance\"\n    },\n    \"competitivenessScore\": {\n      \"type\": \"number\",\n      \"description\": \"Current offer competitiveness score 0-100\"\n    }\n  },\n  \"required\": [\"offerStrategies\", \"qualityImprovements\", \"estimatedAcceptanceIncrease\", \"competitivenessScore\"]\n}"},"typeVersion":1.3},{"id":"35186bb6-818a-45e9-ab42-848b9467e414","name":"Route by Priority","type":"n8n-nodes-base.switch","position":[-768,352],"parameters":{"rules":{"values":[{"outputKey":"High","conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.overallPriority }}","rightValue":"High"}]},"renameOutput":true},{"outputKey":"Medium","conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.overallPriority }}","rightValue":"Medium"}]},"renameOutput":true},{"outputKey":"Low","conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.overallPriority }}","rightValue":"Low"}]},"renameOutput":true}]},"options":{"fallbackOutput":"extra","renameFallbackOutput":"Default"}},"typeVersion":3.4},{"id":"793c3e2c-fbe2-43f5-a32d-2ae11fcfec0e","name":"Store High Priority Insights","type":"n8n-nodes-base.dataTable","position":[-432,352],"parameters":{"options":{},"dataTableId":{"__rl":true,"mode":"name","value":"HighPriorityHiringInsights"}},"typeVersion":1.1},{"id":"2e3e5676-5acc-4d39-a1af-f3d49df2b6d4","name":"Store Medium Priority Insights","type":"n8n-nodes-base.dataTable","position":[96,832],"parameters":{"options":{},"dataTableId":{"__rl":true,"mode":"name","value":"MediumPriorityHiringInsights"}},"typeVersion":1.1},{"id":"4ddfd1a8-f4f1-4440-90cc-61b25e3debee","name":"Store Low Priority Insights","type":"n8n-nodes-base.dataTable","position":[96,1024],"parameters":{"options":{},"dataTableId":{"__rl":true,"mode":"name","value":"LowPriorityHiringInsights"}},"typeVersion":1.1},{"id":"71a5c852-cbd4-4532-98a6-34bb7ffc5108","name":"Notify HR Team - High Priority","type":"n8n-nodes-base.slack","position":[96,448],"webhookId":"8eef764b-1c76-4b92-9cdf-f3d5dbcc5dd9","parameters":{"text":"=🚨 *HIGH PRIORITY HIRING ALERT*\n\n*Orchestration Summary:*\n{{ $json.output.orchestrationSummary }}\n\n*Critical Alerts:*\n{{ $json.output.criticalAlerts ? $json.output.criticalAlerts.map(a => `• ${a}`).join(\"\\n\") : \"None\" }}\n\n*Agents Called:*\n{{ $json.output.agentsCalled.join(\", \") }}\n\n*Top Actions Required:*\n{{ $json.output.consolidatedActions.slice(0, 5).map((a, i) => `${i+1}. [${a.priority}] ${a.action} (Owner: ${a.owner})`).join(\"\\n\") }}\n\n*Report Date:* {{ $now.toFormat(\"yyyy-MM-dd HH:mm\") }}","select":"channel","channelId":{"__rl":true,"mode":"id","value":"={{ $('Workflow Configuration').first().json.slackHRChannel }}"},"otherOptions":{},"authentication":"oAuth2"},"credentials":{"slackOAuth2Api":{"id":"d34b1ayEBbvZm2lT","name":"Slack account"}},"typeVersion":2.4},{"id":"a21e0e49-1584-4047-9a56-41cc14f516f8","name":"Email Leadership - Critical Insights","type":"n8n-nodes-base.emailSend","position":[96,640],"webhookId":"5eb87a1d-f63c-48c5-b438-0f78a085d631","parameters":{"html":"=<html>\n<body style=\"font-family: Arial, sans-serif; line-height: 1.6; color: #333;\">\n<h2 style=\"color: #d32f2f;\">🚨 Critical Hiring Analytics Alert</h2>\n\n<div style=\"background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 20px 0;\">\n<h3>Orchestration Summary</h3>\n<p>{{ $json.output.orchestrationSummary }}</p>\n</div>\n\n<div style=\"background-color: #f8d7da; border-left: 4px solid #dc3545; padding: 15px; margin: 20px 0;\">\n<h3>Critical Alerts</h3>\n<ul>\n{{ $json.output.criticalAlerts ? $json.output.criticalAlerts.map(a => `<li>${a}</li>`).join(\"\") : \"<li>None</li>\" }}\n</ul>\n</div>\n\n<h3>Agents Engaged</h3>\n<p>{{ $json.output.agentsCalled.join(\", \") }}</p>\n\n<h3>Priority Actions Required</h3>\n<table style=\"width: 100%; border-collapse: collapse; margin: 20px 0;\">\n<thead>\n<tr style=\"background-color: #f2f2f2;\">\n<th style=\"border: 1px solid #ddd; padding: 12px; text-align: left;\">Priority</th>\n<th style=\"border: 1px solid #ddd; padding: 12px; text-align: left;\">Action</th>\n<th style=\"border: 1px solid #ddd; padding: 12px; text-align: left;\">Owner</th>\n<th style=\"border: 1px solid #ddd; padding: 12px; text-align: left;\">Expected Impact</th>\n</tr>\n</thead>\n<tbody>\n{{ $json.output.consolidatedActions.slice(0, 10).map(a => `<tr><td style=\"border: 1px solid #ddd; padding: 8px;\">${a.priority}</td><td style=\"border: 1px solid #ddd; padding: 8px;\">${a.action}</td><td style=\"border: 1px solid #ddd; padding: 8px;\">${a.owner}</td><td style=\"border: 1px solid #ddd; padding: 8px;\">${a.expectedImpact}</td></tr>`).join(\"\") }}\n</tbody>\n</table>\n\n<p style=\"margin-top: 30px; font-size: 12px; color: #666;\">Report generated: {{ $now.toFormat(\"yyyy-MM-dd HH:mm:ss\") }}</p>\n</body>\n</html>","options":{},"subject":"=CRITICAL: Hiring Analytics Alert - {{ $now.toFormat(\"yyyy-MM-dd\") }}","toEmail":"={{ $('Workflow Configuration').first().json.leadershipEmail }}","fromEmail":"<__PLACEHOLDER_VALUE__Sender Email Address__>"},"typeVersion":2.1},{"id":"0874b160-ec59-4aa2-9aec-aab4f766e9ed","name":"Consolidate All Insights","type":"n8n-nodes-base.merge","position":[320,736],"parameters":{"mode":"combine","options":{},"combineBy":"combineByPosition"},"typeVersion":3.2},{"id":"810d7f4b-7dac-47b1-8a11-d98e8d031bce","name":"Archive Complete Analytics Report","type":"n8n-nodes-base.dataTable","position":[544,736],"parameters":{"options":{},"dataTableId":{"__rl":true,"mode":"name","value":"CompleteHiringAnalyticsArchive"}},"typeVersion":1.1},{"id":"3a5f9fb4-cd51-4468-9abe-8a73662ed47e","name":"Check Critical Threshold","type":"n8n-nodes-base.if","position":[-208,352],"parameters":{"options":{},"conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"or","conditions":[{"id":"id-1","operator":{"type":"array","operation":"notEmpty"},"leftValue":"={{ $json.output.criticalAlerts }}"},{"id":"id-2","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.overallPriority }}","rightValue":"High"}]}},"typeVersion":2.3},{"id":"928f3487-7b49-4be1-96c5-8dae32131dbc","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-1728,-208],"parameters":{"color":6,"width":464,"height":352,"content":"## Prerequisites\nDeveloper account with API access, OpenAI API key (GPT-4 enabled)\n## Use Cases\nHigh-volume technical recruitment campaigns requiring standardized assessment frameworks\n## Customization\nModify AI agent prompts to align with specific role competencies\n## Benefits\nReduces time-to-hire by 60% through parallel AI assessments"},"typeVersion":1},{"id":"6e6e6977-5621-466d-ab64-f493e3b690a4","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-2320,-128],"parameters":{"width":544,"height":272,"content":"## Setup Steps\n1. Configure OpenAI API key for GPT-4 powered candidate sourcing and interview agents\n2. Link Anthropic Claude API for competency assessment modules\n3. Authorize Google Sheets access and specify target spreadsheet/worksheet for candidate data\n4. Set up Gmail integration with sender email and recipient distribution lists\n5. Connect Slack workspace and configure target channel for priority notifications\n6. Customize assessment criteria in Former Analytics Agent node based on role requirements"},"typeVersion":1},{"id":"eaef7db1-e192-43d8-8054-5b4d77189574","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-3120,-144],"parameters":{"width":768,"height":320,"content":"## How It Works\nThis workflow automates end-to-end recruitment operations for HR teams, talent acquisition specialists, and hiring managers facing high-volume candidate processing challenges. It solves the critical problem of manual interview coordination, inconsistent candidate evaluation, and scattered assessment data across multiple platforms.The system orchestrates a seamless pipeline: triggers initiate workflow execution, configuration nodes prepare analytics parameters, and Former Analytics Agent structures the evaluation framework. The Orchestration Agent intelligently routes candidates through specialized AI assessment modules—including sourcing verification, simulated interviews, and competency evaluation—each powered by different AI models (OpenAI GPT-4, Claude) optimized for specific assessment criteria. Consolidated insights automatically populate Google Sheets for centralized tracking, while Gmail notifications keep stakeholders informed. Critical alerts route to HR teams via Slack integration, ensuring immediate visibility into high-priority candidates and assessment bottlenecks, dramatically reducing time-to-hire while improving evaluation consistency."},"typeVersion":1},{"id":"1ce517ac-e898-4f52-aecf-ed0c31286497","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[-3200,208],"parameters":{"color":7,"width":1008,"height":672,"content":"## Analytics Framework Setup\n**Why** - Former Analytics Agent and output parser establish structured evaluation criteria, enabling consistent multi-dimensional candidate scoring across all assessment stages."},"typeVersion":1},{"id":"79791f3e-3ca2-4783-8966-625cee2fa112","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[-512,240],"parameters":{"color":7,"width":1232,"height":976,"content":"## Data Consolidation & Notification\n**Why** - Results aggregate in Google Sheets for centralized tracking while automated Gmail/Slack alerts ensure stakeholders receive timely updates on candidate progress and high-priority profiles."},"typeVersion":1},{"id":"b6db7300-2d35-40e8-915c-e1c690c680a1","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[-2176,224],"parameters":{"color":7,"width":1632,"height":768,"content":"## Intelligent Routing & AI Assessment\n**Why** - Orchestration Agent distributes candidates to specialized AI evaluators (sourcing, interviewing, skills assessment), leveraging model-specific strengths for comprehensive, unbiased evaluation."},"typeVersion":1}],"active":false,"pinData":{},"settings":{"availableInMCP":false,"executionOrder":"v1"},"versionId":"e7483c25-af19-4125-b2d6-09bd93e4a3ee","connections":{"Route by Priority":{"main":[[{"node":"Store High Priority Insights","type":"main","index":0}],[{"node":"Store Medium Priority Insights","type":"main","index":0}],[{"node":"Store Low Priority Insights","type":"main","index":0}]]},"Orchestration Agent":{"main":[[{"node":"Route by Priority","type":"main","index":0}]]},"Funnel Analytics Agent":{"main":[[{"node":"Orchestration Agent","type":"main","index":0}]]},"Sourcing Output Parser":{"ai_outputParser":[[{"node":"Candidate Sourcing Agent Tool","type":"ai_outputParser","index":0}]]},"Workflow Configuration":{"main":[[{"node":"Prepare Hiring Metrics Data","type":"main","index":0}]]},"Interview Output Parser":{"ai_outputParser":[[{"node":"Interview Scheduling Agent Tool","type":"ai_outputParser","index":0}]]},"OpenAI Model - Sourcing":{"ai_languageModel":[[{"node":"Candidate Sourcing Agent Tool","type":"ai_languageModel","index":0}]]},"Assessment Output Parser":{"ai_outputParser":[[{"node":"Candidate Assessment Agent Tool","type":"ai_outputParser","index":0}]]},"Check Critical Threshold":{"main":[[{"node":"Notify HR Team - High Priority","type":"main","index":0},{"node":"Email Leadership - Critical Insights","type":"main","index":0}]]},"Consolidate All Insights":{"main":[[{"node":"Archive Complete Analytics Report","type":"main","index":0}]]},"OpenAI Model - Interview":{"ai_languageModel":[[{"node":"Interview Scheduling Agent Tool","type":"ai_languageModel","index":0}]]},"OpenAI Model - Assessment":{"ai_languageModel":[[{"node":"Candidate Assessment Agent Tool","type":"ai_languageModel","index":0}]]},"Orchestration Output Parser":{"ai_outputParser":[[{"node":"Orchestration Agent","type":"ai_outputParser","index":0}]]},"Prepare Hiring Metrics Data":{"main":[[{"node":"Funnel Analytics Agent","type":"main","index":0}]]},"Store Low Priority Insights":{"main":[[{"node":"Consolidate All Insights","type":"main","index":1}]]},"OpenAI Model - Orchestration":{"ai_languageModel":[[{"node":"Orchestration Agent","type":"ai_languageModel","index":0}]]},"Store High Priority Insights":{"main":[[{"node":"Check Critical Threshold","type":"main","index":0}]]},"Candidate Sourcing Agent Tool":{"ai_tool":[[{"node":"Orchestration Agent","type":"ai_tool","index":0}]]},"Daily Hiring Analytics Trigger":{"main":[[{"node":"Workflow Configuration","type":"main","index":0}]]},"Funnel Analytics Output Parser":{"ai_outputParser":[[{"node":"Funnel Analytics Agent","type":"ai_outputParser","index":0}]]},"Notify HR Team - High Priority":{"main":[[{"node":"Consolidate All Insights","type":"main","index":0}]]},"Store Medium Priority Insights":{"main":[[{"node":"Consolidate All Insights","type":"main","index":0}]]},"Candidate Assessment Agent Tool":{"ai_tool":[[{"node":"Orchestration Agent","type":"ai_tool","index":0}]]},"Interview Scheduling Agent Tool":{"ai_tool":[[{"node":"Orchestration Agent","type":"ai_tool","index":0}]]},"OpenAI Model - Funnel Analytics":{"ai_languageModel":[[{"node":"Funnel Analytics Agent","type":"ai_languageModel","index":0}]]},"Email Leadership - Critical Insights":{"main":[[{"node":"Consolidate All Insights","type":"main","index":1}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":33,"nodeTypes":{"n8n-nodes-base.if":{"count":1},"n8n-nodes-base.set":{"count":2},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.slack":{"count":1},"n8n-nodes-base.switch":{"count":1},"n8n-nodes-base.dataTable":{"count":4},"n8n-nodes-base.emailSend":{"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.agentTool":{"count":3},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":5},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":5}}},"status":"published","readyToDemo":null,"user":{"name":"Cheng Siong Chin","username":"cschin","bio":"Dr. Cheng Siong CHIN is an n8n workflow creator specializing in AI-powered automation, agent orchestration, and intelligent system integrations. He designs and builds end-to-end workflows that combine LLMs, APIs, and data pipelines to streamline complex processes and deliver production-ready automation solutions. Contact me to discuss custom AI workflows and agent architectures.\n","verified":true,"links":["https://gravatar.com/mysticluminary9fa255f7f5"],"avatar":"https://gravatar.com/avatar/54544f98e839bb9dd9a764ad1e6823eeddb6db5138d201e42f291a7b0a73303f?r=pg&d=retro&size=200"},"nodes":[{"id":11,"icon":"fa:envelope","name":"n8n-nodes-base.emailSend","codex":{"data":{"alias":["SMTP","email","human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.sendemail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/sendemail/"}]},"categories":["Communication","HITL","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Send Email","color":"#00bb88"},"iconData":{"icon":"envelope","type":"icon"},"displayName":"Send Email","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":9,"name":"Core Nodes"},{"id":28,"name":"HITL"}]},{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":24,"icon":"file:merge.svg","name":"n8n-nodes-base.merge","codex":{"data":{"alias":["Join","Concatenate","Wait"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.merge/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Merge"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTc3XzUxOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgNDhDMCAyMS40OTAzIDIxLjQ5MDMgMCA0OCAwSDExMkMxMzguNTEgMCAxNjAgMjEuNDkwMyAxNjAgNDhWNTZIMTk2LjI1MkMyNDAuNDM1IDU2IDI3Ni4yNTIgOTEuODE3MiAyNzYuMjUyIDEzNlYxOTJDMjc2LjI1MiAyMTQuMDkxIDI5NC4xNjEgMjMyIDMxNi4yNTIgMjMySDM1MlYyMjRDMzUyIDE5Ny40OSAzNzMuNDkgMTc2IDQwMCAxNzZINDY0QzQ5MC41MSAxNzYgNTEyIDE5Ny40OSA1MTIgMjI0VjI4OEM1MTIgMzE0LjUxIDQ5MC41MSAzMzYgNDY0IDMzNkg0MDBDMzczLjQ5IDMzNiAzNTIgMzE0LjUxIDM1MiAyODhWMjgwSDMxNi4yNTJDMjk0LjE2MSAyODAgMjc2LjI1MiAyOTcuOTA5IDI3Ni4yNTIgMzIwVjM3NkMyNzYuMjUyIDQyMC4xODMgMjQwLjQzNSA0NTYgMTk2LjI1MiA0NTZIMTYwVjQ2NEMxNjAgNDkwLjUxIDEzOC41MSA1MTIgMTEyIDUxMkg0OEMyMS40OTAzIDUxMiAwIDQ5MC41MSAwIDQ2NFY0MDBDMCAzNzMuNDkgMjEuNDkwMyAzNTIgNDggMzUySDExMkMxMzguNTEgMzUyIDE2MCAzNzMuNDkgMTYwIDQwMFY0MDhIMTk2LjI1MkMyMTMuOTI1IDQwOCAyMjguMjUyIDM5My42NzMgMjI4LjI1MiAzNzZWMzIwQzIyOC4yNTIgMjk0Ljc4NCAyMzguODU5IDI3Mi4wNDQgMjU1Ljg1MyAyNTZDMjM4Ljg1OSAyMzkuOTU2IDIyOC4yNTIgMjE3LjIxNiAyMjguMjUyIDE5MlYxMzZDMjI4LjI1MiAxMTguMzI3IDIxMy45MjUgMTA0IDE5Ni4yNTIgMTA0SDE2MFYxMTJDMTYwIDEzOC41MSAxMzguNTEgMTYwIDExMiAxNjBINDhDMjEuNDkwMyAxNjAgMCAxMzguNTEgMCAxMTJWNDhaTTEwNCA0OEMxMDguNDE4IDQ4IDExMiA1MS41ODE3IDExMiA1NlYxMDRDMTEyIDEwOC40MTggMTA4LjQxOCAxMTIgMTA0IDExMkg1NkM1MS41ODE3IDExMiA0OCAxMDguNDE4IDQ4IDEwNFY1NkM0OCA1MS41ODE3IDUxLjU4MTcgNDggNTYgNDhIMTA0Wk00NTYgMjI0QzQ2MC40MTggMjI0IDQ2NCAyMjcuNTgyIDQ2NCAyMzJWMjgwQzQ2NCAyODQuNDE4IDQ2MC40MTggMjg4IDQ1NiAyODhINDA4QzQwMy41ODIgMjg4IDQwMCAyODQuNDE4IDQwMCAyODBWMjMyQzQwMCAyMjcuNTgyIDQwMy41ODIgMjI0IDQwOCAyMjRINDU2Wk0xMTIgNDA4QzExMiA0MDMuNTgyIDEwOC40MTggNDAwIDEwNCA0MDBINTZDNTEuNTgxNyA0MDAgNDggNDAzLjU4MiA0OCA0MDhWNDU2QzQ4IDQ2MC40MTggNTEuNTgxNyA0NjQgNTYgNDY0SDEwNEMxMDguNDE4IDQ2NCAxMTIgNDYwLjQxOCAxMTIgNDU2VjQwOFoiIGZpbGw9IiM1NEI4QzkiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTc3XzUxOCI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Merge","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":40,"icon":"file:slack.svg","name":"n8n-nodes-base.slack","codex":{"data":{"alias":["human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/","icon":"👏","label":"How to automatically give kudos to contributors with GitHub, Slack, and n8n"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.slack/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/slack/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Slack"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgMTUwLjg1MiAxNTAuODUyIj48dXNlIHhsaW5rOmhyZWY9IiNhIiB4PSIuOTI2IiB5PSIuOTI2Ii8+PHN5bWJvbCBpZD0iYSIgb3ZlcmZsb3c9InZpc2libGUiPjxnIHN0cm9rZS13aWR0aD0iMS44NTIiPjxwYXRoIGZpbGw9IiNlMDFlNWEiIHN0cm9rZT0iI2UwMWU1YSIgZD0iTTQwLjc0MSA5My41NWMwLTguNzM1IDYuNjA3LTE1Ljc3MiAxNC44MTUtMTUuNzcyczE0LjgxNSA3LjAzNyAxNC44MTUgMTUuNzcydjM4LjgyNGMwIDguNzM3LTYuNjA3IDE1Ljc3NC0xNC44MTUgMTUuNzc0cy0xNC44MTUtNy4wMzctMTQuODE1LTE1Ljc3MnoiLz48cGF0aCBmaWxsPSIjZWNiMjJkIiBzdHJva2U9IiNlY2IyMmQiIGQ9Ik05My41NSAxMDcuNDA4Yy04LjczNSAwLTE1Ljc3Mi02LjYwNy0xNS43NzItMTQuODE1czcuMDM3LTE0LjgxNSAxNS43NzItMTQuODE1aDM4LjgyNmM4LjczNSAwIDE1Ljc3MiA2LjYwNyAxNS43NzIgMTQuODE1cy03LjAzNyAxNC44MTUtMTUuNzcyIDE0LjgxNXoiLz48cGF0aCBmaWxsPSIjMmZiNjdjIiBzdHJva2U9IiMyZmI2N2MiIGQ9Ik03Ny43NzggMTUuNzcyQzc3Ljc3OCA3LjAzNyA4NC4zODUgMCA5Mi41OTMgMHMxNC44MTUgNy4wMzcgMTQuODE1IDE1Ljc3MnYzOC44MjZjMCA4LjczNS02LjYwNyAxNS43NzItMTQuODE1IDE1Ljc3MnMtMTQuODE1LTcuMDM3LTE0LjgxNS0xNS43NzJ6Ii8+PHBhdGggZmlsbD0iIzM2YzVmMSIgc3Ryb2tlPSIjMzZjNWYxIiBkPSJNMTUuNzcyIDcwLjM3MUM3LjAzNyA3MC4zNzEgMCA2My43NjMgMCA1NS41NTZzNy4wMzctMTQuODE1IDE1Ljc3Mi0xNC44MTVoMzguODI2YzguNzM1IDAgMTUuNzcyIDYuNjA3IDE1Ljc3MiAxNC44MTVzLTcuMDM3IDE0LjgxNS0xNS43NzIgMTQuODE1eiIvPjxnIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjxwYXRoIGZpbGw9IiNlY2IyMmQiIHN0cm9rZT0iI2VjYjIyZCIgZD0iTTc3Ljc3OCAxMzMuMzMzYzAgOC4yMDggNi42MDcgMTQuODE1IDE0LjgxNSAxNC44MTVzMTQuODE1LTYuNjA3IDE0LjgxNS0xNC44MTUtNi42MDctMTQuODE1LTE0LjgxNS0xNC44MTVINzcuNzc4eiIvPjxwYXRoIGZpbGw9IiMyZmI2N2MiIHN0cm9rZT0iIzJmYjY3YyIgZD0iTTEzMy4zMzQgNzAuMzcxaC0xNC44MTVWNTUuNTU2YzAtOC4yMDcgNi42MDctMTQuODE1IDE0LjgxNS0xNC44MTVzMTQuODE1IDYuNjA3IDE0LjgxNSAxNC44MTUtNi42MDcgMTQuODE1LTE0LjgxNSAxNC44MTV6Ii8+PHBhdGggZmlsbD0iI2UwMWU1YSIgc3Ryb2tlPSIjZTAxZTVhIiBkPSJNMTQuODE1IDc3Ljc3OEgyOS42M3YxNC44MTVjMCA4LjIwNy02LjYwNyAxNC44MTUtMTQuODE1IDE0LjgxNVMwIDEwMC44IDAgOTIuNTkzczYuNjA3LTE0LjgxNSAxNC44MTUtMTQuODE1eiIvPjxwYXRoIGZpbGw9IiMzNmM1ZjEiIHN0cm9rZT0iIzM2YzVmMSIgZD0iTTcwLjM3MSAxNC44MTVWMjkuNjNINTUuNTU2Yy04LjIwNyAwLTE0LjgxNS02LjYwNy0xNC44MTUtMTQuODE1UzQ3LjM0OCAwIDU1LjU1NiAwczE0LjgxNSA2LjYwNyAxNC44MTUgMTQuODE1eiIvPjwvZz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Slack","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":112,"icon":"fa:map-signs","name":"n8n-nodes-base.switch","codex":{"data":{"alias":["Router","If","Path","Filter","Condition","Logic","Branch","Case"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"Switch","color":"#506000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"Switch","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":839,"icon":"fa:clock","name":"n8n-nodes-base.scheduleTrigger","codex":{"data":{"alias":["Time","Scheduler","Polling","Cron","Interval"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\",\"schedule\"]","defaults":{"name":"Schedule Trigger","color":"#31C49F"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Schedule Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1153,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"OpenAI Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1179,"icon":"fa:code","name":"@n8n/n8n-nodes-langchain.outputParserStructured","codex":{"data":{"alias":["json","zod"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Output Parsers"]}}},"group":"[\"transform\"]","defaults":{"name":"Structured Output Parser"},"iconData":{"icon":"code","type":"icon"},"displayName":"Structured Output Parser","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1310,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agentTool","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"categories":["AI","Langchain"],"subcategories":{"AI":["Tools"],"Tools":["Recommended Tools"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent Tool","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent Tool","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1315,"icon":"fa:table","name":"n8n-nodes-base.dataTable","codex":{"data":{"alias":["data","table","knowledge","data table","table","sheet","database","data base","mysql","postgres","postgresql","airtable","supabase","noco","notion"],"details":"Data table","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.datatable/"}]},"categories":["Core Nodes","Development"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\",\"transform\"]","defaults":{"name":"Data table"},"iconData":{"icon":"table","type":"icon"},"displayName":"Data table","typeVersion":1,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":17,"name":"HR"},{"id":48,"name":"AI RAG"}],"image":[]}}