---
ref: tool:calendly/book-meeting
name: Book a meeting
company: company:calendly
workflows: []
access: [mcp, api]
tags: [capability:book-meetings, category:scheduling, has:api, has:mcp]
docs: https://developer.calendly.com/api-docs/calendly-api/scheduled-events/create-event-invitee
updated: 2026-09-27
---

# Book a meeting

Books an invitee into an open time on an event type and returns the invitee with links to cancel or reschedule.

Pass the `event_type` URI, a `start_time` in UTC taken from the event type's
available times, and the `invitee`'s `email`, `timezone` and `name` (or
`first_name`). Include `location` with its `kind` only when the event type
sets a location, answer its required questions in `questions_and_answers`
with the exact question text, and add `tracking` UTM parameters to attribute
the meeting. Calendly sends the calendar invite and notifications as if the
invitee had booked on the page. Needs a paid plan (Standard or above): the
Free plan gets a 403.

## 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.

```json
{ "mcpServers": { "calendly": { "url": "https://mcp.calendly.com" } } }
```

Call the MCP tool `meetings-create_invitee`.

Server URL: https://mcp.calendly.com

### API (official)

- Base URL: https://api.calendly.com
- Endpoint: `POST /invitees`
- Auth: send the header `Authorization: Bearer $CALENDLY_API_KEY`
- Get a key: https://calendly.com/integrations/api_webhooks
- Docs: https://developer.calendly.com/api-docs/overview/api/reference

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.
