Calendly API

By Abhishek Kumar
4 min read
Discover Calendly, the online appointment scheduling software that simplifies meeting bookings. Use Calendly's API to integrate seamless scheduling into your app and boost productivity

Table of Contents

Find the perfect meeting time with super easy online appointment scheduling software from Calendly, and say goodbye to phone and email tags. It's 100% free, super easy to use, and you'll love our customer service.

API Overview

Calendly is a scheduling software that simplifies the process of scheduling appointments, meetings, and events. It allows users to create personalized scheduling pages that can be shared with others, enabling them to book time with the user directly. Calendly integrates with various calendars, such as Google Calendar, Outlook, and iCloud, ensuring that appointments are automatically added to the user's existing schedule. It offers advanced features like automated reminders, custom notifications, and payment integrations, streamlining the scheduling workflow and enhancing productivity. Calendly's user-friendly interface and intuitive design make it accessible to individuals and teams of all sizes, helping them save time and effort while managing their appointments effectively.

Calendly API provides a comprehensive set of REST APIs that enable developers to integrate Calendly's scheduling functionality into their own applications. The API documentation is extensive and well-organized, providing clear instructions and code samples for various use cases. Developers can use the APIs to create and manage events, fetch availability, send invitations, and receive real-time updates on scheduling changes. Calendly API also supports webhooks, allowing developers to set up event-driven notifications that trigger actions in their own systems when specific events occur. Rate limits are implemented to ensure fair usage of the API and prevent excessive requests. By leveraging Calendly API, developers can extend the capabilities of their applications and offer seamless scheduling experiences to their users.

API Request Limits

Free

100 requests per minute

Pro

500 requests per minute

Teams

1000 requests per minute

Enterprise

2000 requests per minute

APIs

Calendars

Method: GET

Description: Retrieve a list of calendars that belong to the authorized user..

Endpoint: calendars

Parameters: id, calendar_url, name, category, sync_token, team_fields

Calendars

Method: POST

Description: Create a calendar..

Endpoint: calendars

Parameters: name, workspace_id, description, team_fields

Calendars

Method: PUT

Description: Update a calendar..

Endpoint: calendars/{calendar_id}

Parameters: calendar_id, name, description, team_fields

Calendars

Method: DELETE

Description: Delete a calendar..

Endpoint: calendars/{calendar_id}

Parameters: calendar_id

Calendar Event Types

Method: GET

Description: Retrieve a list of event types for a calendar using its ID..

Endpoint: calendar_event_types

Parameters: calendar_id, sync_token

Calendar Event Types

Method: POST

Description: Create an event type..

Endpoint: calendar_event_types

Parameters: calendar_id, team_id, name, color, location, duration, visibility, description, response_required, yes_no_maybe_question, min_attendees, max_attendees, invitees_approve_rejects, waitlist_enabled, workspace_id, team_fields

Calendar Event Types

Method: PUT

Description: Update an event type..

Endpoint: calendar_event_types/{event_type_id}

Parameters: event_type_id, name, color, location, duration, visibility, description, response_required, yes_no_maybe_question, min_attendees, max_attendees, invitees_approve_rejects, waitlist_enabled, team_fields

Calendar Event Types

Method: DELETE

Description: Delete an event type..

Endpoint: calendar_event_types/{event_type_id}

Parameters: event_type_id

Events

Method: GET

Description: Retrieve a list of events associated with an event type using its ID..

Endpoint: events

Parameters: event_type_id, time_start, time_end, sync_token

Events

Method: POST

Description: Create an event..

Endpoint: events

Parameters: event_type_id, time_start, time_end, location, invitees, team, notes, questions, send_reminder, reminder_minutes, buffer_minutes, workspace_id, team_fields

Events

Method: PUT

Description: Update an event..

Endpoint: events/{event_id}

Parameters: event_id, time_start, time_end, location, invitees, notes, questions, send_reminder, reminder_minutes, buffer_minutes, team_fields

Events

Method: DELETE

Description: Cancel or delete an event..

Endpoint: events/{event_id}

Parameters: event_id

Event Invitations

Method: GET

Description: Retrieve a list of invitations sent for an event using its ID..

Endpoint: event_invitations

Parameters: event_id, recipient_email, status, time_sent, team_fields

Event Invitations

Method: PUT

Description: Update the sent status and/or question answers for an event invitation..

Endpoint: event_invitations

Parameters: invitation_id, status, yes_no_maybe_answer, question_answers, team_fields

Event Invitations

Method: DELETE

Description: Delete an event invitation..

Endpoint: event_invitations/{invitation_id}

Parameters: invitation_id

Questions

Method: GET

Description: Retrieve a list of questions associated with an event type using its ID..

Endpoint: questions

Parameters: event_type_id, sync_token

Questions

Method: POST

Description: Create a question associated with an event type..

Endpoint: questions

Parameters: event_type_id, question, response_type, required, options, workspace_id, team_fields

Questions

Method: PUT

Description: Update a question associated with an event type..

Endpoint: questions/{question_id}

Parameters: question_id, question, response_type, required, options, team_fields

Questions

Method: DELETE

Description: Delete a question associated with an event type..

Endpoint: questions/{question_id}

Parameters: question_id

Teams

Method: GET

Description: Retrieve a list of teams that the authorized user has access to..

Endpoint: teams

Parameters: expand, sync_token

Teams

Method: POST

Description: Create a team..

Endpoint: teams

Parameters: name, workspace_id

Teams

Method: DELETE

Description: Delete a team..

Endpoint: teams/{team_id}

Parameters: team_id

Teams

Method: GET

Description: Retrieve a team's details using its ID..

Endpoint: teams/{team_id}

Parameters: team_id

Webhooks

Method: POST

Description: Create a webhook..

Endpoint: webhooks

Parameters: url, event_types, workspace_id, team_id, team_fields

FAQ

Can I create an event without specifying a time?

Yes, you can create an event without a specific time by leaving the <code>start_time</code> and <code>end_time</code> fields empty.

Can I use Calendly to schedule recurring events?

Yes, you can create recurring events by setting the <code>recurrence</code> field in the event creation request.

How do I handle OAuth2 authentication with the API?

To authenticate with the API, you need to create a Calendly developer account and obtain an OAuth2 access token.

What are the rate limits for the Calendly API?

The rate limits for the Calendly API are documented in the developer documentation. You can find more information on rate limits here.

Can I use the sandbox account to test the API?

Yes, the sandbox account allows you to test the API without affecting your production data.

Last Update: September 07, 2024