RECIPE C
시나리오 C — HR 전주기 채용·온보딩 자동화 시스템
- ▸채용 공고 등록부터 퇴직 오프보딩까지 HR 전 과정을 하나의 시스템으로 연결할 수 있다
- ▸지원자·직원 상태 변경에 따라 이메일·Slack·Notion이 자동 트리거되도록 구성할 수 있다
- ▸채용 소요 기간, 온보딩 완료율 등 HR KPI를 자동 집계할 수 있다
✅사전 준비
- □챕터 5 전체 레시피(051~060) 및 미니 프로젝트 P5 완료
- □Notion HR DB 3종 구성 (지원자 DB / 직원 DB / 온보딩 DB)
- □Gmail HR 전용 계정 자격증명 연결
- □Slack #hr, #onboarding, #offboarding 채널 생성
- □Google Forms 지원서 양식 및 온보딩 피드백 양식 준비
- □Calendly 면접 일정 페이지 생성 완료
HR 전주기 자동화 4단계 흐름
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[1단계] 채용 자동화
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
채용 공고 다채널 등록 (원티드/잡코리아/LinkedIn)
↓
Google Form 지원서 제출
→ Notion 지원자 DB 자동 등록
→ 이력서 Google Drive 저장
→ Slack #hr 알림
→ 접수 확인 이메일 자동 발송
Notion 상태 변경 (서류합격)
→ 면접 일정 조율 이메일 + Calendly 링크 발송
Notion 상태 변경 (최종합격)
→ 합격 이메일 + 입사 안내 발송
→ 2단계 온보딩 자동 시작
Notion 상태 변경 (불합격)
→ 정중한 거절 이메일 자동 발송
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[2단계] 온보딩 자동화 (입사 전~30일)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
D-7: 입사 전 준비 안내 이메일
D-1: 내일 뵙겠습니다 이메일 + 주차 안내
D+0: 환영 Slack 메시지 + 온보딩 체크리스트 생성
D+7: 1주 회고 설문 자동 발송
D+30: 온보딩 완료 평가 설문 + KPI 업데이트
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[3단계] 재직 자동화
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
생일/입사 기념일 자동 축하 (매일 체크)
휴가 신청 자동 승인 흐름
주간 업무 현황 자동 수집 (매주 금)
인사평가 시즌 리마인더 자동 발송
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[4단계] 오프보딩 자동화
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
퇴직 확정 → 오프보딩 체크리스트 자동 생성
D-7: IT팀 계정 회수 준비 알림
D+0: 퇴직 처리 완료 → 시스템 접근 차단 알림온보딩 D-day 스케줄 자동화 — Code 노드
// 매일 08:00 실행 — 오늘 해당하는 온보딩 이벤트 찾기
const employees = $('직원 DB').all();
const today = new Date();
today.setHours(0,0,0,0);
const tasks = [];
for (const emp of employees) {
const startDate = new Date(emp.json.startDate);
startDate.setHours(0,0,0,0);
const diffDays = Math.round(
(today - startDate) / (1000 * 60 * 60 * 24)
);
if (diffDays === -7) tasks.push({ ...emp.json, task: 'pre_week' });
if (diffDays === -1) tasks.push({ ...emp.json, task: 'pre_day' });
if (diffDays === 0) tasks.push({ ...emp.json, task: 'day_zero' });
if (diffDays === 7) tasks.push({ ...emp.json, task: 'week_one' });
if (diffDays === 30) tasks.push({ ...emp.json, task: 'month_one' });
}
return tasks.map(t => ({ json: t }));채용 KPI 자동 집계 — Code 노드
const applicants = $('지원자 DB').all();
const total = applicants.length;
const passed = applicants.filter(a => a.json.status === '최종합격').length;
const hired = applicants.filter(a => a.json.status === '입사완료').length;
// 채용 소요 기간 계산 (지원일 → 합격일)
const durations = applicants
.filter(a => a.json.hireDate && a.json.applyDate)
.map(a => {
const apply = new Date(a.json.applyDate);
const hire = new Date(a.json.hireDate);
return Math.round((hire - apply) / (1000*60*60*24));
});
const avgDays = durations.length
? Math.round(durations.reduce((s,d)=>s+d,0) / durations.length)
: 0;
return [{
json: {
totalApplicants: total,
offerRate: total ? (passed/total*100).toFixed(1)+'%' : '-',
hireRate: total ? (hired/total*100).toFixed(1)+'%' : '-',
avgHiringDays: avgDays + '일',
}
}];💡 TIP온보딩 D-day 워크플로우는 매일 1회 실행되지만 실제 이벤트가 없는 날은 빈 배열을 반환하므로 후속 노드가 실행되지 않습니다. n8n의 'Continue On Fail' 옵션과 IF 노드로 빈 배열 처리를 반드시 추가하세요.
⚠️ 주의지원자 불합격 통보 이메일은 너무 이르거나 너무 늦게 발송되지 않도록 주의하세요. 면접 당일이나 다음 날 자동 발송되도록 Notion 상태 변경 후 24시간 Wait 노드를 추가하는 것을 권장합니다.
⚡
워크플로우 JSON
아래 JSON을 복사해 n8n에 바로 임포트하세요
📥 n8n 임포트 방법
n8n 화면 우측 상단 메뉴 (⋮) → Import from JSON → 아래 JSON 전체 복사 후 붙여넣기 → Import 클릭
n8n 화면 우측 상단 메뉴 (⋮) → Import from JSON → 아래 JSON 전체 복사 후 붙여넣기 → Import 클릭
{
"id": "scenario_C",
"chapter": 9,
"title": "시나리오 C — HR 전주기 채용·온보딩 자동화 시스템",
"difficulty": "⭐⭐⭐",
"target": "10~50명 규모 스타트업의 HR 담당자 또는 채용 매니저",
"outcome": "채용 공고 등록부터 → 지원자 정리 → 면접 조율 → 입사 후 30일 온보딩까지 전 과정이 한 사람이 관리할 수 있는 수준으로 자동화돼요.",
"linked_recipes": [
{
"recipe": "059",
"desc": "공고 등록"
},
{
"recipe": "051",
"desc": "지원서 정리"
},
{
"recipe": "052",
"desc": "면접 조율"
},
{
"recipe": "053",
"desc": "온보딩"
},
{
"recipe": "055",
"desc": "생일 알림"
},
{
"recipe": "057",
"desc": "인사평가"
}
],
"workflow_diagram": [
"[채용 공고 등록] Google Sheets 트리거",
"↓",
"잡코리아 API + 사람인 API + LinkedIn → 다채널 동시 등록",
"↓",
"[신규 지원자] Gmail Trigger",
"↓",
"Google Sheets → 지원자 목록 정리",
"↓",
"Slack → 채용팀 알림",
"↓",
"[서류 합격 시] Sheets 상태 변경",
"↓",
"Gmail → 합격 안내 + Calendly 링크",
"↓",
"[입사 결정 시]",
"↓",
"30일 온보딩 워크플로우 자동 시작"
],
"workflow_url": "www.koreaaitimes.com/books/n8n-vol2/recipeC"
}