Calendly

Learn how to use Calendly with Composio

Overview

SLUG: CALENDLY

Description

Calendly is an appointment scheduling tool that automates meeting invitations, availability checks, and reminders, helping individuals and teams avoid email back-and-forth

Authentication Details

client_id
stringRequired
client_secret
stringRequired
full
stringDefaults to https://api.calendly.comRequired
oauth_redirect_uri
stringDefaults to https://backend.composio.dev/api/v1/auth-apps/add
scopes
string

Connecting to Calendly

Create an auth config

Use the dashboard to create an auth config for the Calendly toolkit. This allows you to connect multiple Calendly accounts to Composio for agents to use.

1

Select App

Navigate to Calendly.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Calendly Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using OAuth2

1from composio import Composio
2
3# Replace these with your actual values
4calendly_auth_config_id = "ac_YOUR_CALENDLY_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/application
6
7composio = Composio()
8
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 connection_request = composio.connected_accounts.initiate(
12 user_id=user_id,
13 auth_config_id=auth_config_id,
14 )
15
16 print(
17 f"Visit this URL to authenticate Calendly: {connection_request.redirect_url}"
18 )
19
20 # This will wait for the auth flow to be completed
21 connection_request.wait_for_connection(timeout=15)
22 return connection_request.id
23
24
25connection_id = authenticate_toolkit(user_id, calendly_auth_config_id)
26
27# You can also verify the connection status using:
28connected_account = composio.connected_accounts.get(connection_id)
29print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Calendly toolkit’s playground

For code examples, see the Tool calling guide and Provider examples.

Tool List

Tool Name: Cancel event

Description

Permanently cancels an existing, active scheduled event by its `uuid`, optionally providing a `reason`, which may trigger notifications to invitees.

Action Parameters

reason
string
uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Cancel scheduled event

Description

Tool to cancel a scheduled Calendly event by creating a cancellation record. Use when you need to permanently cancel an existing, active event. The cancellation will trigger notifications to all invitees.

Action Parameters

event_uuid
stringRequired
reason
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create event invitee

Description

Tool to programmatically schedule Calendly meetings without UI redirects. Use when you need to book a meeting on behalf of an invitee via API. Requires a paid Calendly plan.

Action Parameters

event_guests
array
event_type
stringRequired
invitee
objectRequired
location
objectRequired
questions_and_answers
array
start_time
stringRequired
tracking
object

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Event Type

Description

Tool to create a new one-on-one event type (kind: solo) in Calendly. Use when you need to programmatically create a new event type for scheduling meetings.

Action Parameters

active
boolean
color
string
description
string
duration
integer
duration_options
array
locale
string
locations
array
name
stringRequired
owner
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create an invitee no-show

Description

Marks an Invitee, identified by their existing and valid URI, as a 'No Show' for a scheduled event.

Action Parameters

invitee
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create One-Off Event Type

Description

Creates a temporary Calendly one-off event type for unique meetings outside regular availability, requiring valid host/co-host URIs, a future date/range for `date_setting`, and a positive `duration`.

Action Parameters

date_setting
objectRequired
duration
integerRequired
host
stringRequired
location
object
name
stringRequired
timezone
stringDefaults to UTC

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create organization invitation

Description

Tool to invite a user to a Calendly organization via email. Use when you need to send an organization invitation to a new user.

Action Parameters

email
stringRequired
uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create share

Description

Creates a customizable, one-time share link for a Calendly event type, allowing specific overrides to its settings (e.g., duration, availability, location) without altering the original event type.

Action Parameters

availability__rule__rules
array
availability__rule__timezone
string
duration
integer
duration_options
array
end_date
string
event_type
stringRequired
hide_location
boolean
location_configurations
array
max_booking_time
integer
name
string
period_type
string
start_date
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create webhook subscription

Description

Tool to create a webhook subscription for receiving Calendly event notifications. Use when you need to set up automated notifications for events like meeting bookings or cancellations. Organization scope triggers webhooks for all events organization-wide, while user/group scopes limit triggering to specific users or groups.

Action Parameters

events
arrayRequired
group
string
organization
stringRequired
scope
stringRequired
signing_key
string
url
stringRequired
user
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create webhook subscription

Description

Creates a Calendly webhook subscription to notify a specified `url` (which must be a publicly accessible HTTPS endpoint) for selected `events` within a given `organization` and `scope`.

Action Parameters

events
arrayRequired
group
string
organization
stringRequired
scope
stringRequired
signing_key
string
url
stringRequired
user
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete invitee data

Description

Permanently removes all invitee data associated with the provided emails from past organization events, for data privacy compliance (requires Enterprise subscription; deletion may take up to one week).

Action Parameters

emails
arrayRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete invitee no show

Description

Deletes an Invitee No-Show record by its `uuid` to reverse an invitee's 'no-show' status; the `uuid` must refer to an existing record.

Action Parameters

uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete organization membership

Description

Tool to remove a user from a Calendly organization by membership UUID. Use when you need to revoke a user's access to an organization. Requires admin rights; organization owners cannot be removed.

Action Parameters

uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete scheduled event data

Description

For Enterprise users, initiates deletion of an organization's scheduled event data between a `start_time` and `end_time` (inclusive, where `start_time` must be <= `end_time`); actual data deletion may take up to 7 days to complete.

Action Parameters

end_time
stringRequired
start_time
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete webhook subscription

Description

Deletes an existing webhook subscription to stop Calendly sending event notifications to its registered callback URL; this operation is idempotent.

Action Parameters

webhook_uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get current user

Description

Retrieves detailed information about the currently authenticated Calendly user.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get event

Description

Use to retrieve a specific Calendly scheduled event by its UUID, provided the event exists in the user's Calendly account.

Action Parameters

uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get event invitee

Description

Retrieves detailed information about a specific invitee of a scheduled event, using their unique UUIDs.

Action Parameters

event_uuid
stringRequired
invitee_uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get event type

Description

Retrieves details for a specific Calendly event type, identified by its UUID, which must be valid and correspond to an existing event type.

Action Parameters

uuid
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get event type availability

Description

Tool to retrieve availability schedules configured for a specific Calendly event type. Use when you need to get the availability rules including day-of-week schedules and date-specific overrides.

Action Parameters

event_type
stringRequired
user
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get group

Description

Retrieves all attributes of a specific Calendly group by its UUID; the group must exist.

Action Parameters

uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get group relationship

Description

Retrieves a specific Calendly group relationship by its valid and existing UUID, providing details on user-group associations and membership.

Action Parameters

uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get invitee no show

Description

Retrieves details for a specific Invitee No Show record by its UUID; an Invitee No Show is marked when an invitee does not attend a scheduled event.

Action Parameters

uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get organization

Description

Tool to retrieve information about a specific Calendly organization. Use when you need to get organization details such as name, slug, or timestamps.

Action Parameters

uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get organization invitation

Description

Retrieves a specific Calendly organization invitation using its UUID and the parent organization's UUID.

Action Parameters

org_uuid
stringRequired
uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get organization membership

Description

Retrieves a specific Calendly organization membership by its UUID, returning all its attributes.

Action Parameters

uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get routing form

Description

Retrieves a specific routing form by its UUID, providing its configuration details including questions and routing logic.

Action Parameters

uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get routing form submission

Description

Tool to retrieve details about a specific routing form submission by its UUID. Use when you need submission details including questions, answers, and routing results.

Action Parameters

uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get sample webhook data

Description

Tool to retrieve sample webhook payload data for testing webhook subscriptions. Use when you need to verify webhook setup and understand the data structure before creating actual webhook subscriptions.

Action Parameters

event
stringRequired
organization
stringRequired
scope
stringRequired
user
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get scheduled event

Description

Tool to retrieve detailed information about a specific Calendly scheduled event by its UUID. Use when you need to check event status, timing, location, or invitee information.

Action Parameters

event_uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get user

Description

Retrieves comprehensive details for an existing Calendly user.

Action Parameters

uuid
stringDefaults to me

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get user availability schedule

Description

Retrieves an existing user availability schedule by its UUID; this schedule defines the user's default hours of availability.

Action Parameters

uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get webhook subscription

Description

Retrieves the details of an existing webhook subscription, identified by its UUID, including its callback URL, subscribed events, scope, and state.

Action Parameters

webhook_uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Mark invitee as no-show

Description

Tool to mark an invitee as a no-show for a scheduled event. Use when an invitee fails to attend their scheduled meeting and you need to record their absence in Calendly.

Action Parameters

invitee
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Invite user to organization

Description

Invites a user to the specified Calendly organization by email, if they aren't already a member and lack a pending invitation to it.

Action Parameters

email
stringRequired
uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List activity log entries

Description

Retrieves a list of activity log entries for a specified Calendly organization (requires an active Enterprise subscription), supporting filtering, sorting, and pagination.

Action Parameters

action
array
actor
array
count
integerDefaults to 20
max_occurred_at
string
min_occurred_at
string
namespace
array
organization
stringRequired
page_token
string
search_term
string
sort
arrayDefaults to ['occurred_at:desc']

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List event invitees

Description

Retrieves a list of invitees for a specified Calendly event UUID, with options to filter by status or email, and sort by creation time.

Action Parameters

count
integerDefaults to 20
email
string
page_token
string
sort
stringDefaults to created_at:asc
status
string
uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List events

Description

Retrieves a list of scheduled Calendly events. Exactly one of `user`, `organization`, or `group` must be provided to scope the query. The `invitee_email` parameter is a filter and cannot be used as a scope. Admin rights may be needed when filtering by `organization` or `group`.

Action Parameters

count
integerDefaults to 20
group
string
invitee_email
string
max_start_time
string
min_start_time
string
organization
string
page_token
string
sort
string
status
string
user
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List event type available times

Description

Fetches available time slots for a Calendly event type within a specified time range; results are not paginated.

Action Parameters

end_time
stringRequired
event_type
stringRequired
start_time
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List event type hosts

Description

Retrieves a list of hosts (users) assigned to a specific, existing Calendly event type, identified by its URI.

Action Parameters

count
integerDefaults to 20
event_type
stringRequired
page_token
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List event type hosts

Description

Tool to retrieve a list of event type hosts (memberships) for a specific event type. Use when you need to see which users are configured as hosts for an event type.

Action Parameters

count
integer
event_type
stringRequired
page_token
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Event Types

Description

Tool to list all Event Types associated with a specified User or Organization. Use when you need to retrieve event types for a user or organization.

Action Parameters

active
boolean
admin_managed
boolean
count
integer
organization
string
page_token
string
sort
string
user
string
user_availability_schedule
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List group relationships

Description

Retrieves a list of group relationships defining an owner's role (e.g., member, admin) within a group; an owner can have one membership per group but multiple admin roles across different groups.

Action Parameters

count
integerDefaults to 20
group
string
organization
string
owner
string
page_token
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List groups

Description

Returns a list of groups for a specified Calendly organization URI, supporting pagination.

Action Parameters

count
integerDefaults to 20
organization
stringRequired
page_token
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List organization invitations

Description

Retrieves a list of invitations for a specific organization, identified by its UUID.

Action Parameters

count
integerDefaults to 20
email
string
page_token
string
sort
stringDefaults to created_at:asc
status
string
uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List organization memberships

Description

Retrieves a list of organization memberships.

Action Parameters

count
integerDefaults to 20
email
string
organization
string
page_token
string
user
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List outgoing communications

Description

Retrieves a list of outgoing SMS communications for a specified organization; requires an Enterprise subscription and if filtering by creation date, both `min_created_at` and `max_created_at` must be provided to form a valid range.

Action Parameters

count
integerDefaults to 20
max_created_at
string
min_created_at
string
organization
stringRequired
page_token
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List routing forms

Description

Retrieves routing forms for a specified organization; routing forms are questionnaires used to direct invitees to appropriate booking pages or external URLs.

Action Parameters

count
integerDefaults to 20
organization
stringRequired
page_token
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List scheduled events

Description

Tool to retrieve a list of scheduled Calendly events. Use when you need to view events for a specific user, organization, or group. Requires exactly one of user, organization, or group parameter to scope the query.

Action Parameters

count
integer
group
string
invitee_email
string
max_start_time
string
min_start_time
string
organization
string
page_token
string
sort
string
status
string
user
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List user availability schedules

Description

Retrieves all availability schedules for the specified Calendly user.

Action Parameters

user
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List user busy times

Description

Fetches a user's busy time intervals (internal and external calendar events) in ascending order for a period up to 7 days; keyset pagination is not supported.

Action Parameters

end_time
stringRequired
start_time
stringRequired
user
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List User Meeting Locations

Description

Tool to retrieve configured meeting location information for a given Calendly user. Use when you need to see all available location options configured by a user for their meetings.

Action Parameters

user
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List user event types

Description

Retrieves event types for a user or organization; requires either the `user` or `organization` URI.

Action Parameters

active
boolean
admin_managed
boolean
count
integerDefaults to 20
organization
string
page_token
string
sort
stringDefaults to name:asc
user
string
user_availability_schedule
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List webhook subscriptions

Description

Retrieves webhook subscriptions for a Calendly organization; `scope` determines if `user` or `group` URI is also required for filtering.

Action Parameters

count
integerDefaults to 20
group
string
organization
stringRequired
page_token
string
scope
stringRequired
sort
string
user
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Invite user to organization

Description

Tool to invite a user to a Calendly organization via email. Use when you need to send an organization invitation to a new user. Requires organization owner or admin privileges.

Action Parameters

email
stringRequired
org_uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Event Invitee

Description

Tool to create a new Event Invitee with standard notifications, calendar invites, reschedules, and workflows. Use when programmatically scheduling meetings via API. Requires paid Calendly plan (Standard+).

Action Parameters

event_guests
array
event_type
stringRequired
invitee
objectRequired
location
object
questions_and_answers
array
start_time
stringRequired
tracking
object

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Remove user from organization

Description

Removes a user (who is not an owner) from an organization by their membership UUID, requiring administrative privileges.

Action Parameters

uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Revoke a user’s organization invitation

Description

Revokes a pending and revokable (not yet accepted or expired) organization invitation using its UUID and the organization's UUID, rendering the invitation link invalid.

Action Parameters

org_uuid
stringRequired
uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get scheduled event

Description

Tool to retrieve detailed information about a specific scheduled Calendly event. Use when you need to fetch details of a scheduled event using its UUID.

Action Parameters

uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Event Type

Description

Tool to update an existing one-on-one event type (kind: solo) in Calendly. Use when you need to modify event type settings such as name, duration, location, or description. NOTE: Currently only supports one-on-one event types.

Action Parameters

active
boolean
color
string
description
string
duration
integer
duration_options
array
locale
string
locations
array
name
string
uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Event Type Availability

Description

Tool to update an event type availability schedule in Calendly. Use when you need to change the timezone or availability rules for an event type. WARNING: Updating rules will overwrite all existing rules - retrieve existing rules first using GET /event_type_availability_schedules.

Action Parameters

availability_rule
objectRequired
availability_setting
string
event_type
stringRequired
user
string

Action Response

data
objectRequired
error
string
successful
booleanRequired