The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "Calendars",
"nodes": [
{
"parameters": {
"path": "calendar",
"authentication": "jwtAuth",
"responseMode": "responseNode",
"options": {}
},
"type": "n8n-nodes-base.webhook",
"typeVersion": 2,
"position": [
-340,
-40
],
"id": "45bad7ad-4822-47c9-b56a-d6fc669a060a",
"name": "Webhook",
"credentials": {
"jwtAuth": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "decode",
"token": "={{ $('Webhook').first().json.headers.authorization.split(' ').pop() }}",
"options": {
"complete": true
}
},
"type": "n8n-nodes-base.jwt",
"typeVersion": 1,
"position": [
-120,
-40
],
"id": "e2f70947-de3b-436f-a9ce-2d3cc36e342f",
"name": "JWT",
"credentials": {
"jwtAuth": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"collection": "calendar",
"options": {
"sort": "{\n \"date\": -1\n}"
}
},
"type": "n8n-nodes-base.mongoDb",
"typeVersion": 1.2,
"position": [
100,
-40
],
"id": "14e4032f-c712-4f23-a4cd-810c10062f84",
"name": "MongoDB1",
"credentials": {
"mongoDb": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"respondWith": "allIncomingItems",
"options": {}
},
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1.3,
"position": [
320,
-40
],
"id": "7aa7db4c-3cfd-4c83-8b57-d57a2e9171e0",
"name": "Respond to Webhook"
}
],
"connections": {
"Webhook": {
"main": [
[
{
"node": "JWT",
"type": "main",
"index": 0
}
]
]
},
"JWT": {
"main": [
[
{
"node": "MongoDB1",
"type": "main",
"index": 0
}
]
]
},
"MongoDB1": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
]
]
}
},
"active": true,
"settings": {
"executionOrder": "v1"
},
"versionId": "764c4f5e-882c-44a4-8f2a-f565a75d0834",
"meta": {
"templateCredsSetupCompleted": true
},
"id": "inS0E6F8iSBDaH46",
"tags": [
{
"createdAt": "2025-06-13T07:30:34.041Z",
"updatedAt": "2025-06-13T07:30:34.041Z",
"id": "AgDs3J2qmEqP65Pf",
"name": "user"
}
]
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
googleCalendarOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Calendars. Uses manualTrigger, googleCalendarTrigger, googleCalendar. Event-driven trigger; 3 nodes.
Source: https://github.com/TheBoatyMcBoatFace/reinhardt-backups/blob/c5b7b6e593f62dae7a6353cd8bd3655657848c65/workflows/Calendars.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Add a event to Calender. Uses manualTrigger, googleCalendar. Event-driven trigger; 2 nodes.
Reagendamiento. Uses executeWorkflowTrigger, redis, n8n-nodes-evolution-api, dataTable. Event-driven trigger; 73 nodes.
Agendamiento. Uses n8n-nodes-evolution-api, redis, dataTable, executeWorkflowTrigger. Event-driven trigger; 60 nodes.
Create Zoom Meeting Link From Google Calendar Invite. Uses manualTrigger, zoom, dateTime, googleCalendar. Event-driven trigger; 6 nodes.
Gets Google Calendar events for the day (12 hours from execution time), and filters out in-person meetings, Signal meetings, and meetings canceled by Calendly ("transparent").