Cal.com과 Google Sheets로 면접 일정 잡기 및 데이터 정리 자동화
중급
이것은HR분야의자동화 워크플로우로, 14개의 노드를 포함합니다.주로 If, Set, Code, SplitOut, HttpRequest 등의 노드를 사용하며. Cal.com 및 Google Sheets를 통한 면접 일정 잡기 및 데이터 정리 자동화
사전 요구사항
- •대상 API의 인증 정보가 필요할 수 있음
- •Google Sheets API 인증 정보
카테고리
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "60098b76ad738e2ce8a403a46a5d6afed7799cdb6caa43f6858e6df2ac2bc8f5",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "da1d59c5-9f44-41b2-9239-9656a5524bc8",
"name": "워크플로우 실행 시",
"type": "n8n-nodes-base.manualTrigger",
"position": [
60,
60
],
"parameters": {},
"typeVersion": 1
},
{
"id": "be3c688c-ca01-42b8-8fd6-6b715a187683",
"name": "HTTP 요청1",
"type": "n8n-nodes-base.httpRequest",
"position": [
560,
60
],
"parameters": {
"url": "https://api.cal.com/v1/bookings",
"options": {},
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "apiKey",
"value": "YOUR API KEY HERE"
},
{
"name": "id",
"value": "={{ $json.attendees[0].bookingId }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "ba372028-e10d-46c8-bac9-eb3400e5c2f4",
"name": "필드 편집1",
"type": "n8n-nodes-base.set",
"position": [
960,
60
],
"parameters": {
"include": "selected",
"options": {},
"assignments": {
"assignments": [
{
"id": "7084df2d-5689-48c1-a048-2a3861261073",
"name": "Email",
"type": "string",
"value": "={{ $json.email.toLowerCase() }}"
},
{
"id": "320d00bf-cc25-46b5-b4e9-ee4ecd45db66",
"name": "Interview Schedule",
"type": "string",
"value": "={{ $json.startFormatted }}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "b9c03922-faf8-4c5c-87ba-cd44b8919aaa",
"name": "Google Sheets1",
"type": "n8n-nodes-base.googleSheets",
"position": [
1440,
60
],
"parameters": {
"options": {},
"filtersUI": {
"values": [
{
"lookupColumn": "SUMMARY "
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/18vvSKGbAiodQvNsdNTJ1pBuhEcv2ADAmQKtDNAK7VQY/edit#gid=0",
"cachedResultName": "Accepted"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "18vvSKGbAiodQvNsdNTJ1pBuhEcv2ADAmQKtDNAK7VQY",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/18vvSKGbAiodQvNsdNTJ1pBuhEcv2ADAmQKtDNAK7VQY/edit?usp=drivesdk",
"cachedResultName": "Resumes"
}
},
"credentials": {},
"typeVersion": 4.6
},
{
"id": "06ea5046-9679-47d3-876c-d9963a5bd47c",
"name": "분할",
"type": "n8n-nodes-base.splitOut",
"position": [
1660,
60
],
"parameters": {
"include": "allOtherFields",
"options": {},
"fieldToSplitOut": "Email"
},
"typeVersion": 1
},
{
"id": "8d2456b4-8074-4b95-9f2d-9beca4f47f3a",
"name": "메모1",
"type": "n8n-nodes-base.stickyNote",
"position": [
220,
-260
],
"parameters": {
"content": "## 📅 Cal.com Calendar Setup\nThis section fetches all bookings from your Cal.com event.\n\n- Pulls booking data via Cal.com API\n- Extracts attendee name, email, and interview time\n\n🔐 Be sure to insert your Cal.com API Key."
},
"typeVersion": 1
},
{
"id": "73f5783e-f0e4-40e8-88e2-067bc86880b3",
"name": "메모4",
"type": "n8n-nodes-base.stickyNote",
"position": [
940,
-280
],
"parameters": {
"color": 3,
"width": 420,
"height": 280,
"content": "## 🔁 Link to Resume Screening Template\nThis workflow can be connected to the resume evaluation system.\n\n- Automatically assigns interview schedules\n- Matches bookings to existing applicants in your sheet\n\n📌 Useful for aligning candidate records with scheduled interviews."
},
"typeVersion": 1
},
{
"id": "4c2e0432-6b9c-4142-a17f-cb65cd31697e",
"name": "메모5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1820,
-220
],
"parameters": {
"width": 460,
"height": 220,
"content": "## 🧹 Data Cleanup Logic\nThis section ensures only valid candidates remain in the sheet.\n\n- Compares booking emails with accepted applicants\n- Deletes rows with missing or unmatched data (e.g. no summary)\n\n✅ Keeps your applicant tracking clean and relevant."
},
"typeVersion": 1
},
{
"id": "f61ef94a-6f49-4495-aa2c-9d4e8e3c02fd",
"name": "이메일 순회",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1900,
60
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "e896a142-0045-4b18-bb84-23381fda6343",
"name": "일치하지 않는 이메일 확인",
"type": "n8n-nodes-base.if",
"position": [
2120,
160
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "8aa988a0-0225-49fc-9953-e97746bc7c9b",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json['SUMMARY '] }}",
"rightValue": "="
}
]
}
},
"typeVersion": 2.2
},
{
"id": "231eee7f-33cc-4879-ab32-701543a83ec2",
"name": "삭제",
"type": "n8n-nodes-base.googleSheets",
"position": [
2340,
140
],
"parameters": {
"operation": "delete",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/18vvSKGbAiodQvNsdNTJ1pBuhEcv2ADAmQKtDNAK7VQY/edit#gid=0",
"cachedResultName": "Accepted"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "18vvSKGbAiodQvNsdNTJ1pBuhEcv2ADAmQKtDNAK7VQY",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/18vvSKGbAiodQvNsdNTJ1pBuhEcv2ADAmQKtDNAK7VQY/edit?usp=drivesdk",
"cachedResultName": "Resumes"
},
"startIndex": "={{ $json.row_number }}"
},
"credentials": {},
"typeVersion": 4.6
},
{
"id": "7fa5068c-5b7c-4bb5-bd0c-a41560221141",
"name": "인터뷰 시간 및 날짜 추가",
"type": "n8n-nodes-base.googleSheets",
"position": [
1200,
60
],
"parameters": {
"columns": {
"value": {},
"schema": [
{
"id": "NAME",
"type": "string",
"display": true,
"required": false,
"displayName": "NAME",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Phone Number",
"type": "string",
"display": true,
"required": false,
"displayName": "Phone Number",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "JUSTIFICATION ",
"type": "string",
"display": true,
"required": false,
"displayName": "JUSTIFICATION ",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "SUMMARY ",
"type": "string",
"display": true,
"required": false,
"displayName": "SUMMARY ",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Q1",
"type": "string",
"display": true,
"required": false,
"displayName": "Q1",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Q2",
"type": "string",
"display": true,
"required": false,
"displayName": "Q2",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Q3",
"type": "string",
"display": true,
"required": false,
"displayName": "Q3",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Q4",
"type": "string",
"display": true,
"required": false,
"displayName": "Q4",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Q5",
"type": "string",
"display": true,
"required": false,
"displayName": "Q5",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": [
"Email"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {
"handlingExtraData": "ignoreIt"
},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/18vvSKGbAiodQvNsdNTJ1pBuhEcv2ADAmQKtDNAK7VQY/edit#gid=0",
"cachedResultName": "Accepted"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "18vvSKGbAiodQvNsdNTJ1pBuhEcv2ADAmQKtDNAK7VQY",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/18vvSKGbAiodQvNsdNTJ1pBuhEcv2ADAmQKtDNAK7VQY/edit?usp=drivesdk",
"cachedResultName": "Resumes"
}
},
"credentials": {},
"typeVersion": 4.6
},
{
"id": "a30e3a25-b55e-41bd-bd25-ac6821bdec32",
"name": "시간으로 변환",
"type": "n8n-nodes-base.code",
"position": [
760,
60
],
"parameters": {
"jsCode": "return $json.bookings.map(booking => {\n const date = new Date(booking.startTime);\n const formatted = date.toLocaleString(\"en-GB\", {\n timeZone: \"Asia/Riyadh\",\n day: \"2-digit\",\n month: \"long\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n hour12: true\n });\n\n return {\n json: {\n name: booking.attendees[0].name,\n email: booking.attendees[0].email,\n startFormatted: formatted\n }\n };\n});\n"
},
"typeVersion": 2
},
{
"id": "365dad27-686d-4f38-9bbd-6beeb83573ca",
"name": "예약 정보 가져오기",
"type": "n8n-nodes-base.httpRequest",
"position": [
340,
60
],
"parameters": {
"url": "https://api.cal.com/v1/attendees",
"options": {},
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "apiKey",
"value": "your API KEY HERE"
}
]
}
},
"typeVersion": 4.2
}
],
"pinData": {},
"connections": {
"231eee7f-33cc-4879-ab32-701543a83ec2": {
"main": [
[
{
"node": "f61ef94a-6f49-4495-aa2c-9d4e8e3c02fd",
"type": "main",
"index": 0
}
]
]
},
"06ea5046-9679-47d3-876c-d9963a5bd47c": {
"main": [
[
{
"node": "f61ef94a-6f49-4495-aa2c-9d4e8e3c02fd",
"type": "main",
"index": 0
}
]
]
},
"ba372028-e10d-46c8-bac9-eb3400e5c2f4": {
"main": [
[
{
"node": "7fa5068c-5b7c-4bb5-bd0c-a41560221141",
"type": "main",
"index": 0
}
]
]
},
"be3c688c-ca01-42b8-8fd6-6b715a187683": {
"main": [
[
{
"node": "a30e3a25-b55e-41bd-bd25-ac6821bdec32",
"type": "main",
"index": 0
}
]
]
},
"b9c03922-faf8-4c5c-87ba-cd44b8919aaa": {
"main": [
[
{
"node": "06ea5046-9679-47d3-876c-d9963a5bd47c",
"type": "main",
"index": 0
}
]
]
},
"a30e3a25-b55e-41bd-bd25-ac6821bdec32": {
"main": [
[
{
"node": "ba372028-e10d-46c8-bac9-eb3400e5c2f4",
"type": "main",
"index": 0
}
]
]
},
"f61ef94a-6f49-4495-aa2c-9d4e8e3c02fd": {
"main": [
[],
[
{
"node": "e896a142-0045-4b18-bb84-23381fda6343",
"type": "main",
"index": 0
}
]
]
},
"e896a142-0045-4b18-bb84-23381fda6343": {
"main": [
[
{
"node": "231eee7f-33cc-4879-ab32-701543a83ec2",
"type": "main",
"index": 0
}
],
[
{
"node": "f61ef94a-6f49-4495-aa2c-9d4e8e3c02fd",
"type": "main",
"index": 0
}
]
]
},
"365dad27-686d-4f38-9bbd-6beeb83573ca": {
"main": [
[
{
"node": "be3c688c-ca01-42b8-8fd6-6b715a187683",
"type": "main",
"index": 0
}
]
]
},
"7fa5068c-5b7c-4bb5-bd0c-a41560221141": {
"main": [
[
{
"node": "b9c03922-faf8-4c5c-87ba-cd44b8919aaa",
"type": "main",
"index": 0
}
]
]
},
"da1d59c5-9f44-41b2-9239-9656a5524bc8": {
"main": [
[
{
"node": "365dad27-686d-4f38-9bbd-6beeb83573ca",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 인사
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Browserflow와 Google Sheets를 사용한 LinkedIn 요청 및 첫 메시지 자동화
Browserflow 및 Google Sheets를 사용한 자동화된 LinkedIn 요청 및 아이스브레이킹 메시지
If
Set
Sort
+
If
Set
Sort
44 노드PollupAI
영업
LinkedIn 인재 파이프라인: AI로운 지원자 검색 및 등급 (GPT-4o)
LinkedIn 인재 파이프라인: AI로운 지원자 검색 및 등급 (GPT-4o)
If
Set
Code
+
If
Set
Code
24 노드Badr
인사
Facebook 페이지 댓글 관리 봇: 답글, 삭제, 차단 및 알림
AI 기반 Facebook 댓글 관리: 자동 답글, 삭제, 차단 및 알림
If
Set
Code
+
If
Set
Code
59 노드SpaGreen Creative
소셜 미디어
API 아키텍처 추출기
API 아키텍처 추출기
If
Set
Code
+
If
Set
Code
88 노드Polina Medvedieva
엔지니어링
Printify 자동화 - 제목 및 설명 업데이트 - AlexK1919
GPT-4o-mini를 사용하여 Printify용 SEO 제품 제목 및 설명 자동 생성
If
Set
Code
+
If
Set
Code
26 노드Amit Mehta
콘텐츠 제작
리드 생성 및 이메일 워크플로
Google 지도, SendGrid 및 AI를 사용한 B2B 잠재 고객 개발 및 이메일 마케팅 자동화
If
Set
Code
+
If
Set
Code
141 노드Ezema Kingsley Chibuzo
리드 생성