# Cal.com

> Manage Cal.com bookings from Lodol: create, look up, list, reschedule, and cancel scheduling requests.

App · Calendars · 5 actions. Web page: https://docs.lodol.com/docs/integrations/calcom

## Actions

### Cancel booking

Cancel an existing Cal.com booking by its UID.

**Inputs**

- Booking UID (`booking_uid`, text, required): The UID of the booking to cancel.
- Cancellation reason (`cancellation_reason`, text): An optional reason shown to the attendee.

**Outputs**

- `id` (number): Numeric booking ID.
- `status` (text): Booking status after cancellation.
- `uid` (text): Booking UID.

**Example output**

```json
{
  "id": 123,
  "status": "cancelled",
  "uid": "aBcD1234"
}
```

### Create booking

Book a slot on one of your Cal.com event types for an attendee.

**Inputs**

- Event type (`event_type_id`, text, required): The event type to book a slot on.
- Start time (`start`, date and time, required): When the booking should start.
- Attendee name (`attendee_name`, text, required): The attendee's full name.
- Attendee email (`attendee_email`, text, required): The attendee's email address.
- Attendee time zone (`attendee_timezone`, text, required): The attendee's time zone. One of: `Africa/Abidjan`, `Africa/Accra`, `Africa/Addis_Ababa`, `Africa/Algiers`, `Africa/Asmara`, `Africa/Asmera`, `Africa/Bamako`, `Africa/Bangui`, `Africa/Banjul`, `Africa/Bissau`, and 589 more.
- Attendee phone number (`attendee_phone_number`, text): Optional phone number, required only for phone-based event types.
- Guests (`guests`, list): Optional list of additional guest email addresses.
- Location (`location`, text): Optional meeting location or URL to override the event type default.

**Outputs**

- `end` (text): End time (ISO 8601).
- `id` (number): Numeric booking ID.
- `start` (text): Start time (ISO 8601).
- `status` (text): Booking status (accepted, pending, cancelled, ...).
- `title` (text): Booking title.
- `uid` (text): Booking UID used to look it up or change it later.

**Example output**

```json
{
  "end": "2026-08-13T09:30:00.000Z",
  "id": 123,
  "start": "2026-08-13T09:00:00.000Z",
  "status": "accepted",
  "title": "30 Min Meeting between Acme and Jordan Lee",
  "uid": "aBcD1234"
}
```

### Get booking

Retrieve the details of a single Cal.com booking by its UID.

**Inputs**

- Booking UID (`booking_uid`, text, required): The booking's UID. Use 'List bookings' or a 'Create booking' result to find it.

**Outputs**

- `end` (text): End time (ISO 8601).
- `id` (number): Numeric booking ID.
- `start` (text): Start time (ISO 8601).
- `status` (text): Booking status.
- `title` (text): Booking title.
- `uid` (text): Booking UID.

**Example output**

```json
{
  "end": "2026-08-13T09:30:00.000Z",
  "id": 123,
  "start": "2026-08-13T09:00:00.000Z",
  "status": "accepted",
  "title": "30 Min Meeting between Acme and Jordan Lee",
  "uid": "aBcD1234"
}
```

### List bookings

List Cal.com bookings, optionally filtered by status, attendee email, or event type.

**Inputs**

- Status (`status`, text): Optional status filter: upcoming, recurring, past, cancelled, or unconfirmed. One of: `upcoming`, `recurring`, `past`, `cancelled`, `unconfirmed`.
- Attendee email (`attendee_email`, text): Optional filter for bookings that include this attendee email.
- Event type (`event_type_id`, text): Optional filter for bookings of a specific event type.
- Take (`take`, number): Maximum number of bookings to return (page size).

**Outputs**

- `bookings` (list): The bookings that matched the filters.

**Example output**

```json
{
  "bookings": [
    {
      "end": "2026-08-13T09:30:00.000Z",
      "id": 123,
      "start": "2026-08-13T09:00:00.000Z",
      "status": "accepted",
      "title": "30 Min Meeting",
      "uid": "aBcD1234"
    }
  ]
}
```

### Reschedule booking

Move an existing Cal.com booking to a new start time. This creates a new booking that supersedes the old one.

**Inputs**

- Booking UID (`booking_uid`, text, required): The UID of the booking to reschedule.
- New start time (`start`, date and time, required): The new start time to move the booking to.
- Reschedule reason (`rescheduling_reason`, text): An optional reason shown to the attendee.

**Outputs**

- `id` (number): Numeric booking ID.
- `start` (text): New start time (ISO 8601).
- `status` (text): Booking status.
- `uid` (text): UID of the new (rescheduled) booking.

**Example output**

```json
{
  "id": 124,
  "start": "2026-08-14T10:00:00.000Z",
  "status": "accepted",
  "uid": "eFgH5678"
}
```
