KosmoKrator

productivity

Cal.com CLI for AI Agents

Use the Cal.com CLI from KosmoKrator to call Cal.com tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.

Cal.com CLI Setup

Cal.com can be configured headlessly with `kosmokrator integrations:configure cal`.

Install, configure, and verify
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash

# Configure and verify this integration.
kosmokrator integrations:configure cal --set access_token="$CAL_ACCESS_TOKEN" --enable --read allow --write ask --json
kosmokrator integrations:doctor cal --json
kosmokrator integrations:status --json

Credentials

Authentication type: Bearer token bearer_token. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.

KeyEnv varTypeRequiredLabel
access_token CAL_ACCESS_TOKEN Secret secret yes Access Token
url CAL_URL URL url no API Base URL

Command Patterns

The generic command is stable across every integration. The provider shortcut is shorter for humans.

Generic CLI call
kosmo integrations:call cal.cal_list_event_types '{"limit":1,"page":1,"team_id":1}' --json
Provider shortcut
kosmo integrations:cal cal_list_event_types '{"limit":1,"page":1,"team_id":1}' --json

Discovery

These commands return structured output for coding agents that need to inspect capabilities before choosing a function.

Discovery commands
kosmo integrations:docs cal --json
kosmo integrations:docs cal.cal_list_event_types --json
kosmo integrations:schema cal.cal_list_event_types --json
kosmo integrations:search "Cal.com" --json
kosmo integrations:list --json

Automation Contexts

The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.

CLI Functions

Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.

cal.cal_list_event_types

List available event types (booking link templates) from Cal.com. Supports filtering by team and pagination.

Read read
Parameters
limit, page, team_id
Generic call
kosmo integrations:call cal.cal_list_event_types '{"limit":1,"page":1,"team_id":1}' --json
Shortcut
kosmo integrations:cal cal_list_event_types '{"limit":1,"page":1,"team_id":1}' --json

cal.cal_get_event_type

Get detailed information about a specific event type from Cal.com by its ID.

Read read
Parameters
id
Generic call
kosmo integrations:call cal.cal_get_event_type '{"id":1}' --json
Shortcut
kosmo integrations:cal cal_get_event_type '{"id":1}' --json

cal.cal_list_bookings

List bookings from Cal.com with optional filtering by status, event type, and pagination.

Read read
Parameters
limit, page, status, event_type_id
Generic call
kosmo integrations:call cal.cal_list_bookings '{"limit":1,"page":1,"status":"example_status","event_type_id":1}' --json
Shortcut
kosmo integrations:cal cal_list_bookings '{"limit":1,"page":1,"status":"example_status","event_type_id":1}' --json

cal.cal_get_booking

Get detailed information about a specific booking from Cal.com by its ID or UID.

Read read
Parameters
id
Generic call
kosmo integrations:call cal.cal_get_booking '{"id":"example_id"}' --json
Shortcut
kosmo integrations:cal cal_get_booking '{"id":"example_id"}' --json

cal.cal_create_booking

Create a new booking in Cal.com for a specific event type. Provide the event type, start/end times, and attendee information.

Write write
Parameters
event_type_id, start, end, responses
Generic call
kosmo integrations:call cal.cal_create_booking '{"event_type_id":1,"start":"example_start","end":"example_end","responses":"example_responses"}' --json
Shortcut
kosmo integrations:cal cal_create_booking '{"event_type_id":1,"start":"example_start","end":"example_end","responses":"example_responses"}' --json

cal.cal_cancel_booking

Cancel a Cal.com booking by booking UID.

Write write
Parameters
booking_uid, body
Generic call
kosmo integrations:call cal.cal_cancel_booking '{"booking_uid":"example_booking_uid","body":"example_body"}' --json
Shortcut
kosmo integrations:cal cal_cancel_booking '{"booking_uid":"example_booking_uid","body":"example_body"}' --json

cal.cal_reschedule_booking

Reschedule a Cal.com booking by booking UID.

Write write
Parameters
booking_uid, body
Generic call
kosmo integrations:call cal.cal_reschedule_booking '{"booking_uid":"example_booking_uid","body":"example_body"}' --json
Shortcut
kosmo integrations:cal cal_reschedule_booking '{"booking_uid":"example_booking_uid","body":"example_body"}' --json

cal.cal_get_current_user

Get the authenticated Cal.com user's profile information, including name, email, and time zone.

Read read
Parameters
none
Generic call
kosmo integrations:call cal.cal_get_current_user '{}' --json
Shortcut
kosmo integrations:cal cal_get_current_user '{}' --json

cal.cal_api_get

Call any Cal.com v2 GET API endpoint.

Read read
Parameters
path, params
Generic call
kosmo integrations:call cal.cal_api_get '{"path":"example_path","params":"example_params"}' --json
Shortcut
kosmo integrations:cal cal_api_get '{"path":"example_path","params":"example_params"}' --json

cal.cal_api_post

Call any Cal.com v2 POST API endpoint.

Write write
Parameters
path, body
Generic call
kosmo integrations:call cal.cal_api_post '{"path":"example_path","body":"example_body"}' --json
Shortcut
kosmo integrations:cal cal_api_post '{"path":"example_path","body":"example_body"}' --json

cal.cal_api_patch

Call any Cal.com v2 PATCH API endpoint.

Write write
Parameters
path, body
Generic call
kosmo integrations:call cal.cal_api_patch '{"path":"example_path","body":"example_body"}' --json
Shortcut
kosmo integrations:cal cal_api_patch '{"path":"example_path","body":"example_body"}' --json

cal.cal_api_delete

Call any Cal.com v2 DELETE API endpoint.

Write write
Parameters
path, body
Generic call
kosmo integrations:call cal.cal_api_delete '{"path":"example_path","body":"example_body"}' --json
Shortcut
kosmo integrations:cal cal_api_delete '{"path":"example_path","body":"example_body"}' --json

Function Schemas

Use these parameter tables when building CLI payloads without calling integrations:schema first.

cal.cal_list_event_types 3 parameters
Schema command
kosmo integrations:schema cal.cal_list_event_types --json
ParameterTypeRequiredDescription
limit integer no Maximum number of event types to return per page.
page integer no Page number for pagination (starts at 1).
team_id integer no Filter event types belonging to a specific team by its ID.
cal.cal_get_event_type 1 parameters
Schema command
kosmo integrations:schema cal.cal_get_event_type --json
ParameterTypeRequiredDescription
id integer yes The event type ID.
cal.cal_list_bookings 4 parameters
Schema command
kosmo integrations:schema cal.cal_list_bookings --json
ParameterTypeRequiredDescription
limit integer no Maximum number of bookings to return per page.
page integer no Page number for pagination (starts at 1).
status string no Filter by booking status: "confirmed", "pending", "cancelled", or "rejected".
event_type_id integer no Filter bookings for a specific event type by its ID.
cal.cal_get_booking 1 parameters
Schema command
kosmo integrations:schema cal.cal_get_booking --json
ParameterTypeRequiredDescription
id string yes The booking ID or UID.
cal.cal_create_booking 4 parameters
Schema command
kosmo integrations:schema cal.cal_create_booking --json
ParameterTypeRequiredDescription
event_type_id integer yes The event type ID to book.
start string yes Start time in ISO 8601 format (e.g., "2026-04-10T09:00:00Z").
end string yes End time in ISO 8601 format (e.g., "2026-04-10T09:30:00Z").
responses object yes Attendee responses. Must include "name" and "email". Example: {"name": "Jane Example", "email": "jane@example.test", "notes": "Optional notes."}.
cal.cal_cancel_booking 2 parameters
Schema command
kosmo integrations:schema cal.cal_cancel_booking --json
ParameterTypeRequiredDescription
booking_uid string yes Booking UID.
body object no Optional cancellation payload such as reason.
cal.cal_reschedule_booking 2 parameters
Schema command
kosmo integrations:schema cal.cal_reschedule_booking --json
ParameterTypeRequiredDescription
booking_uid string yes Booking UID.
body object yes Reschedule payload, usually including start and related booking fields.
cal.cal_get_current_user 0 parameters
Schema command
kosmo integrations:schema cal.cal_get_current_user --json
ParameterTypeRequiredDescription
No parameters.
cal.cal_api_get 2 parameters
Schema command
kosmo integrations:schema cal.cal_api_get --json
ParameterTypeRequiredDescription
path string yes API path such as /bookings or /slots.
params object no Query parameters.
cal.cal_api_post 2 parameters
Schema command
kosmo integrations:schema cal.cal_api_post --json
ParameterTypeRequiredDescription
path string yes API path.
body object no JSON body.
cal.cal_api_patch 2 parameters
Schema command
kosmo integrations:schema cal.cal_api_patch --json
ParameterTypeRequiredDescription
path string yes API path.
body object no JSON body.
cal.cal_api_delete 2 parameters
Schema command
kosmo integrations:schema cal.cal_api_delete --json
ParameterTypeRequiredDescription
path string yes API path.
body object no JSON body.

Permissions

Headless calls still follow the integration read/write permission policy. Configure read/write defaults with integrations:configure. Add --force only for trusted automation that should bypass that policy.