---
title: "Cal.com Integration"
description: "Manage Cal.com bookings and schedules"
---
The Cal.com integration provides access to manage Cal.com bookings and schedules through the Integrate MCP server.

## Installation

The Cal.com integration is included with the SDK:

```typescript
import { calcomIntegration } from "integrate-sdk/server";
```

## Setup

### 1. Create a Cal.com OAuth App

1. Go to [Cal.com Platform Settings](https://app.cal.com/settings/developer)
2. Create a new OAuth application
3. Configure your redirect URI
4. Note your Client ID and Client Secret

### 2. Configure the Integration on Your Server

Add the Cal.com integration to your server configuration. The integration automatically reads `CALCOM_CLIENT_ID` and `CALCOM_CLIENT_SECRET` from your environment variables:

```typescript
import { createMCPServer, calcomIntegration } from "integrate-sdk/server";

export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    calcomIntegration({
    }),
  ],
});
```

You can override the environment variables by passing explicit values:

```typescript
calcomIntegration({
  clientId: process.env.CUSTOM_CALCOM_ID,
  clientSecret: process.env.CUSTOM_CALCOM_SECRET,
});
```

### 3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

```typescript
import { client } from "integrate-sdk";

await client.authorize("calcom");
const result = await client.calcom.listBookings({});

console.log(result);
```

If you're using a custom client, add the integration to the integrations array:

```typescript
import { createMCPClient, calcomIntegration } from "integrate-sdk";

const customClient = createMCPClient({
  integrations: [calcomIntegration()],
});
```

## Configuration Options

<AutoTypeTable
  path="../src/integrations/calcom.ts"
  name="CalcomIntegrationConfig"
/>


## Tools

### `calcom_list_bookings`

List all bookings

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomListBookingsParams"
/>

### `calcom_get_booking`

Get booking details

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomGetBookingParams"
/>

### `calcom_create_booking`

Create a new booking

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomCreateBookingParams"
/>

### `calcom_cancel_booking`

Cancel a booking

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomCancelBookingParams"
/>

### `calcom_reschedule_booking`

Reschedule a booking

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomRescheduleBookingParams"
/>

### `calcom_update_booking`

Update an existing booking

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomUpdateBookingParams"
/>

### `calcom_get_booking_recordings`

Get recordings for a booking

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomGetBookingRecordingsParams"
/>

### `calcom_get_booking_transcripts`

Get transcripts for a booking

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomGetBookingTranscriptsParams"
/>

### `calcom_list_event_types`

List event types

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomListEventTypesParams"
/>

### `calcom_get_event_type`

Get a specific event type

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomGetEventTypeParams"
/>

### `calcom_create_event_type`

Create a new event type

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomCreateEventTypeParams"
/>

### `calcom_update_event_type`

Update an event type

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomUpdateEventTypeParams"
/>

### `calcom_delete_event_type`

Delete an event type

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomDeleteEventTypeParams"
/>

### `calcom_list_team_event_types`

List event types for a team

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomListTeamEventTypesParams"
/>

### `calcom_get_availability`

Get availability slots

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomGetAvailabilityParams"
/>

### `calcom_get_availability_rule`

Get an availability rule

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomGetAvailabilityRuleParams"
/>

### `calcom_create_availability_rule`

Create an availability rule

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomCreateAvailabilityRuleParams"
/>

### `calcom_update_availability_rule`

Update an availability rule

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomUpdateAvailabilityRuleParams"
/>

### `calcom_delete_availability_rule`

Delete an availability rule

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomDeleteAvailabilityRuleParams"
/>

### `calcom_list_schedules`

List schedules

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomListSchedulesParams"
/>

### `calcom_get_schedule`

Get a specific schedule

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomGetScheduleParams"
/>

### `calcom_create_schedule`

Create a new schedule

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomCreateScheduleParams"
/>

### `calcom_update_schedule`

Update a schedule

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomUpdateScheduleParams"
/>

### `calcom_delete_schedule`

Delete a schedule

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomDeleteScheduleParams"
/>

### `calcom_get_slots`

Get available time slots

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomGetSlotsParams"
/>

### `calcom_list_attendees`

List attendees

_No parameters._

### `calcom_get_attendee`

Get a specific attendee

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomGetAttendeeParams"
/>

### `calcom_create_attendee`

Create a new attendee

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomCreateAttendeeParams"
/>

### `calcom_update_attendee`

Update an attendee

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomUpdateAttendeeParams"
/>

### `calcom_delete_attendee`

Delete an attendee

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomDeleteAttendeeParams"
/>

### `calcom_list_teams`

List teams

_No parameters._

### `calcom_get_team`

Get a specific team

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomGetTeamParams"
/>

### `calcom_create_team`

Create a new team

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomCreateTeamParams"
/>

### `calcom_update_team`

Update a team

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomUpdateTeamParams"
/>

### `calcom_delete_team`

Delete a team

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomDeleteTeamParams"
/>

### `calcom_list_memberships`

List memberships

_No parameters._

### `calcom_get_membership`

Get a specific membership

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomGetMembershipParams"
/>

### `calcom_create_membership`

Create a membership

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomCreateMembershipParams"
/>

### `calcom_update_membership`

Update a membership

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomUpdateMembershipParams"
/>

### `calcom_delete_membership`

Delete a membership

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomDeleteMembershipParams"
/>

### `calcom_list_webhooks`

List webhooks

_No parameters._

### `calcom_get_webhook`

Get a specific webhook

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomGetWebhookParams"
/>

### `calcom_create_webhook`

Create a webhook

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomCreateWebhookParams"
/>

### `calcom_update_webhook`

Update a webhook

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomUpdateWebhookParams"
/>

### `calcom_delete_webhook`

Delete a webhook

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomDeleteWebhookParams"
/>

### `calcom_list_payments`

List payments

_No parameters._

### `calcom_get_payment`

Get a specific payment

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomGetPaymentParams"
/>

### `calcom_list_users`

List users

_No parameters._

### `calcom_get_user`

Get a specific user

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomGetUserParams"
/>

### `calcom_create_user`

Create a new user

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomCreateUserParams"
/>

### `calcom_update_user`

Update a user

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomUpdateUserParams"
/>

### `calcom_delete_user`

Delete a user

<AutoTypeTable
  path="generated/tool-params/calcom.ts"
  name="CalcomDeleteUserParams"
/>

### `calcom_get_me`

Get current user info

_No parameters._

## Notes

- Category: Scheduling
- Authentication mode: OAuth
