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

# Appointment update | Webhook events

> Fires whenever an existing appointment is modified in an account.

When any detail of an existing appointment changes — such as the time, status, assigned user, or notes — HoopAI sends an `AppointmentUpdate` event to all configured webhook endpoints. This event is useful for keeping downstream systems in sync when appointments are rescheduled, confirmed, or marked as a no-show.

## Payload

| Field                           | Type     | Description                                                                            |
| ------------------------------- | -------- | -------------------------------------------------------------------------------------- |
| `type`                          | `string` | Always `"AppointmentUpdate"`                                                           |
| `locationId`                    | `string` | Account ID the appointment belongs to                                                  |
| `appointment.id`                | `string` | Unique ID of the updated appointment                                                   |
| `appointment.address`           | `string` | Meeting location or URL (e.g., a video conference link)                                |
| `appointment.title`             | `string` | Display name of the appointment                                                        |
| `appointment.calendarId`        | `string` | ID of the calendar this appointment is booked on                                       |
| `appointment.contactId`         | `string` | ID of the contact associated with the appointment                                      |
| `appointment.groupId`           | `string` | ID of the calendar group, if the calendar belongs to one                               |
| `appointment.appointmentStatus` | `string` | Updated status of the appointment (e.g., `confirmed`, `cancelled`, `showed`, `noshow`) |
| `appointment.assignedUserId`    | `string` | ID of the team member the appointment is assigned to                                   |
| `appointment.users`             | `array`  | List of user IDs associated with the appointment                                       |
| `appointment.notes`             | `string` | Internal notes attached to the appointment                                             |
| `appointment.source`            | `string` | How the appointment was originally created (e.g., `booking_widget`, `manual`)          |
| `appointment.startTime`         | `string` | ISO 8601 start date and time of the appointment                                        |
| `appointment.endTime`           | `string` | ISO 8601 end date and time of the appointment                                          |
| `appointment.dateAdded`         | `string` | ISO 8601 timestamp when the appointment record was created                             |
| `appointment.dateUpdated`       | `string` | ISO 8601 timestamp when the appointment was last updated                               |

## Example payload

```json theme={null}
{
  "type": "AppointmentUpdate",
  "locationId": "0007BWpSzSwfiuSl0tR2",
  "appointment": {
    "id": "0007BWpSzSwfiuSl0tR2",
    "address": "https://example.com/meeting",
    "title": "Appointment with Hoop Dev team",
    "calendarId": "BqTwX8QFwXzpegMve9EQ",
    "contactId": "9NkT25Vor1v4aQatFsv2",
    "groupId": "9NkT25Vor1v4aQatFsv2",
    "appointmentStatus": "confirmed",
    "assignedUserId": "YlWd2wuCAZQzh2cH1fVZ",
    "users": ["YlWd2wuCAZQzh2cH1fVZ", "9NkT25Vor1v4aQatFsv2"],
    "notes": "Some dummy note",
    "source": "booking_widget",
    "startTime": "2023-09-25T16:00:00+05:30",
    "endTime": "2023-09-25T16:00:00+05:30",
    "dateAdded": "2023-09-25T16:00:00+05:30",
    "dateUpdated": "2023-09-25T16:00:00+05:30"
  }
}
```

## Related

* [Appointment create](/api-reference/webhooks/appointment-create) — fires when a new appointment is booked
* [Appointment delete](/api-reference/webhooks/appointment-delete) — fires when an appointment is removed
* [Calendars API](/api-reference/calendars/overview) — manage calendars and appointments programmatically
