Google Calendar 및 Gmail 알림을 사용한 자동화된 지원자 면접 트래커
이것은HR분야의자동화 워크플로우로, 13개의 노드를 포함합니다.주로 If, Gmail, Filter, Webhook, GoogleSheets 등의 노드를 사용하며. Google Calendar, Sheets, Gmail 알림을 사용한 면접 자동 추적
- •Google 계정 및 Gmail API 인증 정보
- •HTTP Webhook 엔드포인트(n8n이 자동으로 생성)
- •Google Sheets API 인증 정보
카테고리
{
"id": "fgGjrwJD0wsrTF4C",
"meta": {
"instanceId": "dd69efaf8212c74ad206700d104739d3329588a6f3f8381a46a481f34c9cc281",
"templateCredsSetupCompleted": true
},
"name": "Automated Candidate Interview Tracker with Google Calendar & Gmail Alerts",
"tags": [],
"nodes": [
{
"id": "40220665-8466-4ca5-a665-59b1b7fb4dcd",
"name": "5분마다 확인",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
144,
-64
],
"parameters": {
"rule": {
"interval": [
{
"field": "minutes"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "cec5691c-d2e4-4da0-a72f-a5eacc87e4d1",
"name": "캘린더 이벤트 가져오기",
"type": "n8n-nodes-base.googleCalendar",
"position": [
368,
-64
],
"parameters": {
"options": {
"timeMax": "={{ $now.plus({ hours: 1 }).toISO() }}",
"timeMin": "={{ $now.toISO() }}"
},
"calendar": {
"__rl": true,
"mode": "id",
"value": "=76iujhgtr4321eryi8"
},
"operation": "getAll"
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "6ldLmzzYtaqng4pw",
"name": "Google Calendar account - test"
}
},
"typeVersion": 1.2
},
{
"id": "e600def1-33a8-433b-978a-5bd334d4e861",
"name": "예정된 인터뷰 필터링",
"type": "n8n-nodes-base.filter",
"position": [
592,
-64
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "condition1",
"operator": {
"type": "dateTime",
"operation": "before",
"singleValue": true
},
"leftValue": "={{ $json.start.dateTime }}",
"rightValue": "={{ $now.plus({ minutes: 5 }).toISO() }}"
},
{
"id": "condition2",
"operator": {
"type": "dateTime",
"operation": "after",
"singleValue": true
},
"leftValue": "={{ $json.start.dateTime }}",
"rightValue": "={{ $now.toISO() }}"
}
]
}
},
"typeVersion": 2
},
{
"id": "871ea2fb-6f24-4291-888c-94c1a47a6518",
"name": "Google 시트에 추가",
"type": "n8n-nodes-base.googleSheets",
"position": [
816,
-160
],
"parameters": {
"columns": {
"value": {},
"schema": [],
"mappingMode": "autoMapInputData",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "name",
"value": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "YOUR_SPREADSHEET_ID"
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "ScSS2KxGQULuPtdy",
"name": "Google Sheets- test"
}
},
"typeVersion": 4.5
},
{
"id": "97b38c41-ea45-4e4b-8318-5da4d3c24135",
"name": "후보자에게 리마인더 전송",
"type": "n8n-nodes-base.gmail",
"position": [
816,
32
],
"webhookId": "4aa88c2f-aa96-4773-a71b-6dd89843b55a",
"parameters": {
"sendTo": "={{ $json.attendees[0].email }}",
"message": "=<h2>Interview Reminder</h2>\n<p>Dear Candidate,</p>\n<p>Your interview is scheduled to start in <strong>5 minutes</strong>.</p>\n<p><strong>Interview:</strong> {{ $json.summary }}<br>\n<strong>Time:</strong> {{ $json.start.dateTime }}<br>\n<strong>Google Meet Link:</strong> <a href=\"{{ $json.hangoutLink }}\">Join Meeting</a></p>\n<p>Please join on time. Good luck!</p>",
"options": {},
"subject": "Interview Reminder - Starting in 5 Minutes"
},
"credentials": {
"gmailOAuth2": {
"id": "PcTqvGU9uCunfltE",
"name": "Gmail account - test"
}
},
"typeVersion": 2.1
},
{
"id": "53f7164c-9007-4261-8628-24b1bcdac2c7",
"name": "결과로 시트 업데이트",
"type": "n8n-nodes-base.googleSheets",
"position": [
368,
352
],
"parameters": {
"columns": {
"value": {},
"schema": [],
"mappingMode": "autoMapInputData",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "name",
"value": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "YOUR_SPREADSHEET_ID"
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "ScSS2KxGQULuPtdy",
"name": "Google Sheets- test"
}
},
"typeVersion": 4.5
},
{
"id": "6780349a-d56e-465c-8dc4-4a23a2523dbf",
"name": "Webhook: 인터뷰 결과 제출",
"type": "n8n-nodes-base.webhook",
"position": [
144,
352
],
"webhookId": "interview-result-webhook",
"parameters": {
"path": "interview-result",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2
},
{
"id": "4269bbb9-8d74-4d20-8053-260836d36478",
"name": "합격 여부 확인",
"type": "n8n-nodes-base.if",
"position": [
592,
352
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "passed-condition",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.result }}",
"rightValue": "Pass"
}
]
}
},
"typeVersion": 2
},
{
"id": "e9572ff4-464a-4956-a14e-2c0b1917a3c3",
"name": "후보자 이메일 - 합격",
"type": "n8n-nodes-base.gmail",
"position": [
816,
256
],
"webhookId": "7b073d4f-6bb9-4b31-aa60-8f9e0cebb3e5",
"parameters": {
"sendTo": "={{ $json.candidateEmail }}",
"message": "=<h2>Congratulations!</h2>\n<p>Dear Candidate,</p>\n<p>We are pleased to inform you that you have <strong>PASSED</strong> the interview.</p>\n<p><strong>Feedback:</strong> {{ $json.feedback }}</p>\n<p>Our team will contact you soon with next steps.</p>\n<p>Best regards,<br>HR Team</p>",
"options": {},
"subject": "🎉 Congratulations! You Passed the Interview"
},
"credentials": {
"gmailOAuth2": {
"id": "PcTqvGU9uCunfltE",
"name": "Gmail account - test"
}
},
"typeVersion": 2.1
},
{
"id": "11a09ef5-e424-45db-9923-700ca794fc47",
"name": "후보자 이메일 - 불합격",
"type": "n8n-nodes-base.gmail",
"position": [
816,
448
],
"webhookId": "0ea6d946-1e54-47c6-ae97-7cbeb6c0a919",
"parameters": {
"sendTo": "={{ $json.candidateEmail }}",
"message": "=<h2>Interview Result</h2>\n<p>Dear Candidate,</p>\n<p>Thank you for taking the time to interview with us.</p>\n<p>After careful consideration, we have decided not to move forward with your application at this time.</p>\n<p><strong>Feedback:</strong> {{ $json.feedback }}</p>\n<p>We wish you all the best in your future endeavors.</p>\n<p>Best regards,<br>HR Team</p>",
"options": {},
"subject": "Interview Result"
},
"credentials": {
"gmailOAuth2": {
"id": "PcTqvGU9uCunfltE",
"name": "Gmail account - test"
}
},
"typeVersion": 2.1
},
{
"id": "1d62aabc-dc5b-40d8-9be5-d18eff86a10e",
"name": "관리자 이메일",
"type": "n8n-nodes-base.gmail",
"position": [
1040,
352
],
"webhookId": "13efb4cd-fe47-4727-a220-2825ea71ee75",
"parameters": {
"sendTo": "manager@company.com",
"message": "=<h2>Interview Completed</h2>\n<p><strong>Candidate:</strong> {{ $json.candidateEmail }}<br>\n<strong>Result:</strong> {{ $json.result }}<br>\n<strong>Feedback:</strong> {{ $json.feedback }}</p>\n<p>Updated in Google Sheet.</p>",
"options": {},
"subject": "Interview Result: {{ $json.candidateEmail }}"
},
"credentials": {
"gmailOAuth2": {
"id": "PcTqvGU9uCunfltE",
"name": "Gmail account - test"
}
},
"typeVersion": 2.1
},
{
"id": "0c077145-df34-4e7d-8bf1-31244f07fca9",
"name": "스티키 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-96,
-336
],
"parameters": {
"color": 3,
"width": 672,
"height": 208,
"content": "## Workflow Overview\n\n- **Check Every 5 Minutes**: Triggers the workflow to run every 5 minutes.\n- **Get Calendar Events**: Retrieves upcoming interview events from Google Calendar.\n- **Filter Upcoming Interviews**: Filters the retrieved events to focus on upcoming interviews.\n- **Add to Google Sheet**: Appends filtered interview details to a Google Sheet.\n- **Send Reminder to Candidate**: Sends an email reminder to the candidate via Gmail.\n"
},
"typeVersion": 1
},
{
"id": "e553920b-784e-4841-b3ec-2fb43307a6a0",
"name": "스티키 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-96,
96
],
"parameters": {
"width": 688,
"height": 224,
"content": "## Workflow Overview\n\n- **Webhook: Submit Interview Result**: Receives interview result data via a webhook.\n- **Update Sheet with Result**: Updates the Google Sheet with the submitted interview result.\n- **Check if Passed**: Evaluates whether the interview result indicates a pass or fail.\n- **Email Candidate - Passed**: Sends a pass notification email to the candidate via Gmail.\n- **Email Manager**: Sends an email update to the manager via Gmail.\n- **Email Candidate - Failed**: Sends a fail notification email to the candidate via Gmail."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "e41094e8-2bbf-499d-a796-e50f5a930408",
"connections": {
"4269bbb9-8d74-4d20-8053-260836d36478": {
"main": [
[
{
"node": "e9572ff4-464a-4956-a14e-2c0b1917a3c3",
"type": "main",
"index": 0
}
],
[
{
"node": "11a09ef5-e424-45db-9923-700ca794fc47",
"type": "main",
"index": 0
}
]
]
},
"cec5691c-d2e4-4da0-a72f-a5eacc87e4d1": {
"main": [
[
{
"node": "e600def1-33a8-433b-978a-5bd334d4e861",
"type": "main",
"index": 0
}
]
]
},
"40220665-8466-4ca5-a665-59b1b7fb4dcd": {
"main": [
[
{
"node": "cec5691c-d2e4-4da0-a72f-a5eacc87e4d1",
"type": "main",
"index": 0
}
]
]
},
"11a09ef5-e424-45db-9923-700ca794fc47": {
"main": [
[
{
"node": "1d62aabc-dc5b-40d8-9be5-d18eff86a10e",
"type": "main",
"index": 0
}
]
]
},
"e9572ff4-464a-4956-a14e-2c0b1917a3c3": {
"main": [
[
{
"node": "1d62aabc-dc5b-40d8-9be5-d18eff86a10e",
"type": "main",
"index": 0
}
]
]
},
"53f7164c-9007-4261-8628-24b1bcdac2c7": {
"main": [
[
{
"node": "4269bbb9-8d74-4d20-8053-260836d36478",
"type": "main",
"index": 0
}
]
]
},
"e600def1-33a8-433b-978a-5bd334d4e861": {
"main": [
[
{
"node": "871ea2fb-6f24-4291-888c-94c1a47a6518",
"type": "main",
"index": 0
},
{
"node": "97b38c41-ea45-4e4b-8318-5da4d3c24135",
"type": "main",
"index": 0
}
]
]
},
"6780349a-d56e-465c-8dc4-4a23a2523dbf": {
"main": [
[
{
"node": "53f7164c-9007-4261-8628-24b1bcdac2c7",
"type": "main",
"index": 0
}
]
]
}
}
}이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 인사
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Oneclick AI Squad
@oneclick-aiThe AI Squad Initiative is a pioneering effort to build, automate and scale AI-powered workflows using n8n.io. Our mission is to help individuals and businesses integrate AI agents seamlessly into their daily operations from automating tasks and enhancing productivity to creating innovative, intelligent solutions. We design modular, reusable AI workflow templates that empower creators, developers and teams to supercharge their automation with minimal effort and maximum impact.
이 워크플로우 공유