Book a dental appointment
book_appointmentUse this when someone asks to book a patient in at their dental practice. Returns the new appointment with its time, providers and how many procedures it holds; it takes the practice's usual length, seat and reminders, so the practice's reminder messages go to the patient. Not for finding free slots.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"patientId": "<patientId>",
"startTime": "<startTime>",
"requestId": "<requestId>"
},
"name": "book_appointment"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| clinicId | No | Id of the practice, from list_clinics. Leave it out when the user has one practice. | |
| patientId | Yes | Id of the patient, from find_patient or create_patient. | |
| requestId | Yes | A unique id you choose for this booking, such as a UUID. Calling again with the same requestId returns the first booking instead of booking twice. | |
| startTime | Yes | Start as an ISO 8601 time with the practice's UTC offset, such as 2026-11-20T10:00:00+01:00. | |
| providerIds | No | Ids of the dentists, nurses or assistants who take it, from list_clinic_providers. Leave it out when the practice has one, or the user takes appointments. | |
| procedureIds | No | Ids of the treatments booked, from list_procedures. | |
| durationMinutes | No | Length in minutes. Leave it out for the practice's usual length. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | ||
| appointment | Yes |