Book Appointment Action

Create or book a new appointment.

This action is available in API version 65.0 and later.

Supported REST HTTP Methods

URI: /services/data/vXX.X/connect/health/appointment-management/appointment

Where XX.X is the latest API version.

Formats: JSON, XML

HTTP Methods: POST

Authentication: Authorization: OAuth2 Bearer TOKEN

Where TOKEN is your OAuth access token.

Inputs

Input Type Description
appointmentTypes Array Required, if none of workTypeId, serviceTypes, or serviceCategories is provided.

Type of appointment, for example, Follow-up.

channelId String Required, if an engagement channel is configured for a visit type.

The engagement channel associated with the appointment.

comment String Optional

The notes associated with the appointment. Maximum length is 256 characters.

description String Optional

The description of the appointment.

endDate String Optional

The end time of the appointment.

participants Array Required. Patient and Facility (Location) are mandatory. Additionally, either a Device (asset) or a Provider is required for a single resource appointment, and both are required for a multi-resource appointment.

List of participants involved in the appointment.

serviceCategories Array Required, if none of workTypeId, serviceTypes, or appointmentTypes is provided.

List of broad categorizations of the service to be performed during this appointment.

serviceTypes Array Required, if none of workTypeId, appointmentTypes, or serviceCategories is provided.

List of specific services that are to be performed during this appointment.

slots Array Required, if the appointment is being booked for an external resource.

List of references to the slots that this appointment is filling.

sourceSystem String Required, if workTypeId is not provided but one of appointmentTypes, serviceTypes, or serviceCategories is provided.

Describes the external system defined in Salesforce, such as "cerner".

specialties Array Optional

List of the specialty of a practitioner that would be required to perform the service requested in this appointment.

startDate String Required

The start time of the appointment.

timeZone String Optional

Creates the appointment in the specified time zone.

workTypeId String Required, if none of appointmentTypes, serviceTypes, or serviceCategories is provided.

The visit type associated with the appointment.

Outputs

Output Type Description
id String The ID of the Appointment.
isSuccess Boolean Indicates whether the appointment was created successfully.
status String The status of the Appointment, such as Scheduled or Rejected.
errorMessages Array A list of errors that occurred, if any.

Example

Sample Request

{
    "workTypeId": "08qxxG000000Axq6xxC",
    "channelId": "0eFxx000000NNOVxx0",
    "description": "Discussion",
    "startDate": "2025-07-21T18:00:00.000Z",
    "endDate": "2025-07-21T18:30:00.000Z",
    "comment": "Payload for the testing",
    "participants": [
        {
            "reference": "Patient/001xx000012udqQxxQ"
        },
        {
            "reference": "Practitioner/0bSxx0000005JoaxxE",
            "isReferenceRequired": true
        },
        {
            "reference": "Facility/001xx000012udqhxxA"
        }
    ]
}

Sample Response

[
    {
        "id": "08pxx000000Axq6xxC",
        "isSuccess": true,
        "status": "scheduled",
        "error": []
    }
]