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": []
}
]