How I Automated the Entire Hiring Process with n8n
원본 영상: How I Automated the Entire Hiring Process with n8n
한 줄 요약
섹션 제목: “한 줄 요약”Indeed 이메일 수신 → Google Sheets 대시보드 자동 등록 → 온보딩 폼 → 스킬 테스트 → cal.com 인터뷰 예약까지, 수동 개입을 최소화한 완전 자동화 채용 파이프라인.
핵심 내용
섹션 제목: “핵심 내용”- 트리거 설정 — Indeed에서 지원자가 신청할 때마다 개별 이메일 알림을 받도록 설정(daily digest 아님). Gmail 노드가 폴링하며, 클라우드 n8n의 월 2,500 execution 한도 때문에 폴링 주기를 1분이 아닌 1시간으로 설정한다.
- 이메일 필터링 — Gmail 검색 필터에
subject:applied on indeed를 적용해 Indeed 지원 이메일만 트리거되도록 한다. - OpenAI로 비정형 데이터 파싱 — 이메일 제목에서 직무명을 추출하기 위해 GPT-4o-mini 호출. 시스템 메시지로 역할 부여, 유저 메시지로 제목 입력, 어시스턴트 메시지로 JSON 출력 포맷 지정.
- Google Sheets 대시보드 자동 등록 — 지원자 정보를 행으로 추가/업데이트. 고유 식별자로 Indeed 이메일 사용, 이름 분리는
.split(' ')[0]/[1]JS 표현식으로 처리. - 고유 코드 생성 —
Math.floor(Math.random() * 999999999)로 랜덤 숫자 코드를 생성해 각 지원자와 연결. 이후 모든 폼 제출 시 이 코드로 행을 매칭한다. - 온보딩 폼 발송 — 지원자에게 Indeed 메시지로 회신(Indeed가 대신 전달). 폼 링크와 고유 코드를 이메일에 포함.
- 자동 거절 로직 — 폼 제출 시 years_of_experience < 3 같은 조건을 n8n 표현식으로 평가해 rejected 컬럼을 자동으로
true로 설정. - Google Sheets → n8n 웹훅 연동 — Apps Script에
onEdit트리거를 설정해 체크박스 변경 시 n8n 웹훅(HTTP POST)으로 데이터를 전송. 이를 통해 수동 체크박스 클릭이 다음 자동화 단계를 발화한다. - Switch 노드로 분기 — 변경된 열 번호(F=6, H=8, J=10, D=4)를 기준으로 스크리닝 승인 / 테스트 승인 / 인터뷰 예약 / 거절 경로를 분기.
- 스킬 테스트 발송 — 스크리닝 승인 시 테스트 안내 이메일과 결과 제출 폼 링크를 자동 발송. 제출 폼은 Google Drive 링크 필드 + 코드 필드로 구성.
- cal.com 인터뷰 예약 — 테스트 승인 시 cal.com 예약 링크를 이메일로 발송. URL 쿼리 파라미터(
?code=XXXX)로 코드를 미리 채워 지원자가 다시 입력할 필요 없게 한다. cal.com 웹훅이 예약 완료를 수신하면 Google Sheets의 interview_scheduled를true로 업데이트.
전술·요소
섹션 제목: “전술·요소”| 단계 | 트리거 | 자동화 액션 |
|---|---|---|
| 지원 수신 | Indeed 이메일 → Gmail 노드 | Sheets 행 생성, 온보딩 폼 링크 발송 |
| 온보딩 폼 제출 | n8n Form 노드 | Sheets 업데이트, 조건부 자동 거절 |
| 스크리닝 승인 | Sheets 체크박스 → Apps Script | 테스트 안내 이메일 발송 |
| 테스트 제출 | n8n Form 노드 | Sheets에 test_link 저장, test_complete 체크 |
| 테스트 승인 | Sheets 체크박스 → Apps Script | cal.com 예약 링크 이메일 발송 |
| 인터뷰 예약 완료 | cal.com 웹훅 | Sheets interview_scheduled 체크 |
| 채용 결정 | Sheets 체크박스 | 계약서 발송 / Slack 초대 등 (커스터마이즈) |
- 웹훅 필터 조건: 변경 값이
true이고 특정 열(스크리닝·테스트·채용·거절)인 경우에만 통과 - 체크박스 값:
true/false문자열로 처리 - Google Sheets 중복 방지: “add or update row” + column match 설정
수치·사례
섹션 제목: “수치·사례”- n8n 클라우드 플랜: 월 2,500 executions 포함 (본인 언급)
- 폴링 1분 간격 시 하루 1,440 executions 소모 → 2일 내 한도 초과
- 폴링 1시간 간격 시 하루 24 executions
- OpenAI API 사용을 위해 계정 잔액 약 $5 필요 (본인 언급)
도구·워크플로
섹션 제목: “도구·워크플로”사용 도구
- n8n (워크플로 엔진)
- Gmail (지원자 커뮤니케이션)
- Google Sheets (채용 대시보드)
- Google Apps Script (Sheets → n8n 웹훅 브릿지)
- OpenAI GPT-4o-mini (이메일 제목 파싱)
- n8n Form (온보딩 폼, 테스트 제출 폼)
- cal.com (무료 인터뷰 예약, n8n 무료 연동)
- Go High Level (멀티채널 후속 연락용으로 언급, 워크플로 외부)
Apps Script 핵심 패턴
// onEdit 트리거로 Sheets 변경 시 n8n 웹훅에 POST// URL은 n8n 웹훅 노드 URL로 교체고유 코드 생성 표현식 (n8n)
{{ Math.floor(Math.random() * 999999999) }}cal.com URL 쿼리 파라미터 패턴
https://cal.com/yourname/meeting?code={{코드값}}&email={{이메일}}OpenAI 메시지 구조
- System: “You are a bot capable of pulling out the job title from an email subject line.”
- User: 이메일 제목 텍스트
- Assistant:
{"job": ""}JSON 포맷 지정 후 “Parse JSON output” 체크