Scheduling Tools
8 tools for managing appointments, checking availability, and syncing calendars.
frontdesk_check_availability
Check available time slots for a given date range and service type. Accounts for staff schedules, existing bookings, buffer times, and business hours.
tools/frontdesk_check_availability| Parameter | Type | Description |
|---|---|---|
daterequired | string | Date to check availability for (ISO 8601). |
service_type | string | Type of service/appointment to filter available slots. |
staff_id | string | Check availability for a specific staff member. |
duration_minutes | number | Required appointment duration in minutes.Default: 30 |
const result = await mcp.callTool("frontdesk_check_availability", {
date: "2025-01-20",
service_type: "annual_checkup",
duration_minutes: 60
});{
"date": "2025-01-20",
"available_slots": [
{
"start": "2025-01-20T09:00:00Z",
"end": "2025-01-20T10:00:00Z",
"staff": { "id": "staff_01", "name": "Dr. Sarah Johnson" }
},
{
"start": "2025-01-20T14:00:00Z",
"end": "2025-01-20T15:00:00Z",
"staff": { "id": "staff_01", "name": "Dr. Sarah Johnson" }
},
{
"start": "2025-01-20T10:30:00Z",
"end": "2025-01-20T11:30:00Z",
"staff": { "id": "staff_02", "name": "Dr. Michael Chen" }
}
],
"timezone": "America/New_York"
}frontdesk_book_appointment
Book a new appointment. Validates availability before confirming, sends confirmation notifications to both the patient and staff member, and creates calendar events.
tools/frontdesk_book_appointment| Parameter | Type | Description |
|---|---|---|
patient_namerequired | string | Full name of the patient. |
patient_phonerequired | string | Patient phone number. |
patient_email | string | Patient email for confirmation. |
start_timerequired | string | Appointment start time (ISO 8601). |
duration_minutes | number | Appointment duration.Default: 30 |
service_typerequired | string | Type of appointment. |
staff_id | string | Preferred staff member. |
notes | string | Additional notes for the appointment. |
send_confirmation | boolean | Send SMS/email confirmation.Default: true |
frontdesk_reschedule_appointment
Reschedule an existing appointment to a new date and time. Notifies all parties and updates connected calendar integrations.
tools/frontdesk_reschedule_appointment| Parameter | Type | Description |
|---|---|---|
appointment_idrequired | string | The appointment to reschedule. |
new_start_timerequired | string | New appointment start time. |
reason | string | Reason for rescheduling. |
notify_patient | boolean | Send notification to the patient.Default: true |
frontdesk_cancel_appointment
Cancel an appointment and optionally notify the patient. Cancellation policies (e.g., 24-hour notice) are enforced based on workspace configuration.
tools/frontdesk_cancel_appointment| Parameter | Type | Description |
|---|---|---|
appointment_idrequired | string | The appointment to cancel. |
reasonrequired | string | Reason for cancellation. |
notify_patient | boolean | Send cancellation notice.Default: true |
waive_fee | boolean | Waive any cancellation fee.Default: false |
frontdesk_list_appointments
List appointments with filtering options. Useful for getting a daily schedule view or finding upcoming appointments for a specific patient.
tools/frontdesk_list_appointments| Parameter | Type | Description |
|---|---|---|
date | string | Filter by specific date. |
date_from | string | Start of date range. |
date_to | string | End of date range. |
staff_id | string | Filter by staff member. |
patient_phone | string | Filter by patient phone. |
status | string | Filter: scheduled, completed, cancelled, no_show.Default: all |
limit | number | Max results.Default: 20 |