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

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# On booking reassigned

> Subscribes when a round-robin booking is reassigned.

`calcom.onBookingReassigned` subscribes when a round-robin booking is reassigned.

```ts automations/on-booking-reassigned.automation.ts theme={null}
import { automation, markSignificant } from "automate.ax"
import { calcom } from "automate.ax/calcom"

export default automation("On booking reassigned", () => {
  const event = calcom.onBookingReassigned()
  markSignificant(event)
})
```

## Scope

Omit `scope` for personal bookings. To watch one team-owned Collective or Round Robin event type, pass `{ type: "team", teamId, eventTypeId }`. Team scope requires a Cal.com Teams plan or higher and an API key owned by a team admin or owner.

## Event

| Field                                 | Type                   | Required |
| ------------------------------------- | ---------------------- | -------- |
| `createdAt`                           | `string (date-time)`   | Yes      |
| `payload`                             | `object`               | Yes      |
| `payload.additionalNotes`             | `string`               | No       |
| `payload.attendees`                   | `object[]`             | Yes      |
| `payload.attendees[].email`           | `string (email)`       | Yes      |
| `payload.attendees[].id`              | `integer`              | No       |
| `payload.attendees[].language`        | `object`               | Yes      |
| `payload.attendees[].language.locale` | `string`               | Yes      |
| `payload.attendees[].name`            | `string`               | Yes      |
| `payload.attendees[].phoneNumber`     | `string \| null`       | No       |
| `payload.attendees[].timeZone`        | `string`               | Yes      |
| `payload.attendees[].username`        | `string \| null`       | No       |
| `payload.attendees[].utcOffset`       | `number`               | No       |
| `payload.bookingId`                   | `integer`              | Yes      |
| `payload.customInputs`                | `object \| null`       | No       |
| `payload.description`                 | `string`               | Yes      |
| `payload.endTime`                     | `string`               | Yes      |
| `payload.eventDescription`            | `string \| null`       | No       |
| `payload.eventTitle`                  | `string`               | No       |
| `payload.eventTypeId`                 | `integer \| null`      | No       |
| `payload.location`                    | `JSON value`           | No       |
| `payload.metadata`                    | `object`               | No       |
| `payload.organizer`                   | `object`               | Yes      |
| `payload.organizer.email`             | `string (email)`       | Yes      |
| `payload.organizer.id`                | `integer`              | No       |
| `payload.organizer.language`          | `object`               | Yes      |
| `payload.organizer.language.locale`   | `string`               | Yes      |
| `payload.organizer.name`              | `string`               | Yes      |
| `payload.organizer.phoneNumber`       | `string \| null`       | No       |
| `payload.organizer.timeZone`          | `string`               | Yes      |
| `payload.organizer.username`          | `string \| null`       | No       |
| `payload.organizer.utcOffset`         | `number`               | No       |
| `payload.responses`                   | `object \| null`       | No       |
| `payload.startTime`                   | `string`               | Yes      |
| `payload.status`                      | `string`               | Yes      |
| `payload.title`                       | `string`               | Yes      |
| `payload.type`                        | `string`               | Yes      |
| `payload.uid`                         | `string`               | Yes      |
| `payload.attendeeIcsContent`          | `string`               | No       |
| `payload.organizerIcsContent`         | `string`               | No       |
| `payload.addedHostUserIds`            | `integer[]`            | Yes      |
| `payload.removedHostUserIds`          | `integer[]`            | Yes      |
| `triggerEvent`                        | `"BOOKING_REASSIGNED"` | Yes      |

Additional provider fields are preserved.

For webhook version `2026-07-27`, `attendeeIcsContent` and `organizerIcsContent` contain pre-generated calendar invites for attendee and organizer emails. Either field may be absent because of calendar or privacy settings.

Automate.ax creates and maintains the Cal.com webhook, verifies `x-cal-signature-256`, and deduplicates provider retries. Use `calcom.onEvent` when one automation should receive every supported Cal.com event.
