This workflow corresponds to n8n.io template #13352 — we link there as the canonical source.
This workflow follows the Agent → Agenttool recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "-KJ9rybezMtoJNVcZmbT2",
"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 \u2192 screening \u2192 phone \u2192 onsite \u2192 offer \u2192 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": {
"name": "<your credential>"
}
},
"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": {
"name": "<your credential>"
}
},
"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": {
"name": "<your credential>"
}
},
"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": {
"name": "<your credential>"
}
},
"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": {
"name": "<your credential>"
}
},
"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
],
"parameters": {
"text": "=\ud83d\udea8 *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 => `\u2022 ${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": {
"name": "<your credential>"
}
},
"typeVersion": 2.4
},
{
"id": "a21e0e49-1584-4047-9a56-41cc14f516f8",
"name": "Email Leadership - Critical Insights",
"type": "n8n-nodes-base.emailSend",
"position": [
96,
640
],
"parameters": {
"html": "=<html>\n<body style=\"font-family: Arial, sans-serif; line-height: 1.6; color: #333;\">\n<h2 style=\"color: #d32f2f;\">\ud83d\udea8 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\u2014including sourcing verification, simulated interviews, and competency evaluation\u2014each 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,
"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
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
openAiApislackOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow automates end-to-end 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…
Source: https://n8n.io/workflows/13352/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow automates end-to-end sustainability lifecycle management for corporate sustainability teams, ESG governance officers, and circular economy programme leads. It addresses the challenge of
This workflow automates end-to-end carbon emissions monitoring, strategy optimisation, and ESG reporting using a multi-agent AI supervisor architecture in n8n. Designed for sustainability managers, ES
This workflow automates end-to-end ESG (Environmental, Social, and Governance) sustainability reporting for enterprise sustainability teams, compliance officers, and green governance leads. It solves
This workflow automates end-to-end carbon emissions monitoring, strategy optimisation, and ESG reporting using a multi-agent AI supervisor architecture in n8n. Designed for sustainability managers, ES
This workflow automates end-to-end carbon emissions monitoring, strategy optimisation, and ESG reporting using a multi-agent AI supervisor architecture in n8n. Designed for sustainability managers, ES