콘텐츠로 이동

How I Automated the Entire Hiring Process with n8n

원본 영상: How I Automated the Entire Hiring Process with n8n

Indeed 이메일 수신 → Google Sheets 대시보드 자동 등록 → 온보딩 폼 → 스킬 테스트 → cal.com 인터뷰 예약까지, 수동 개입을 최소화한 완전 자동화 채용 파이프라인.

  1. 트리거 설정 — Indeed에서 지원자가 신청할 때마다 개별 이메일 알림을 받도록 설정(daily digest 아님). Gmail 노드가 폴링하며, 클라우드 n8n의 월 2,500 execution 한도 때문에 폴링 주기를 1분이 아닌 1시간으로 설정한다.
  2. 이메일 필터링 — Gmail 검색 필터에 subject:applied on indeed를 적용해 Indeed 지원 이메일만 트리거되도록 한다.
  3. OpenAI로 비정형 데이터 파싱 — 이메일 제목에서 직무명을 추출하기 위해 GPT-4o-mini 호출. 시스템 메시지로 역할 부여, 유저 메시지로 제목 입력, 어시스턴트 메시지로 JSON 출력 포맷 지정.
  4. Google Sheets 대시보드 자동 등록 — 지원자 정보를 행으로 추가/업데이트. 고유 식별자로 Indeed 이메일 사용, 이름 분리는 .split(' ')[0] / [1] JS 표현식으로 처리.
  5. 고유 코드 생성Math.floor(Math.random() * 999999999)로 랜덤 숫자 코드를 생성해 각 지원자와 연결. 이후 모든 폼 제출 시 이 코드로 행을 매칭한다.
  6. 온보딩 폼 발송 — 지원자에게 Indeed 메시지로 회신(Indeed가 대신 전달). 폼 링크와 고유 코드를 이메일에 포함.
  7. 자동 거절 로직 — 폼 제출 시 years_of_experience < 3 같은 조건을 n8n 표현식으로 평가해 rejected 컬럼을 자동으로 true로 설정.
  8. Google Sheets → n8n 웹훅 연동 — Apps Script에 onEdit 트리거를 설정해 체크박스 변경 시 n8n 웹훅(HTTP POST)으로 데이터를 전송. 이를 통해 수동 체크박스 클릭이 다음 자동화 단계를 발화한다.
  9. Switch 노드로 분기 — 변경된 열 번호(F=6, H=8, J=10, D=4)를 기준으로 스크리닝 승인 / 테스트 승인 / 인터뷰 예약 / 거절 경로를 분기.
  10. 스킬 테스트 발송 — 스크리닝 승인 시 테스트 안내 이메일과 결과 제출 폼 링크를 자동 발송. 제출 폼은 Google Drive 링크 필드 + 코드 필드로 구성.
  11. 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 Scriptcal.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” 체크