> ## Documentation Index
> Fetch the complete documentation index at: https://klipy.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# booking.cancelled

> Outbound webhook when a booking is cancelled by the organizer or attendee.

# `booking.cancelled`

## What this event means

`booking.cancelled` is emitted when a confirmed booking is cancelled. The `cancellation_reason` field will contain the reason provided, if any.

## Webhook `type`

`booking.cancelled`

## Internal source mapping

| Internal event      | Trigger path                                                                                                     |
| ------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `booking.cancelled` | Nylas booking lifecycle webhook `booking.cancelled` type is received and the booking record is marked cancelled. |

## Payload example

```json theme={null}
{
  "type": "booking.cancelled",
  "object": "event",
  "data": {
    "id": "jx7abc123def456",
    "title": "30 min intro call",
    "description": null,
    "status": "cancelled",
    "start_time": 1748736000000,
    "end_time": 1748737800000,
    "timezone": "America/New_York",
    "organizer": {
      "name": "Jane Smith",
      "email": "jane@yourcompany.com"
    },
    "attendee": {
      "name": "Alex Johnson",
      "email": "alex@prospect.com"
    },
    "guests": [],
    "external_id": "bkg_x9y8z7",
    "cancellation_reason": "Scheduling conflict"
  }
}
```

## Delivery and idempotency handling

* Use `data.id` as the primary idempotency key.
* `data.cancellation_reason` may be `null` if no reason was provided.
* Cancel any downstream reminders or CRM tasks associated with this booking on receipt.

## Related links

* [Webhook introduction](/docs/webhooks/introduction)
* [Webhook event types](/docs/webhooks/event-types)
