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
bearer_token
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 the Calendly toolkit page and click “Setup Integration”.

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 Integration”. 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

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["CALENDLY"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Get user

Description

Retrieves comprehensive details for an existing calendly user.

Action Parameters

uuid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

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: 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
string

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
only_weekdays
boolean
timezone
stringDefaults to UTC

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

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 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
object
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
stringRequired

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 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 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: 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 events

Description

Retrieves a list of scheduled calendly events; requires `user`, `organization`, `group`, or `invitee email` for scope, and 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 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 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 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 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 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 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 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: 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
object
error
string
successful
booleanRequired