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

# Appointment

> Event payload details and trigger documentation for Appointment data from Healthie

<img src="https://mintcdn.com/morfhealth/EU2WCxuXGIUQcziR/images/healthie.svg?fit=max&auto=format&n=EU2WCxuXGIUQcziR&q=85&s=d168a24dbae69f2202ca63dd7aa2e1f3" alt="images/healthie.svg" width="40" height="40" data-path="images/healthie.svg" />

# Events

## Triggering Webhook Types

The following event types are associated with the Appointment event payload from Healthie.

* `Healthie Appointment Scheduled`
* `Healthie Appointment Updated`
* `Healthie Appointment Marked Occurred`
* `Healthie Appointment No Show`
* `Healthie Appointment Rescheduled`
* `Healthie Appointment Cancelled`

<RequestExample>
  ```json Example theme={null}
  {
    "actual_duration_minutes": 42,
    "add_to_ical_link": "https://app.gethealthie.com/appointments/add_to_cal/12345678.ics?cal_export_id=Dac9JLS9Qas1PURwBcX7",
    "appointment_add_to_cal_link": "https://calendar.google.com/calendar/render?action=TEMPLATE&text=Intake+Appointment&dates=20240701T193000Z/20240701T204500Z&details=https%3A%2F%2Fsecurestaging.gethealthie.com%2Fappointments%2F597220%3Frel_appt_id%3D597220%26rel_appt_date%3D2024-07-01%252012%3A30%3A00%2520-0700&location=https%3A%2F%2Fsecurestaging.gethealthie.com%2Fappointments%2F597220%3Frel_appt_id%3D597220%26rel_appt_date%3D2024-07-01%252012%3A30%3A00%2520-0700",
    "appointment_client_confirmed": true,
    "appointment_created_at": "2024-07-08T17:12:11Z",
    "appointment_created_by": "Test Patient",
    "appointment_date": "July 12, 2024",
    "appointment_datetime": "2024-07-12T15:00:00Z",
    "appointment_datetime_raw": "Friday, Jul 12 2024, 10:00AM -0400",
    "appointment_day_of_month": "12th",
    "appointment_day_of_week": "Friday",
    "appointment_deleted_at": "2024-07-18T12:19:19Z",
    "appointment_email_address": "patientzero@healthcare.org",
    "appointment_end_datetime": "2024-07-12T16:00:00Z",
    "appointment_first_name": "Test",
    "appointment_id": "597220",
    "appointment_is_blocker": false,
    "appointment_last_name": "Test",
    "appointment_legal_name": "Test Patient",
    "appointment_length_minutes": 60,
    "appointment_location_detail": "https://zoom.us/j/97162458155?pwd=VMNDqvql2fTLwxZjjpkQmtwSVX9jbu.1",
    "appointment_location_id": "12345",
    "appointment_location_label": "Secure Videochat",
    "appointment_location_type": "Secure Videochat",
    "appointment_metadata": null,
    "appointment_month": "July",
    "appointment_notes": "Patient needs a vaccination for vacation to the tropics",
    "appointment_patient_timezone_identifier": "America/New_York",
    "appointment_phone_number": "+15551234123",
    "appointment_provider_confirmed": true,
    "appointment_provider_email": "lister@vaccinesrus.org",
    "appointment_provider_full_name": "Dr. Edward Lister",
    "appointment_provider_id": "4609771",
    "appointment_reason": "Intake visit for first vaccine",
    "appointment_status": "Re-Scheduled",
    "appointment_status_changed_at": "2024-07-11T12:11:04Z",
    "appointment_time": "10:00AM",
    "appointment_timezone_offset": "-04:00",
    "appointment_timezone_offset_seconds_east_of_utc": -14400,
    "appointment_timezone_short_name": "EDT",
    "appointment_type": {
      "associated_provider_names": [
        "Dr. Alexander Fleming",
        "Dr. Howard Florey",
        "Dr. Ernst Chain"
      ],
      "deleted_at": "2024-09-10T11:01:02Z",
      "id": "201091",
      "length_minutes": 60,
      "name": "Intake Session",
      "user_group_id": "126642"
    },
    "appointment_type_id": "58923",
    "appointment_type_title": "Intake Appointment",
    "appointment_updated_at": "2024-07-11T12:11:04Z",
    "appointment_zoom_meeting_id": "97162458155",
    "attendee_user_ids": [
      "42314",
      "200023"
    ],
    "changed_fields": [
      "start",
      "pm_status"
    ],
    "connected_chart_note_locked": false,
    "connected_chart_note_string": "Not Written",
    "current_position_in_recurring_series": 1,
    "dietician_organization_id": "123450",
    "dietitian_email_address": "drfleming@example.com",
    "dietitian_first_name": "Alexander",
    "dietitian_id": "100070",
    "dietitian_last_name": "Fleming",
    "dietitian_organization_id": "123450",
    "dietitian_organization_name": "BeWell Clinic",
    "form_answer_group_id": "30082312",
    "group_appointment_user_groups": [
      {
        "created_at": "2024-07-01T11:29:19+00:00",
        "id": "123012",
        "name": "Intake"
      }
    ],
    "healthie_patient_id": "1299482",
    "healthie_patient_record_identifier": "d7650d13-f865-1d52-8bfa-7b851e366a3d",
    "is_group_appointment": false,
    "last_updated_by_id": "400022",
    "status_last_updated_by_id": "123456"
  }
  ```
</RequestExample>

<ResponseExample>
  ```json Description theme={null}
  {
    "actual_duration_minutes": "Actual length of the Appointment (that occurred / time elapsed)",
    "add_to_ical_link": "Link to download an ICS file and add this Appointment to your calendar",
    "appointment_add_to_cal_link": "Link to add the Appointment to a calendar",
    "appointment_client_confirmed": "Whether or not the Patient has confirmed the Appointment",
    "appointment_created_at": "Appointment created at time",
    "appointment_created_by": "Appointment creator name",
    "appointment_date": "Month of the Appointment",
    "appointment_datetime": "Appointment start time (UTC time)",
    "appointment_datetime_raw": "Raw Healthie timestamp for the Appointment `start`",
    "appointment_day_of_month": "Day (ordinal) of the month of the Appointment",
    "appointment_day_of_week": "Day of the week of the Appointment",
    "appointment_deleted_at": "Appointment deleted at time",
    "appointment_email_address": "Patient's email address",
    "appointment_end_datetime": "Appointment end time (UTC time)",
    "appointment_first_name": "Patient's first name",
    "appointment_id": "ID of the Appointment",
    "appointment_is_blocker": "Is the Appointment a calendar block",
    "appointment_last_name": "Patient's last name",
    "appointment_legal_name": "Legal name of the Patient",
    "appointment_length_minutes": "Appointment length in minutes",
    "appointment_location_detail": "Details of the Appointment location",
    "appointment_location_id": "ID for the Appointment location. Note: only populated for in-person Appointments.",
    "appointment_location_label": "Label for the Appointment location (e.g., Secure Videochat)",
    "appointment_location_type": "Type of the Appointment location (e.g., Secure Videochat)",
    "appointment_metadata": null,
    "appointment_month": "Month of the Appointment",
    "appointment_notes": "Appointment notes",
    "appointment_patient_timezone_identifier": "Patient's registered Healthie timezone ISO identifier",
    "appointment_phone_number": "Patient's phone number",
    "appointment_provider_confirmed": "Whether or not the Provider has confirmed the Appointment",
    "appointment_provider_email": "Email address of the Appointment Provider",
    "appointment_provider_full_name": "Full name of the Appointment Provider",
    "appointment_provider_id": "ID of the Appointment Provider",
    "appointment_reason": "Reason for the Appointment",
    "appointment_status": "Appointment status",
    "appointment_status_changed_at": "Appointment status update time",
    "appointment_time": "Time of the Appointment (in the Appointment's registered timezone)",
    "appointment_timezone_offset": "Appointment timezone offset",
    "appointment_timezone_offset_seconds_east_of_utc": "Appointment timezone offset in seconds east of the Greenwich meridian",
    "appointment_timezone_short_name": "Appointment timezone short name",
    "appointment_type": {
      "associated_provider_names": "List of associated providers for the Appointment Type",
      "deleted_at": "Timestamp when the Appointment Type was deleted",
      "id": "ID of the Appointment Type",
      "length_minutes": "Length of the standard Appointment of this Type in minutes",
      "name": "Name of the Appointment Type",
      "user_group_id": "ID of the User Group associated with the Appointment Type"
    },
    "appointment_type_id": "ID of the Appointment Type",
    "appointment_type_title": "Appointment type title",
    "appointment_updated_at": "Appointment updated at time",
    "appointment_zoom_meeting_id": "ID of the Zoom meeting associated with the Appointment",
    "attendee_user_ids": "The user IDs of all the attendees scheduled to be at the Appointment, or those who did attend if marked occurred",
    "changed_fields": "Healthie Appointment object fields changed in triggering the event for this Appointment",
    "connected_chart_note_locked": "Is the connected Chart Note locked?",
    "connected_chart_note_string": "Connected Chart Note string",
    "current_position_in_recurring_series": "The position of the appointment in the recurring series (only specified if it's a recurring appointment)",
    "dietician_organization_id": "Organization ID for the Patient's registered dietitian",
    "dietitian_email_address": "Email address of the Patient's registered dietitian",
    "dietitian_first_name": "First name of the Patient's registered dietitian",
    "dietitian_id": "ID of the Patient's registered dietitian",
    "dietitian_last_name": "Last name of the Patient's registered dietitian",
    "dietitian_organization_id": "Organization ID for the Patient's registered dietitian",
    "dietitian_organization_name": "Organization name for the Patient's registered dietitian",
    "form_answer_group_id": "The ID of the first form answer group associated with the Appointment",
    "group_appointment_user_groups": {
      "created_at": "When the User Group was created",
      "id": "ID of the User Group",
      "name": "Name of the User Group"
    },
    "healthie_patient_id": "ID of the Patient (User) for the Appointment",
    "healthie_patient_record_identifier": "Patient record_identifier (Morf Profile ID)",
    "is_group_appointment": "Whether this appointment was scheduled for a group of patients",
    "last_updated_by_id": "User ID for the last person to update the Appointment",
    "status_last_updated_by_id": "User ID for the last person to update the Appointment status"
  }
  ```
</ResponseExample>

### Payload Field Details

<ResponseField name="Appointment" type="Event Payload">
  <Expandable title="fields" defaultOpen="true">
    <ResponseField name="appointment_id" type="string" required>
      ID of the Appointment

      ```json CEL theme={null}
      appointment_id
      ```

      ```json Example theme={null}
      "597220"
      ```
    </ResponseField>

    <ResponseField name="healthie_patient_id" type="string">
      `ID` ID of the Patient (User) for the Appointment

      ```json CEL theme={null}
      healthie_patient_id
      ```

      ```json Example theme={null}
      "1299482"
      ```
    </ResponseField>

    <ResponseField name="appointment_type_id" type="string">
      ID of the Appointment Type

      ```json CEL theme={null}
      appointment_type_id
      ```

      ```json Example theme={null}
      "58923"
      ```
    </ResponseField>

    <ResponseField name="appointment_type_title" type="string">
      Appointment type title

      ```json CEL theme={null}
      appointment_type_title
      ```

      ```json Example theme={null}
      "Intake Appointment"
      ```
    </ResponseField>

    <ResponseField name="appointment_provider_confirmed" type="bool" required>
      Whether or not the Provider has confirmed the Appointment

      ```json CEL theme={null}
      appointment_provider_confirmed
      ```

      ```json Example theme={null}
      true
      ```
    </ResponseField>

    <ResponseField name="appointment_client_confirmed" type="bool" required>
      Whether or not the Patient has confirmed the Appointment

      ```json CEL theme={null}
      appointment_client_confirmed
      ```

      ```json Example theme={null}
      true
      ```
    </ResponseField>

    <ResponseField name="appointment_add_to_cal_link" type="string">
      Link to add the Appointment to a calendar

      ```json CEL theme={null}
      appointment_add_to_cal_link
      ```

      ```json Example theme={null}
      "https://calendar.google.com/calendar/render?action=TEMPLATE&text=Intake+Appointment&dates=20240701T193000Z/20240701T204500Z&details=https%3A%2F%2Fsecurestaging.gethealthie.com%2Fappointments%2F597220%3Frel_appt_id%3D597220%26rel_appt_date%3D2024-07-01%252012%3A30%3A00%2520-0700&location=https%3A%2F%2Fsecurestaging.gethealthie.com%2Fappointments%2F597220%3Frel_appt_id%3D597220%26rel_appt_date%3D2024-07-01%252012%3A30%3A00%2520-0700"
      ```
    </ResponseField>

    <ResponseField name="appointment_location_label" type="string">
      Label for the Appointment location (e.g., Secure Videochat)

      ```json CEL theme={null}
      appointment_location_label
      ```

      ```json Example theme={null}
      "Secure Videochat"
      ```
    </ResponseField>

    <ResponseField name="appointment_location_type" type="string">
      Type of the Appointment location (e.g., Secure Videochat)

      ```json CEL theme={null}
      appointment_location_type
      ```

      ```json Example theme={null}
      "Secure Videochat"
      ```
    </ResponseField>

    <ResponseField name="appointment_location_detail" type="string">
      Details of the Appointment location

      ```json CEL theme={null}
      appointment_location_detail
      ```

      ```json Example theme={null}
      "https://zoom.us/j/97162458155?pwd=VMNDqvql2fTLwxZjjpkQmtwSVX9jbu.1"
      ```
    </ResponseField>

    <ResponseField name="appointment_zoom_meeting_id" type="string">
      ID of the Zoom meeting associated with the Appointment

      ```json CEL theme={null}
      appointment_zoom_meeting_id
      ```

      ```json Example theme={null}
      "97162458155"
      ```
    </ResponseField>

    <ResponseField name="appointment_provider_id" type="string">
      ID of the Appointment Provider

      ```json CEL theme={null}
      appointment_provider_id
      ```

      ```json Example theme={null}
      "4609771"
      ```
    </ResponseField>

    <ResponseField name="appointment_provider_full_name" type="string">
      Full name of the Appointment Provider

      ```json CEL theme={null}
      appointment_provider_full_name
      ```

      ```json Example theme={null}
      "Dr. Edward Lister"
      ```
    </ResponseField>

    <ResponseField name="appointment_provider_email" type="string">
      Email address of the Appointment Provider

      ```json CEL theme={null}
      appointment_provider_email
      ```

      ```json Example theme={null}
      "lister@vaccinesrus.org"
      ```
    </ResponseField>

    <ResponseField name="appointment_reason" type="string">
      Reason for the Appointment

      ```json CEL theme={null}
      appointment_reason
      ```

      ```json Example theme={null}
      "Intake visit for first vaccine"
      ```
    </ResponseField>

    <ResponseField name="appointment_datetime_raw" type="string" required>
      Raw Healthie timestamp for the Appointment `start`

      ```json CEL theme={null}
      appointment_datetime_raw
      ```

      ```json Example theme={null}
      "Friday, Jul 12 2024, 10:00AM -0400"
      ```
    </ResponseField>

    <ResponseField name="appointment_datetime" type="timing.v1.Timestamp" required>
      Appointment start time (UTC time)

      ```json CEL theme={null}
      appointment_datetime
      ```

      ```json Example theme={null}
      "2024-07-12T15:00:00Z"
      ```
    </ResponseField>

    <ResponseField name="appointment_end_datetime" type="timing.v1.Timestamp" required>
      Appointment end time (UTC time)

      ```json CEL theme={null}
      appointment_end_datetime
      ```

      ```json Example theme={null}
      "2024-07-12T16:00:00Z"
      ```
    </ResponseField>

    <ResponseField name="appointment_length_minutes" type="uint64">
      Appointment length in minutes

      ```json CEL theme={null}
      appointment_length_minutes
      ```

      ```json Example theme={null}
      60
      ```
    </ResponseField>

    <ResponseField name="appointment_status" type="string">
      Appointment status

      ```json CEL theme={null}
      appointment_status
      ```

      ```json Example theme={null}
      "Re-Scheduled"
      ```
    </ResponseField>

    <ResponseField name="appointment_status_changed_at" type="timing.v1.Timestamp">
      Appointment status update time

      ```json CEL theme={null}
      appointment_status_changed_at
      ```

      ```json Example theme={null}
      "2024-07-11T12:11:04Z"
      ```
    </ResponseField>

    <ResponseField name="appointment_notes" type="string">
      `HI` `PII` Appointment notes

      ```json CEL theme={null}
      appointment_notes
      ```

      ```json Example theme={null}
      "Patient needs a vaccination for vacation to the tropics"
      ```
    </ResponseField>

    <ResponseField name="appointment_created_at" type="timing.v1.Timestamp" required>
      Appointment created at time

      ```json CEL theme={null}
      appointment_created_at
      ```

      ```json Example theme={null}
      "2024-07-08T17:12:11Z"
      ```
    </ResponseField>

    <ResponseField name="appointment_updated_at" type="timing.v1.Timestamp" required>
      Appointment updated at time

      ```json CEL theme={null}
      appointment_updated_at
      ```

      ```json Example theme={null}
      "2024-07-11T12:11:04Z"
      ```
    </ResponseField>

    <ResponseField name="appointment_deleted_at" type="timing.v1.Timestamp">
      Appointment deleted at time

      ```json CEL theme={null}
      appointment_deleted_at
      ```

      ```json Example theme={null}
      "2024-07-18T12:19:19Z"
      ```
    </ResponseField>

    <ResponseField name="appointment_created_by" type="string">
      Appointment creator name

      ```json CEL theme={null}
      appointment_created_by
      ```

      ```json Example theme={null}
      "Test Patient"
      ```
    </ResponseField>

    <ResponseField name="appointment_timezone_short_name" type="string">
      Appointment timezone short name

      ```json CEL theme={null}
      appointment_timezone_short_name
      ```

      ```json Example theme={null}
      "EDT"
      ```
    </ResponseField>

    <ResponseField name="appointment_timezone_offset" type="string" required>
      Appointment timezone offset

      ```json CEL theme={null}
      appointment_timezone_offset
      ```

      ```json Example theme={null}
      "-04:00"
      ```
    </ResponseField>

    <ResponseField name="appointment_timezone_offset_seconds_east_of_utc" type="int64" required>
      Appointment timezone offset in seconds east of the Greenwich meridian

      ```json CEL theme={null}
      appointment_timezone_offset_seconds_east_of_utc
      ```

      ```json Example theme={null}
      -14400
      ```
    </ResponseField>

    <ResponseField name="appointment_patient_timezone_identifier" type="string">
      Patient's registered Healthie timezone ISO identifier

      ```json CEL theme={null}
      appointment_patient_timezone_identifier
      ```

      ```json Example theme={null}
      "America/New_York"
      ```
    </ResponseField>

    <ResponseField name="healthie_patient_record_identifier" type="string">
      `ID` Patient record\_identifier (Morf Profile ID)

      ```json CEL theme={null}
      healthie_patient_record_identifier
      ```

      ```json Example theme={null}
      "d7650d13-f865-1d52-8bfa-7b851e366a3d"
      ```
    </ResponseField>

    <ResponseField name="appointment_is_blocker" type="bool" required>
      Is the Appointment a calendar block

      ```json CEL theme={null}
      appointment_is_blocker
      ```

      ```json Example theme={null}
      false
      ```
    </ResponseField>

    <ResponseField name="appointment_type" type="object">
      Appointment Type information

      ```json CEL theme={null}
      appointment_type
      ```

      ```json Example theme={null}
      {
      "associated_provider_names": [
      "Dr. Alexander Fleming",
      "Dr. Howard Florey",
      "Dr. Ernst Chain"
      ],
      "deleted_at": "2024-09-10T11:01:02Z",
      "id": "201091",
      "length_minutes": 60,
      "name": "Intake Session",
      "user_group_id": "126642"
      }
      ```
    </ResponseField>

    <ResponseField name="appointment_type.id" type="string">
      ID of the Appointment Type

      ```json CEL theme={null}
      appointment_type.id
      ```

      ```json Example theme={null}
      "201091"
      ```
    </ResponseField>

    <ResponseField name="appointment_type.name" type="string">
      Name of the Appointment Type

      ```json CEL theme={null}
      appointment_type.name
      ```

      ```json Example theme={null}
      "Intake Session"
      ```
    </ResponseField>

    <ResponseField name="appointment_type.length_minutes" type="uint64">
      Length of the standard Appointment of this Type in minutes

      ```json CEL theme={null}
      appointment_type.length_minutes
      ```

      ```json Example theme={null}
      60
      ```
    </ResponseField>

    <ResponseField name="appointment_type.user_group_id" type="string">
      ID of the User Group associated with the Appointment Type

      ```json CEL theme={null}
      appointment_type.user_group_id
      ```

      ```json Example theme={null}
      "126642"
      ```
    </ResponseField>

    <ResponseField name="appointment_type.associated_provider_names" type="[]string">
      List of associated providers for the Appointment Type

      ```json CEL theme={null}
      appointment_type.associated_provider_names
      ```

      ```json Example theme={null}
      [
      "Dr. Alexander Fleming",
      "Dr. Howard Florey",
      "Dr. Ernst Chain"
      ]
      ```
    </ResponseField>

    <ResponseField name="appointment_type.deleted_at" type="timing.v1.Timestamp">
      Timestamp when the Appointment Type was deleted

      ```json CEL theme={null}
      appointment_type.deleted_at
      ```

      ```json Example theme={null}
      "2024-09-10T11:01:02Z"
      ```
    </ResponseField>

    <ResponseField name="appointment_day_of_week" type="string" required>
      Day of the week of the Appointment

      ```json CEL theme={null}
      appointment_day_of_week
      ```

      ```json Example theme={null}
      "Friday"
      ```
    </ResponseField>

    <ResponseField name="appointment_day_of_month" type="string" required>
      Day (ordinal) of the month of the Appointment

      ```json CEL theme={null}
      appointment_day_of_month
      ```

      ```json Example theme={null}
      "12th"
      ```
    </ResponseField>

    <ResponseField name="appointment_month" type="string" required>
      Month of the Appointment

      ```json CEL theme={null}
      appointment_month
      ```

      ```json Example theme={null}
      "July"
      ```
    </ResponseField>

    <ResponseField name="appointment_date" type="string" required>
      Month of the Appointment

      ```json CEL theme={null}
      appointment_date
      ```

      ```json Example theme={null}
      "July 12, 2024"
      ```
    </ResponseField>

    <ResponseField name="appointment_time" type="string" required>
      Time of the Appointment (in the Appointment's registered timezone)

      ```json CEL theme={null}
      appointment_time
      ```

      ```json Example theme={null}
      "10:00AM"
      ```
    </ResponseField>

    <ResponseField name="appointment_email_address" type="string">
      `PII` Patient's email address

      ```json CEL theme={null}
      appointment_email_address
      ```

      ```json Example theme={null}
      "patientzero@healthcare.org"
      ```
    </ResponseField>

    <ResponseField name="appointment_first_name" type="string">
      `PII` Patient's first name

      ```json CEL theme={null}
      appointment_first_name
      ```

      ```json Example theme={null}
      "Test"
      ```
    </ResponseField>

    <ResponseField name="appointment_last_name" type="string">
      `PII` Patient's last name

      ```json CEL theme={null}
      appointment_last_name
      ```

      ```json Example theme={null}
      "Test"
      ```
    </ResponseField>

    <ResponseField name="appointment_phone_number" type="string">
      `PII` Patient's phone number

      ```json CEL theme={null}
      appointment_phone_number
      ```

      ```json Example theme={null}
      "+15551234123"
      ```
    </ResponseField>

    <ResponseField name="dietician_organization_id" type="string">
      Organization ID for the Patient's registered dietitian

      ```json CEL theme={null}
      dietician_organization_id
      ```

      ```json Example theme={null}
      "123450"
      ```
    </ResponseField>

    <ResponseField name="dietitian_organization_id" type="string">
      Organization ID for the Patient's registered dietitian

      ```json CEL theme={null}
      dietitian_organization_id
      ```

      ```json Example theme={null}
      "123450"
      ```
    </ResponseField>

    <ResponseField name="dietitian_first_name" type="string">
      First name of the Patient's registered dietitian

      ```json CEL theme={null}
      dietitian_first_name
      ```

      ```json Example theme={null}
      "Alexander"
      ```
    </ResponseField>

    <ResponseField name="dietitian_last_name" type="string">
      Last name of the Patient's registered dietitian

      ```json CEL theme={null}
      dietitian_last_name
      ```

      ```json Example theme={null}
      "Fleming"
      ```
    </ResponseField>

    <ResponseField name="dietitian_email_address" type="string">
      Email address of the Patient's registered dietitian

      ```json CEL theme={null}
      dietitian_email_address
      ```

      ```json Example theme={null}
      "drfleming@example.com"
      ```
    </ResponseField>

    <ResponseField name="dietitian_id" type="string">
      ID of the Patient's registered dietitian

      ```json CEL theme={null}
      dietitian_id
      ```

      ```json Example theme={null}
      "100070"
      ```
    </ResponseField>

    <ResponseField name="appointment_metadata" type="object">
      *Description coming soon*

      ```json CEL theme={null}
      appointment_metadata
      ```

      ```json Example theme={null}
      null
      ```
    </ResponseField>

    <ResponseField name="actual_duration_minutes" type="uint64">
      Actual length of the Appointment (that occurred / time elapsed)

      ```json CEL theme={null}
      actual_duration_minutes
      ```

      ```json Example theme={null}
      42
      ```
    </ResponseField>

    <ResponseField name="last_updated_by_id" type="string">
      `ID` User ID for the last person to update the Appointment

      ```json CEL theme={null}
      last_updated_by_id
      ```

      ```json Example theme={null}
      "400022"
      ```
    </ResponseField>

    <ResponseField name="connected_chart_note_locked" type="bool" required>
      Is the connected Chart Note locked?

      ```json CEL theme={null}
      connected_chart_note_locked
      ```

      ```json Example theme={null}
      false
      ```
    </ResponseField>

    <ResponseField name="connected_chart_note_string" type="string">
      Connected Chart Note string

      ```json CEL theme={null}
      connected_chart_note_string
      ```

      ```json Example theme={null}
      "Not Written"
      ```
    </ResponseField>

    <ResponseField name="status_last_updated_by_id" type="string">
      User ID for the last person to update the Appointment status

      ```json CEL theme={null}
      status_last_updated_by_id
      ```

      ```json Example theme={null}
      "123456"
      ```
    </ResponseField>

    <ResponseField name="add_to_ical_link" type="string">
      Link to download an ICS file and add this Appointment to your calendar

      ```json CEL theme={null}
      add_to_ical_link
      ```

      ```json Example theme={null}
      "https://app.gethealthie.com/appointments/add_to_cal/12345678.ics?cal_export_id=Dac9JLS9Qas1PURwBcX7"
      ```
    </ResponseField>

    <ResponseField name="appointment_legal_name" type="string">
      `PII` Legal name of the Patient

      ```json CEL theme={null}
      appointment_legal_name
      ```

      ```json Example theme={null}
      "Test Patient"
      ```
    </ResponseField>

    <ResponseField name="changed_fields" type="[]string" required>
      Healthie Appointment object fields changed in triggering the event for this Appointment

      ```json CEL theme={null}
      changed_fields
      ```

      ```json Example theme={null}
      [
      "start",
      "pm_status"
      ]
      ```
    </ResponseField>

    <ResponseField name="is_group_appointment" type="bool" required>
      Whether this appointment was scheduled for a group of patients

      ```json CEL theme={null}
      is_group_appointment
      ```

      ```json Example theme={null}
      false
      ```
    </ResponseField>

    <ResponseField name="attendee_user_ids" type="[]string" required>
      The user IDs of all the attendees scheduled to be at the Appointment, or those who did attend if marked occurred

      ```json CEL theme={null}
      attendee_user_ids
      ```

      ```json Example theme={null}
      [
      "42314",
      "200023"
      ]
      ```
    </ResponseField>

    <ResponseField name="group_appointment_user_groups" type="[]object" required>
      If the Appointment is a group appointment, the user groups this Appointment was scheduled for

      ```json CEL theme={null}
      group_appointment_user_groups
      ```

      ```json Example theme={null}
      [
      {
      "created_at": "2024-07-01T11:29:19+00:00",
      "id": "123012",
      "name": "Intake"
      }
      ]
      ```
    </ResponseField>

    <ResponseField name="group_appointment_user_groups.map(x, x.id)" type="[]string" required>
      Mapped array of: ID of the User Group

      ```json CEL theme={null}
      group_appointment_user_groups.map(x, x.id)
      ```

      ```json Example theme={null}
      [
      "123012"
      ]
      ```
    </ResponseField>

    <ResponseField name="group_appointment_user_groups.map(x, x.name)" type="[]string" required>
      Mapped array of: Name of the User Group

      ```json CEL theme={null}
      group_appointment_user_groups.map(x, x.name)
      ```

      ```json Example theme={null}
      [
      "Intake"
      ]
      ```
    </ResponseField>

    <ResponseField name="group_appointment_user_groups.map(x, x.created_at)" type="[]timing.v1.Timestamp" required>
      Mapped array of: When the User Group was created

      ```json CEL theme={null}
      group_appointment_user_groups.map(x, x.created_at)
      ```

      ```json Example theme={null}
      [
      "2024-07-01T11:29:19+00:00"
      ]
      ```
    </ResponseField>

    <ResponseField name="current_position_in_recurring_series" type="int64">
      The position of the appointment in the recurring series (only specified if it's a recurring appointment)

      ```json CEL theme={null}
      current_position_in_recurring_series
      ```

      ```json Example theme={null}
      1
      ```
    </ResponseField>

    <ResponseField name="form_answer_group_id" type="string">
      The ID of the first form answer group associated with the Appointment

      ```json CEL theme={null}
      form_answer_group_id
      ```

      ```json Example theme={null}
      "30082312"
      ```
    </ResponseField>

    <ResponseField name="appointment_location_id" type="string">
      ID for the Appointment location. Note: only populated for in-person Appointments.

      ```json CEL theme={null}
      appointment_location_id
      ```

      ```json Example theme={null}
      "12345"
      ```
    </ResponseField>

    <ResponseField name="dietitian_organization_name" type="string">
      Organization name for the Patient's registered dietitian

      ```json CEL theme={null}
      dietitian_organization_name
      ```

      ```json Example theme={null}
      "BeWell Clinic"
      ```
    </ResponseField>
  </Expandable>
</ResponseField>
