Connect n8n
With n8n you build workflows where an AI agent reads your calendars and creates events — across all connected providers at once: Google, Outlook, iCloud, GMX, WEB.DE and more. No single Google Calendar or Outlook node can do that.
The address (MCP server URL) you will enter below is:
https://app.kalender-sync.de/mcp1. Create the access and key in Kalender Sync
Section titled “1. Create the access and key in Kalender Sync”In the app, open AI assistant → Connect the assistant and pick n8n. As with every access, you pick the calendars one by one and set the detail level per calendar — calendars you don’t share do not exist for n8n.
Create key gives you your access key (a token starting with ksa_). It is shown only once — copy it straight into the n8n credential (step 2). Treat it like a password: whoever holds the key holds exactly the access you gave this connection.
2. Build the workflow
Section titled “2. Build the workflow”The fast way: n8n’s AI builder
Section titled “The fast way: n8n’s AI builder”n8n can generate the workflow from a description. This template works:
Build a workflow with a Chat Trigger connected to an AI Agent.
The AI Agent should use an MCP Client Tool node with these settings:- Endpoint URL: https://app.kalender-sync.de/mcp- Server Transport: HTTP Streamable- Authentication: Header Auth (I will fill in the credential myself)- Include all available tools
Set the AI Agent's system message to:"You are a calendar assistant with access to the user's calendars viaKalender Sync MCP tools. Use list_calendars first to see which calendarsare available and their visibility levels. When asked about availability,use get_availability. Always mention any warnings the tools return, andsay what your answer does NOT cover."
Use gpt-4.1-mini as the chat model.The builder cannot create credentials — you enter the token by hand afterwards (next section, item 3).
The manual way: four nodes
Section titled “The manual way: four nodes”- Add a Chat Trigger (or any other trigger — see the workflow ideas below).
- Add an AI Agent node behind it. As the chat model we recommend gpt-4.1-mini or a comparable non-reasoning model (see Troubleshooting for why).
- Attach an MCP Client Tool node under the agent’s Tool slot:
- Endpoint URL:
https://app.kalender-sync.de/mcp - Server Transport:
HTTP Streamable - Authentication:
Header Auth→ create a new credential:- Name:
Authorization - Value:
Bearer ksa_…(your token from step 1 — the wordBearer, one space, then the token)
- Name:
- Tools to include:
All
- Endpoint URL:
- Give the agent a system message — the one from the builder prompt above works verbatim.
Once everything is wired up, the MCP client node lists the available tools — list_calendars, get_availability, search_events and (with write access enabled) create_event, update_event, delete_event. Technical details for each tool: tool reference.
3. Test it
Section titled “3. Test it”Open the chat and ask:
- “Which calendars do you see, and with which visibility?” — the agent should name exactly the calendars you shared in step 1, including their detail levels.
- “Am I free next Tuesday between 9 and 12?” — availability across all shared calendars.
- “Create ‘test event via n8n’ tomorrow at 10 in [calendar name]” (Basic and up, calendar with write access) — then: “Delete it again.”
Every call shows up in the access log on the AI assistant page — you can watch live which tool was called when.
Workflow ideas
Section titled “Workflow ideas”Availability bot for Slack or Telegram. Slack/Telegram trigger → AI agent with Kalender Sync tools → reply in the channel. Colleagues (or you, from your phone) ask for free slots in plain language — the agent checks Google, Outlook and GMX in one call.
Event from a form. n8n form or webhook trigger (say, a booking request from your website) → the agent extracts date, time and topic → create_event in your work calendar. The agent only manages events it created itself — it can never touch your existing events.
Morning briefing. Schedule trigger (weekdays at 7) → the agent summarises your day with search_events and get_availability → email or Slack: “4 events today, biggest gap 1–3 pm.”
Conflict watchdog. Hourly schedule trigger → the agent checks get_availability for double bookings between work and personal calendars → messages you only when something overlaps.
Troubleshooting
Section titled “Troubleshooting”- 401 / “Unauthorized”: token mistyped, expired or revoked. Check the credential: header name exactly
Authorization, value exactlyBearer ksa_…(with the space). If in doubt, create a fresh token in the app. - Only SSE offered as transport: your n8n is older than 1.112. We only support HTTP Streamable — please update.
- A calendar is missing from the list: it isn’t shared with this access — add it in the app under AI assistant → Edit sharing. Changes apply immediately, no new token needed.
create_eventfails: write access is available on every plan and has to be enabled per calendar.
Security & control
Section titled “Security & control”The same rules as for every assistant access apply to n8n: you decide per calendar what is visible, every query is logged (never the content of your events), and revoking in Kalender Sync kills the token instantly — regardless of what is stored in n8n. Keep the token exclusively in n8n credentials, never in node parameters or expressions, so it cannot leak into execution logs.