Cby Cal.com
Create a booking
Books an attendee into a start time on an event type and returns the booking with its UID.
Description
Name the event type by `eventTypeId`, or by `eventTypeSlug` plus `username` (`teamSlug` for a team event), and pass `start` in UTC and the `attendee`'s `name`, `email` and `timeZone`. Answer the event type's required booking questions in `bookingFieldsResponses`, or the request fails with a 400. The endpoint is public, so it can book on behalf of someone outside your account. Send `cal-api-version: 2026-02-25`. The CLI takes `--event-type-id`, `--start`, `--attendee-name`, `--attendee-email` and `--attendee-timezone`.
create-booking.md
Create a booking
Books an attendee into a start time on an event type and returns the booking with its UID.
Name the event type by eventTypeId, or by eventTypeSlug plus username
(teamSlug for a team event), and pass start in UTC and the attendee's
name, email and timeZone. Answer the event type's required booking
questions in bookingFieldsResponses, or the request fails with a 400. The
endpoint is public, so it can book on behalf of someone outside your
account. Send cal-api-version: 2026-02-25. The CLI takes --event-type-id,
--start, --attendee-name, --attendee-email and --attendee-timezone.
Set up
Use the first option your agent supports.
MCP (official, remote)
Add this server to your agent's MCP settings, then sign in when asked.
{ "mcpServers": { "cal-com": { "url": "https://mcp.cal.com/mcp" } } }
Call the MCP tool create_booking.
Server URL: https://mcp.cal.com/mcp
CLI (official)
Install the command, then confirm it runs.
npm install -g @calcom/cli
calcom --version
Run calcom bookings create.
Set $CAL_API_KEY in your environment first (get a key: https://app.cal.com/settings/developer/api-keys).
API (official)
- Base URL: https://api.cal.com
- Endpoint:
POST /v2/bookings - Auth: send the header
Authorization: Bearer $CAL_API_KEY - Get a key: https://app.cal.com/settings/developer/api-keys
- Docs: https://cal.com/docs/api-reference/v2/introduction
Before doing anything else, make one read-only call to confirm access.
Rules
- Ask the user before anything that sends messages, costs money, or changes data.
- Never print API keys.
Built from these files in the repository
The layout and the rules come from lib/catalog/render-markdown.ts, the set-up wording from lib/catalog/render-access.ts.