Automatisierter Bewerberinterview-Tracker mit Google Calendar und Gmail-Benachrichtigungen
Dies ist ein HR-Bereich Automatisierungsworkflow mit 13 Nodes. Hauptsächlich werden If, Gmail, Filter, Webhook, GoogleSheets und andere Nodes verwendet. Automatisches Tracking von Vorstellungsgesprächen mit Google Calendar, Sheets und Gmail-Benachrichtigungen
- •Google-Konto + Gmail API-Anmeldedaten
- •HTTP Webhook-Endpunkt (wird von n8n automatisch generiert)
- •Google Sheets API-Anmeldedaten
Verwendete Nodes (13)
Kategorie
{
"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": "Alle 5 Minuten prüfen",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
144,
-64
],
"parameters": {
"rule": {
"interval": [
{
"field": "minutes"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "cec5691c-d2e4-4da0-a72f-a5eacc87e4d1",
"name": "Kalenderereignisse abrufen",
"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": "Bevorstehende Interviews filtern",
"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": "Zu Google Sheet hinzufügen",
"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": "Erinnerung an Kandidat senden",
"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": "Sheet mit Ergebnis aktualisieren",
"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: Interview-Ergebnis übermitteln",
"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": "Prüfen ob bestanden",
"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": "E-Mail an Kandidat - Bestanden",
"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": "E-Mail an Kandidat - Nicht bestanden",
"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": "E-Mail an Manager",
"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": "Notiz",
"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": "Notiz1",
"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
}
]
]
}
}
}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
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.
Diesen Workflow teilen