---
title: "Cal.com"
description: "Connect Cal.com, obtain the required access and configure permitted actions."
url: "https://documentation.verbatik.com/integrations/cal-com/"
---

# Cal.com

Connect Cal.com, obtain the required access and configure permitted actions.

The API adapter is implemented. Validate your own account and authorized actions before routing production calls.

## Before you start

Connect the account belonging to this business and workspace. Vendor subscriptions, API limits and role permissions still apply.

**API:** Cal.com API v2

**Authentication:** Bearer API key (cal_...) or customer-managed OAuth access token

## Get access and connect

1. In Cal.com Settings → Developer → API keys, create an API key for the clinic account; a distributed OAuth integration needs an approved OAuth client.
2. Save the key in Verbatik and test /v2/me. Find the clinic's eventTypeId.
3. Read live slots before booking. Supply attendee name, email, IANA timezone and any configured booking-field answers or verification code.
4. Bookings, rescheduling and cancellation use the documented 2026-02-25 version; slots use 2024-09-04. Verbatik sets those headers per endpoint.
5. Reconnect OAuth tokens after expiry. API keys can be generated with an appropriate expiration policy.

## Account requirements

- Clinic Cal.com account and configured event types
- The clinic's underlying calendar must be connected in Cal.com
- Mandatory event booking questions and verification remain enforced

## Permissions

- `Access to the selected event types and bookings`
- `OAuth: read profile, read event types/availability and create/update bookings as approved in the Cal.com app`

Grant the subset needed for the actions you enable. API scopes do not override the connected user’s record permissions or vendor validation rules.

## Connection fields

- `accessToken` — API key or OAuth access token (required). Secret fields are saved as workspace credentials.

## Available actions

- `test_connection` — **Read**. Read the authenticated Cal.com profile.
- `check_availability` — **Read**. Read currently bookable slots for an event type. Rescheduling can exclude the existing booking UID.
- `get_booking` — **Read**. Read a booking and its current status.
- `create_booking` — **Write**. Create a normal booking, respecting conflicts, booking limits and email verification.
- `reschedule_booking` — **Write**. Move a single booking to a checked available time. Retains provider confirmation requirements.
- `cancel_booking` — **Write**. Cancel the specified booking only. Subsequent recurring bookings are preserved.


## Verify before going live

Run Test connection and one read action against a known permitted record. Then test each intended write in an authorized sandbox. Check the provider’s own record and the Verbatik receipt. Publish the agent after assigning its tools. If a write has an unknown outcome, reconcile it with the vendor before trying again.

## Vendor documentation

- [Setup and API documentation](https://app.cal.com/settings/developer/api-keys)
- [Additional provider reference](https://cal.com/docs/api-reference/v2/introduction)
- [Additional provider reference](https://cal.com/docs/api-reference/v2/bookings/create-a-booking)
- [Additional provider reference](https://cal.com/docs/api-reference/v2/slots/get-available-time-slots-for-an-event-type)
