Let your AI assistant schedule appointments
Calio has a built-in MCP server and a REST API. Connect Claude or another AI assistant and simply say: “book an intro call with Jansen next week” — the assistant checks your availability and books the slot.
MCP: the AI connection in 3 steps
Add the connector
Give your MCP client (such as Claude) the endpoint https://calio.nl/api/mcp. No key to fill in.
Grant permission
Your client sends you to Calio; you sign in and see exactly what you are allowing. One click and the connection is live. You can revoke it under Integrations at any time.
Schedule in plain language
"What do I have free on Thursday?" or "Book 30 minutes with piet@bedrijf.nl" — the assistant uses the tools below.
Available MCP tools
list_event_types | Every bookable event type, with duration, host and booking link (pass language to get your guest’s language) |
get_available_slots | Open time slots for an event type within a period |
create_booking | Book an appointment on an open slot (the guest is emailed automatically) |
list_bookings | Bookings within a period, optionally filtered by status |
cancel_booking | Cancel a confirmed booking (the calendar is updated) |
Rather build it yourself? The REST API
The same capabilities as the MCP tools, as a plain JSON API. Here API keys are the right route: a script has no browser in which to grant consent. Authenticate with Authorization: Bearer calio_sk_...
| GET | /api/v1/event-types?locale= | Your organisation’s event types |
| GET | /api/v1/event-types/{slug}/slots?from=&to= | Open time slots (UTC) |
| GET | /api/v1/bookings?from=&to=&status= | Retrieve bookings |
| POST | /api/v1/bookings | Create a booking |
| POST | /api/v1/bookings/{id}/cancel | Cancel a booking |
curl -X POST https://calio.nl/api/v1/bookings \
-H "Authorization: Bearer calio_sk_..." \
-H "Content-Type: application/json" \
-d '{
"eventType": "intro-call",
"startUtc": "2026-08-03T09:00:00Z",
"name": "Piet Jansen",
"email": "piet@bedrijf.nl"
}'Frequently asked questions
How do I connect Claude to Calio?
In Claude (or any other MCP client) add a connector with the URL https://calio.nl/api/mcp. The client sends you to Calio, you sign in, you see on one screen what the assistant is allowed to do, and you click approve — no key to copy. From then on the assistant can see your availability and book or cancel appointments. You revoke it under Integrations; the connection stops immediately.
What can the AI assistant do exactly — and what not?
The assistant can look up event types and open slots, book, view bookings and cancel them. It cannot reach the contents of your calendar or your account settings: the API only exposes booking data, inside your own organisation.
How does the OAuth connection work?
Calio follows the MCP authorisation spec: OAuth 2.1 with mandatory PKCE (S256) and dynamic client registration (RFC 7591), so a connector can register itself without anyone in the middle. The metadata lives at /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server. An access token is valid for an hour and is renewed with a refresh token that rotates on every use. The consent belongs to the person who gave it, within their organisation: if that person leaves, the connection goes with them. We do not issue client secrets — an MCP client runs on the user’s own machine and cannot keep anything secret there; PKCE does that job.
Does the API work in multiple languages?
Yes. Request your event types with ?locale=nl, en or de (in MCP: the language parameter) and you get the title, description and custom questions back in that language — where the host filled in a translation, otherwise their own text. When booking, the same field decides which language your guest’s confirmation and reminder emails are in. For a multiple-choice question, always send back the value from options rather than the translated label: that keeps answers from guests in different languages comparable.
Is this secure?
Every key and every connection is tied to your organisation and can be revoked at any moment; of keys and tokens we only store a hash. All data stays on European infrastructure. Revoke a key or a connection and access stops immediately — including the refresh tokens underneath it. Who connected and disconnected what is recorded in the audit log.
What does the API cost?
During the beta the API and MCP server are available to all accounts at no extra cost. Fair use applies; per-plan limits will follow with the paid plans.