RECIPE 061
채용 지원자 관리 자동화 파이프라인
- ▸이메일로 받은 이력서를 자동으로 분류 및 Notion에 저장
- ▸지원 단계별(서류/면접/합격/불합격) 자동 상태 업데이트
- ▸지원자에게 단계별 자동 안내 이메일 발송
✅사전 준비
- □Gmail 채용 전용 이메일 계정 설정
- □Notion 채용 DB 생성 (속성: 이름, 이메일, 포지션, 상태, 지원일)
- □OpenAI API 키 (이력서 내용 파싱용)
- □각 단계별 이메일 템플릿 준비
Gmail Trigger 설정
Node: Gmail Trigger
Event: Message Received
Filters:
Subject Contains: 지원 OR 이력서 OR resume OR apply
Has Attachment: true
// 첨부 파일 추출
Node: Gmail → Get Email
Attachments: DownloadOpenAI 이력서 파싱 프롬프트
System: 이력서 텍스트에서 정보를 추출해 JSON으로 반환하세요.
형식: {"name": "", "email": "", "phone": "", "position": "", "experience_years": 0, "skills": []}
User: {{ $json.emailBody }}Notion DB 레코드 생성
{
"properties": {
"이름": { "title": [{ "text": { "content": "{{ $json.name }}" } }] },
"이메일": { "email": "{{ $json.email }}" },
"포지션": { "select": { "name": "{{ $json.position }}" } },
"상태": { "select": { "name": "서류 검토" } },
"지원일": { "date": { "start": "{{ $now.toISODate() }}" } },
"경력(년)": { "number": {{ $json.experience_years }} }
}
}💡 TIP이력서가 PDF인 경우 n8n의 Extract from File 노드를 사용하거나, Adobe PDF Extract API(무료 500회/월)를 활용해 텍스트를 추출하세요.
⚡
워크플로우 JSON
아래 JSON을 복사해 n8n에 바로 임포트하세요
📥 n8n 임포트 방법
n8n 화면 우측 상단 메뉴 (⋮) → Import from JSON → 아래 JSON 전체 복사 후 붙여넣기 → Import 클릭
n8n 화면 우측 상단 메뉴 (⋮) → Import from JSON → 아래 JSON 전체 복사 후 붙여넣기 → Import 클릭
{
"recipeId": "recipe061",
"title": "영수증 이메일 수신 → 자동 시트 기록",
"chapter": 6,
"category": "재무 & 정산 자동화",
"difficulty": "⭐⭐",
"estimatedTime": "35분",
"usedApps": [
"Gmail",
"OpenAI",
"Google Sheets"
],
"description": "직원들이 법인카드 영수증을 이메일로 보내오면, OpenAI가 금액·날짜·용도·결제 수단을 자동 추출해 Google Sheets 경비 관리 시트에 기록하고, 제출자에게 접수 완료 이메일을 자동 발송합니다.",
"nodes": [
{
"id": "node1",
"type": "n8n-nodes-base.gmailTrigger",
"name": "영수증 이메일 감지",
"parameters": {
"pollTimes": {
"item": [
{
"mode": "everyMinute",
"minute": 5
}
]
},
"filters": {
"q": "subject:영수증 OR from:{{$env.RECEIPT_SENDER_EMAIL}}"
}
}
},
{
"id": "node2",
"type": "n8n-nodes-base.openAi",
"name": "영수증 정보 추출",
"parameters": {
"resource": "chat",
"model": "gpt-4o-mini",
"messages": {
"values": [
{
"role": "user",
"content": "다음 이메일 내용에서 영수증 정보를 추출해 JSON으로 반환해주세요.\n형식: {\"금액\": \"\", \"날짜\": \"\", \"용도\": \"\", \"결제수단\": \"\", \"제출자\": \"\"}\n\n이메일 내용:\n{{$json[\"text\"]}}"
}
]
}
}
},
{
"id": "node3",
"type": "n8n-nodes-base.googleSheets",
"name": "경비 시트 자동 기록",
"parameters": {
"operation": "appendOrUpdate",
"spreadsheetId": "={{$env.EXPENSE_SHEET_ID}}",
"sheetName": "경비내역",
"columns": {
"mappingMode": "defineBelow",
"value": {
"접수일시": "={{$now.format('YYYY-MM-DD HH:mm')}}",
"금액": "={{JSON.parse($json['message']['content'])['금액']}}",
"날짜": "={{JSON.parse($json['message']['content'])['날짜']}}",
"용도": "={{JSON.parse($json['message']['content'])['용도']}}",
"결제수단": "={{JSON.parse($json['message']['content'])['결제수단']}}",
"제출자": "={{JSON.parse($json['message']['content'])['제출자']}}"
}
}
}
},
{
"id": "node4",
"type": "n8n-nodes-base.gmail",
"name": "접수 완료 이메일 발송",
"parameters": {
"operation": "send",
"to": "={{$node['영수증 이메일 감지'].json['from']}}",
"subject": "[경비] 영수증 접수가 완료되었습니다",
"message": "안녕하세요!\n\n제출하신 영수증이 정상적으로 접수되었습니다.\n\n- 금액: {{JSON.parse($node['영수증 정보 추출'].json['message']['content'])['금액']}}\n- 날짜: {{JSON.parse($node['영수증 정보 추출'].json['message']['content'])['날짜']}}\n- 용도: {{JSON.parse($node['영수증 정보 추출'].json['message']['content'])['용도']}}\n\n감사합니다."
}
}
],
"envVariables": {
"RECEIPT_SENDER_EMAIL": "영수증 제출 전용 발신자 이메일 (선택)",
"EXPENSE_SHEET_ID": "Google Sheets 경비 관리 시트 ID"
},
"tips": [
"이메일에 영수증 이미지가 첨부된 경우, OpenAI Vision 기능(gpt-4o)을 사용하면 이미지에서도 금액·날짜를 자동 추출할 수 있어요.",
"경비 유형(교통비·식비·접대비)을 자동 분류하려면 OpenAI 프롬프트에 분류 기준을 추가하세요.",
"월말 정산 시 레시피 069(법인카드 자동 분류)와 연결하면 이중 기록을 방지할 수 있어요."
],
"qrUrl": "www.koreaaitimes.com/books/n8n-vol2/recipe061"
}