자동화 후보자 상태 알리미
초급
이것은HR분야의자동화 워크플로우로, 5개의 노드를 포함합니다.주로 Slack, Webhook, Function 등의 노드를 사용하며. Slack 알림을 통한 자동화된 채용 상태 업데이트
사전 요구사항
- •Slack Bot Token 또는 Webhook URL
- •HTTP Webhook 엔드포인트(n8n이 자동으로 생성)
사용된 노드 (5)
카테고리
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "q6IkLPK3fhmaaUBg",
"meta": {
"instanceId": "a287613f1596da776459594685fbf4e2b4a12124f80ab8c8772f5e37bff103ae"
},
"name": "Automated Candidate Status Notifier",
"tags": [],
"nodes": [
{
"id": "ef1fe3c8-04ab-404e-b703-667f21caac0a",
"name": "1. Webhook 트리거 (상태 업데이트)",
"type": "n8n-nodes-base.webhook",
"position": [
0,
0
],
"webhookId": "5f3424e2-ffb3-4248-9d3d-971e15737c1b",
"parameters": {
"path": "candidate-status-update",
"options": {},
"httpMethod": "POST"
},
"description": "Receives candidate status updates (e.g., from a form, ATS webhook, or custom script). Copy this Webhook URL into your sending system.",
"typeVersion": 1
},
{
"id": "60448125-d750-46ee-9e42-e92267d0407c",
"name": "2. 데이터 추출 및 준비",
"type": "n8n-nodes-base.function",
"position": [
260,
0
],
"parameters": {
"functionCode": "const inputData = items[0].json.body;\n\n// --- IMPORTANT: ADJUST THESE FIELD NAMES TO MATCH YOUR INCOMING DATA ---\n// Common assumption: Incoming data contains 'candidateName', 'position', 'newStatus', and optionally 'oldStatus' and 'notes'.\n// Example:\n// If your system sends: { \"applicant_name\": \"John Doe\", \"job_role\": \"Software Engineer\", \"current_stage\": \"Interview Scheduled\" }\n// Adjust the variables below:\n// const candidateName = inputData.applicant_name;\n// const position = inputData.job_role;\n// const newStatus = inputData.current_stage;\n\nconst candidateName = inputData.candidateName || inputData.applicant_name || 'Unknown Candidate';\nconst position = inputData.position || inputData.job_role || 'Unknown Position';\nconst newStatus = inputData.newStatus || inputData.current_status || 'No New Status';\nconst oldStatus = inputData.oldStatus || inputData.previous_status || null;\nconst notes = inputData.notes || inputData.comment || ''; // Optional: for additional notes\n\nif (!candidateName || !newStatus) {\n throw new Error('Candidate data (name or new status) is incomplete. Please check your data sender configuration.');\n}\n\n// Prepare message for Slack/Email\nlet statusMessage;\nif (oldStatus && newStatus !== oldStatus) {\n statusMessage = `Candidate Status Updated: *${candidateName}* for position *${position}* changed from *${oldStatus}* to *${newStatus}*.`;\n} else {\n statusMessage = `New Candidate Status: *${candidateName}* for position *${position}* is now *${newStatus}*.`;\n}\n\nif (notes) {\n statusMessage += `\\nNotes: ${notes}`; // Add notes if available\n}\n\nreturn [{\n json: {\n candidateName: candidateName,\n position: position,\n newStatus: newStatus,\n oldStatus: oldStatus,\n slackMessage: statusMessage, // Message formatted for Slack (supports simple Markdown)\n emailSubject: `Candidate Status Update: ${candidateName} (${position})`,\n emailBody: statusMessage.replace(/\\*/g, '**') // Convert Slack Markdown to bold for email\n }\n}];"
},
"description": "Extracts candidate details and prepares the notification message.",
"typeVersion": 1
},
{
"id": "abe896cc-945f-4d49-be11-a53932b69d3d",
"name": "3. Slack 알림 전송",
"type": "n8n-nodes-base.slack",
"position": [
500,
0
],
"parameters": {
"text": "={{ $json.slackMessage }}",
"channel": "YOUR_SLACK_CHANNEL_ID_OR_NAME",
"attachments": [],
"otherOptions": {}
},
"description": "Sends a real-time notification to your Slack channel about the candidate status update.",
"typeVersion": 1
},
{
"id": "63686a52-aec3-4fb2-8bbe-24cdb61e446f",
"name": "스티키 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-60
],
"parameters": {
"color": 3,
"width": 800,
"height": 240,
"content": "## Flow"
},
"typeVersion": 1
},
{
"id": "51a80419-1aaf-41b8-9d4b-bba9f866d10b",
"name": "스티키 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
220
],
"parameters": {
"color": 4,
"width": 800,
"height": 1820,
"content": "# Workflow Documentation: Automated Candidate Status Notifier\n\n## Problem 😩\nIn busy recruitment processes, keeping the entire hiring team updated on candidate status changes is a constant challenge. Manual communication about status updates (e.g., 'Applied' to 'Interview Scheduled' to 'Offered') is inefficient, leads to communication gaps, and slows down the hiring process.\n\n## Solution ✨\nThis n8n workflow automates instant notifications about candidate status changes. It ensures that your recruiting team, hiring managers, or other relevant stakeholders are immediately informed about critical updates, improving transparency and collaboration.\n\n## For Who 🤝\nThis workflow is perfect for:\n* **Recruitment Teams:** To streamline internal communication.\n* **Hiring Managers:** To stay informed without constantly checking systems.\n* **HR Departments:** To ensure all stakeholders are aligned on candidate progress.\n* **Agencies & Freelance Recruiters:** To enhance their internal tracking and client communication.\n\n## Scope 🎯\n* **Input Data:** Candidate details and their new/old status (e.g., from a custom form, ATS webhook, or simple spreadsheet integration).\n* **Trigger:** Webhook (ideal for real-time updates from various sources).\n* **Logic:** Extracts candidate name, position, old status, and new status; constructs a concise notification message.\n* **Output:** Real-time notifications sent to a Slack channel (easily adaptable to email or other communication tools).\n* **Customization:** Flexible for different data input formats and notification channels.\n\n## How It Works ⚙️\n\nThis workflow acts as a communication bridge for your candidate pipeline:\n\n1. **Webhook Trigger (Status Update):** 🚀 The workflow activates when it receives data indicating a candidate's status has changed. This data could come from an internal form, a custom script, or a webhook from a basic Applicant Tracking System (ATS).\n2. **Extract & Prepare Data (Function):** 🧹 This node processes the incoming data. It extracts key information such as the candidate's name, the position they applied for, their previous status (if available), and their new status. It then formats this information into a clear, concise message suitable for a notification.\n3. **Send Slack Notification:** 📢 The prepared message is sent to a designated Slack channel (e.g., `#recruitment-updates`). This provides instant, real-time updates to your team, ensuring everyone is on the same page.\n * **(Alternative: Send Email Notification):** This node can easily be swapped with a Gmail or SendGrid node to send email notifications to a predefined list of recipients instead of Slack.\n\n## How to Set Up 🛠️\n\nFollow these steps carefully to get your \"Automated Candidate Status Notifier\" workflow up and running:\n\n1. **Import Workflow JSON:**\n * Open your n8n instance.\n * Click on 'Workflows' in the left sidebar.\n * Click the '+' button or 'New' to create a new workflow.\n * Click the '...' (More Options) icon in the top right.\n * Select 'Import from JSON' and paste the entire JSON code for this workflow.\n\n2. **Configure Webhook Trigger (Status Update):**\n * Locate the 'Webhook Trigger (Status Update)' node (1. Webhook Trigger).\n * Activate the workflow. n8n will provide a unique 'Webhook URL'.\n * **Crucial Step:** Configure your data-sending system (e.g., a form submission, an ATS's webhook settings, or your custom script) to send candidate status update data (preferably in JSON format via POST request) to this n8n Webhook URL.\n\n3. **Configure Extract & Prepare Data (Function):**\n * Locate the 'Extract & Prepare Data' node (2. Extract & Prepare Data).\n * **Adjust Field Names:** Review the `functionCode` inside this node. **You MUST adjust the variable assignments (e.g., `inputData.candidateName`, `inputData.position`)** to accurately match the exact field names your sending system uses for candidate name, position, new status, old status, and notes. Use the 'Test Workflow' feature after sending a test webhook to inspect the incoming `items[0].json.body` data structure.\n * The node automatically formats messages for Slack and Email.\n\n4. **Configure Send Slack Notification:**\n * Locate the 'Send Slack Notification' node (3. Send Slack Notification).\n * **Credentials:** Select your existing Slack API credential or click 'Create New' to set one up. Replace `YOUR_SLACK_CREDENTIAL_ID` with the actual ID or name of your credential from your n8n credentials.\n * **Channel:** Replace `YOUR_SLACK_CHANNEL_ID_OR_NAME` with the exact ID or name of the Slack channel where you want to receive notifications (e.g., `#recruitment-updates`).\n\n * **OPTIONAL: Switch to Email Notification"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "1ff87f1e-2e7f-4bbb-a796-135989964d30",
"connections": {
"60448125-d750-46ee-9e42-e92267d0407c": {
"main": [
[
{
"node": "abe896cc-945f-4d49-be11-a53932b69d3d",
"type": "main",
"index": 0
}
]
]
},
"ef1fe3c8-04ab-404e-b703-667f21caac0a": {
"main": [
[
{
"node": "60448125-d750-46ee-9e42-e92267d0407c",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
초급 - 인사
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
基于GPT-4의스마트招聘与候选人互动系统
基于GPT-4의AI招聘系统,用于简历筛选与자동外联
If
Code
Wait
+
If
Code
Wait
30 노드Marth
인사
Google Docs, DocuSign 및 Airtable을 사용한 계약직 직원 라이프사이클 자동화
Google Docs, DocuSign 및 Airtable을 활용한 계약직 직원 라이프사이클 관리 자동화
If
Wait
Slack
+
If
Wait
Slack
16 노드Marth
인사
이커머스 운영 허브 AI 시스템
Slack, Sheets 및 Gmail을 사용한 이커머스 주문, 재고 및 피드백 자동화
If
Gmail
Slack
+
If
Gmail
Slack
16 노드Marth
고객관계관리
부동산 견학 약속 자동화(부동산)
Google 캘린더, Slack 및 Calendly를 사용한 부동산 집 방문 자동화
Wait
Gmail
Slack
+
Wait
Gmail
Slack
12 노드Marth
리드 육성
포괄적인 리드 육성 및 자격 인증
Gmail, Google 스프레드시트, Slack을 사용한 자동 잠재 고객 육성 및 자격 평가
Wait
Gmail
Slack
+
Wait
Gmail
Slack
12 노드Marth
리드 육성
Slack, Sheets 및 Gmail을 활용한 직원 인정 자동화
Slack, Sheets, Gmail 및 선택적 GPT-4를 사용한 직원 표창 자동화
If
Code
Gmail
+
If
Code
Gmail
16 노드Marth
인사
워크플로우 정보
난이도
초급
노드 수5
카테고리1
노드 유형4
저자
Marth
@marthSimplifying Business with Smart Automation. I create and share user-friendly, highly efficient n8n workflow templates for SMEs, focusing on digital marketing, sales, and operational excellence. Get ready to automate, innovate, and elevate your business. Connect me on Linkedin for custom solutions.
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유