> Calendly developer docs. For page Markdown, append .md to any URL.
> Index: https://developer.calendly.com/llms.txt
> API catalog: https://developer.calendly.com/.well-known/api-catalog
> OpenAPI: https://developer.calendly.com/openapi/calendly-api.yaml
> OAuth authorization server: https://calendly.com/.well-known/oauth-authorization-server
> MCP protected resource: https://mcp.calendly.com/.well-known/oauth-protected-resource
> Scheduling MCP endpoint: https://mcp.calendly.com
> Docs search MCP: https://developer.calendly.com/_mcp/server

# Changelog

## August 25, 2026

## Contact custom fields API and webhooks

Read your organization's Contact custom field definitions and read and write custom field values directly on Contact records. Custom fields capture user-defined and organization-defined data (e.g. lead source, estimated contract value, customer segment, renewal date, fields mapped from event-type invitee questions). Values are returned as self-describing entries so a consumer can render a Contact without a second lookup, and they flow through the same Contact reads, writes, and lifecycle webhooks you already use.

### New endpoints:

* **GET /contacts/custom_field_definitions**  – List custom field definitions, including `uri`, `label`, `field_type` (`text`, `number`, `currency`, `tags`, `date`, `single_select`, or `invitee_question`), `created_at`, `updated_at`, and type-specific metadata such as `options` and `currency`.
* **GET /contacts/custom_field_definitions/\{uuid}** – Retrieve a single custom field definition.

### Updated Contact endpoints:

* **GET /contacts** and **GET /contacts/\{contact_uuid}** – Now return a `custom_fields` array by default. Each entry carries the field's `uri`, `label`, and `value`. Every defined field is included, with unset scalars as `null` and unset arrays as `[]`. Pass `exclude` to trim `custom_fields` from the payload.
* **POST /contacts**  – Now accepts custom_fields. Each entry sends only `uuid` and `value`; `label` and schema fields are ignored on write.
* **PATCH /contacts/\{contact_uuid}** – Now accepts partial `custom_fields` updates using merge semantics. Include an entry only for fields you are changing, send `value: null` to clear a scalar, and `value: []` to clear a tags field.

### Updated webhook events:

* contact.created – Payload now includes the `custom_fields` array, with an entry for every defined field.
* contact.updated – Payload now includes the `custom_fields` array, so subscribers can distinguish a cleared value from an absent one. Treat the payload as a full representation.
* contact.deleted – Unchanged. Delete events carry no custom fields.

Notes:

* Custom fields use the existing `contacts:read` and `contacts:write` scopes. No new scopes are introduced.
* Values are validated against their definitions. Writes referencing an unknown or retired field `uuid` are rejected.
* Currency values are integer minor units (`8500000` is \$85,000.00), with the currency code held on the definition. Tags fields are free-form string arrays with no controlled vocabulary.

## July 22, 2026

## Notetaker API and webhooks

Programmatically access Calendly meeting recaps and subscribe to recap lifecycle events. These endpoints and webhooks make post-meeting content, including summaries, action items, discussion notes, and transcripts, available to external systems like CRMs, task managers, collaboration platforms, workflow engines, and AI assistants. Recaps cover both Calendly-scheduled meetings and external meetings.

### Included endpoints:

* **GET /meeting_recaps/\{recap_uuid}** – Retrieve a single recap with highlights and metadata
* **GET /meeting_recaps** – List recaps with optional filters (event, user, organization, attendee, min_start_time, max_start_time, and more)
* **PATCH /meeting_recaps/\{recap_uuid}** – Update a recap's highlights (summary, action items, discussion)
* **DELETE /meeting_recaps/\{recap_uuid}** – Delete a recap
* **GET /meeting_recaps/\{recap_uuid}/transcript** – Retrieve the full transcript for a recap

### New webhook events:

* **meeting_recap.created** – Fires when a recap is created, for both Calendly-scheduled and external meetings.
* **meeting_recap.updated** – Fires when recap highlights change (summary, action items, discussion). Changes to meeting notes, attendees, or timing do not trigger this event. Share link creation and removal are also surfaced here.
* **meeting_recap.deleted** – Tombstone event that fires when a recap is permanently deleted. Payload includes only the recap URI and deleted_at timestamp.

### New OAuth scopes:

* **meeting_recaps:read** – Grants read access to meeting recap resources, including transcripts. Required to create Notetaker webhook subscriptions.
* **meeting_recaps:write** – Grants permission to update and delete meeting recap resources. Implicitly includes meeting_recaps:read.

## July 9, 2026

## Event Type Available Times: max date range extended to 31 days

The GET /event_type_available_times endpoint now supports up to 31 days per request, up from 7, so you can fetch a full month of availability in a single call.

### What changed

* The start_time and end_time parameters previously capped the span at 7 days, forcing multiple sequential requests for longer windows. The cap is now 31 days.

### Migration notes

* No breaking changes. Existing 7-day integrations keep working as-is. No plan upgrade required.

## May 27, 2026

## Contacts API and webhooks

Programmatically manage Calendly Contacts and subscribe to Contact lifecycle events. These endpoints and webhooks support building bidirectional sync with external systems like CRMs, marketing tools, workflow engines, and AI assistants, and cover Contacts created through scheduling activity, manual entry, and the API itself.

### Included endpoints:

* GET /contacts/\{contact_uuid} – Retrieve a single Contact
* GET /contacts – List Contacts with optional filters (email, company, job_title, city, timezone, and more)
* POST /contacts – Create a new Contact
* PATCH /contacts/\{contact_uuid} – Update an existing Contact
* DELETE /contacts/\{contact_uuid} – Delete a Contact

### New webhook events:

* contact.created – Fires when a new Contact is created, whether through scheduling, manual entry, or the Contacts API.
* contact.updated – Fires when fields on an existing Contact change. Changes to related resources, such as scheduled events, do not trigger this event.
* contact.deleted – Tombstone event that fires when a Contact is removed. Payload includes only the Contact URI and deleted_at timestamp.

### New OAuth scopes:

* contacts:read – Grants read access to Contact resources. Required to create Contacts webhook subscriptions.
* contacts:write – Grants permission to create, update, and delete Contact resources. Implicitly includes contacts:read.

## April 15, 2026

## Create Event Invitee (Scheduling API)

We are updating the endpoint-specific rate limits for Create Event Invitee.

### Updated Endpoint-Specific Rate Limits

Previously, this endpoint had the same rate limits across billing tiers. With this change, rate limits for this endpoint will vary by billing tier.

| Billing Tier         | Rate Limit                       |
| -------------------- | -------------------------------- |
| Trial                | 5 requests per user per day      |
| Paid, Non-Enterprise | 10 requests per user per minute  |
| Paid, Non-Enterprise | 50 requests per user per hour    |
| Paid, Non-Enterprise | 100 requests per user per day    |
| Enterprise           | 500 requests per user per minute |

## March 11, 2026

## Calendly MCP Server

Connect Calendly to AI tools and MCP-compatible clients to enable natural language access to Calendly scheduling data and actions.

Use Calendly MCP to:

* Integrate Calendly with supported AI tools and MCP-compatible clients
* Power natural language interactions with Calendly
* Build custom AI-powered workflows with Calendly

Read the [Calendly MCP documentation](/docs/mcp/calendly-mcp-server) to get started.

## March 3, 2026

## Authorization scopes for API access

Authorization scopes are now available for API access, giving you finer-grained control over what your OAuth apps and integrations can do.

## October 15, 2025

## Scheduling API

The new Scheduling API enables you to programmatically create scheduled events, giving your integrations the ability to book meetings on behalf of users directly through the API.

## June 4, 2025

## APIs for creating and updating event types

New API endpoints allow you to programmatically create and update event types, enabling deeper automation of your Calendly configuration.

## April 25, 2025

## Locale added to Event Type(s) information

Event Type responses now include locale information, making it easier to build localized scheduling experiences.

## March 26, 2025

## ACTION REQUIRED: Migrate to Calendly API v2

Calendly API v1 is being retired. All integrations must migrate to API v2. See our [migration guide](/docs/getting-started/how-to-migrate-from-api-v1-to-api-v2) for details.

## March 8, 2025

## Get Organization API

A new endpoint is now available to retrieve organization details, including organization metadata and configuration.

## February 28, 2025

## Enhancement to List Organization Memberships

The List Organization Memberships endpoint now supports additional filtering and sorting options for improved management of organization members.

## October 17, 2024

## Language preference included in User information

The User resource now includes a language preference field, allowing integrations to respect user locale settings.

## Kind included in Organization information

Organization responses now include a `kind` field to distinguish between different organization types.

## September 21, 2024

## Duration options in the Create Share API

The Create Share API now supports duration options, allowing you to customize meeting duration when generating shareable scheduling links.

## June 11, 2024

## New Page Resize Event Option for Embed

A new page resize event option is now available for the Calendly embed, enabling better responsive behavior when embedded in your application.

## May 3, 2024

## Introducing Groups API and Groups Scope

New Groups API endpoints allow you to manage and query user groups within an organization. A new `groups` scope has been added for OAuth applications.

## April 17, 2024

## Enhancement to List User's Event Type to support Event Type permissions

The List Event Types endpoint now supports Event Type permissions, giving you visibility into permission settings for each event type.

## April 3, 2024

## Enhanced Sign-Up Options Now Available on Our Developer Portal

New sign-up options make it easier to get started with the Calendly API and create OAuth applications through the developer portal.

## March 6, 2024

## API Enhancements for Improved Product Experience

Various API improvements enhance the overall developer experience, including better response formats and additional data fields across endpoints.

_Showing the 20 most recent of 50 entries. Append `/llms.txt` to the changelog URL for the complete index._