Automatisierung von Terminvereinbarungen und Datenbereinigung mit Cal.com und Google Sheets
Fortgeschritten
Dies ist ein HR-Bereich Automatisierungsworkflow mit 14 Nodes. Hauptsächlich werden If, Set, Code, SplitOut, HttpRequest und andere Nodes verwendet. Automatisierung von Terminplanung und Datenbereinigung mit Cal.com und Google Sheets
Voraussetzungen
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
- •Google Sheets API-Anmeldedaten
Verwendete Nodes (14)
Kategorie
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
"meta": {
"instanceId": "60098b76ad738e2ce8a403a46a5d6afed7799cdb6caa43f6858e6df2ac2bc8f5",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "da1d59c5-9f44-41b2-9239-9656a5524bc8",
"name": "Bei Klick auf 'Workflow ausführen'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
60,
60
],
"parameters": {},
"typeVersion": 1
},
{
"id": "be3c688c-ca01-42b8-8fd6-6b715a187683",
"name": "HTTP Request1",
"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": "Felder bearbeiten1",
"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": "Aufteilen",
"type": "n8n-nodes-base.splitOut",
"position": [
1660,
60
],
"parameters": {
"include": "allOtherFields",
"options": {},
"fieldToSplitOut": "Email"
},
"typeVersion": 1
},
{
"id": "8d2456b4-8074-4b95-9f2d-9beca4f47f3a",
"name": "Notiz1",
"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": "Notiz4",
"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": "Notiz5",
"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": "E-Mails durchlaufen",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1900,
60
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "e896a142-0045-4b18-bb84-23381fda6343",
"name": "Auf nicht übereinstimmende E-Mails prüfen",
"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": "Löschen",
"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": "Zeit & Datum für Interview hinzufügen",
"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": "In Zeit umwandeln",
"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": "Buchungsinformationen abrufen",
"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
}
]
]
}
}
}Häufig gestellte Fragen
Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Fortgeschritten - Personalwesen
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Automatisierung von LinkedIn-Anfragen und Einstiegsnachrichten mit Browserflow und Google Sheets
Automatisierte LinkedIn-Anfragen und Eisbrecher-Nachrichten mit Browserflow und Google Sheets
If
Set
Sort
+
If
Set
Sort
44 NodesPollupAI
Vertrieb
LinkedIn Talent-Pipeline: KI-gesteuerte Kandidatensuche und -Bewertung (GPT-4o)
LinkedIn-Talent-Pipeline: KI-gesteuerte Kandidatensuche und -bewertung (GPT-4o)
If
Set
Code
+
If
Set
Code
24 NodesBadr
Personalwesen
AI-Powered Facebook Comment Management_ Auto-Reply, Delete, Ban & Notify
If
Set
Code
+
If
Set
Code
59 NodesSpaGreen Creative
Soziale Medien
API-Architektur-Explorer
API-Architektur-Extraktor
If
Set
Code
+
If
Set
Code
88 NodesPolina Medvedieva
Engineering
Printify-Automatisierung - Titel- und Beschreibungsaktualisierung - AlexK1919
Automatisierte Erstellung von SEO-Produkttiteln und -beschreibungen für Printify mit GPT-4o-mini
If
Set
Code
+
If
Set
Code
26 NodesAmit Mehta
Content-Erstellung
Lead-Generierung und E-Mail-Arbeitsabläufe
Automatisierung der B2B-Lead-Generierung und E-Mail-Marketing mit Google Maps, SendGrid und KI
If
Set
Code
+
If
Set
Code
141 NodesEzema Kingsley Chibuzo
Lead-Generierung
Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes14
Kategorie1
Node-Typen9
Autor
Abdulaziz
@abdulaziz747Externe Links
Auf n8n.io ansehen →
Diesen Workflow teilen