Appointment CRUD
Book, update, and cancel appointments linked to contacts and calendars. Supports timezone handling, status changes, and calendar sync integration.
Appointments are where leads become conversations and conversations become clients. Every booking is a commitment — from the business and the prospect. Managing appointments through MCP means you can build custom booking flows, sync appointments from external systems, and automate the entire pre-appointment and post-appointment experience.
What This MCP Tool Does
Create, retrieve, update, and cancel appointments. Each appointment links a contact to a specific time slot on a calendar. Supports timezone-aware scheduling, status management, and integration with the contact’s activity timeline.
Endpoint Reference
Create an appointment:
POST /appointments
Book a contact into a specific calendar time slot. Requires the calendar ID, contact ID, start time, and end time.
Get an appointment:
GET /appointments/{appointmentId}
Retrieve the full appointment record including contact, calendar, time, status, and metadata.
Update an appointment:
PUT /appointments/{appointmentId}
Modify appointment details — reschedule, reassign, or update status.
Cancel/delete an appointment:
DELETE /appointments/{appointmentId}
Cancel the appointment. Depending on calendar settings, this may trigger cancellation notifications.
Authentication
Requires a Private Integration Token (PIT) with the calendars scope enabled.
Key Parameters
calendarId— which calendar the appointment is booked oncontactId— the contact attending the appointmentstartTime— appointment start in ISO 8601 with timezoneendTime— appointment end in ISO 8601 with timezonetitle— optional appointment titleappointmentStatus— confirmed, showed, noshow, cancelled, invalidassignedUserId— the team member handling the appointment
Important Notes
Always include timezone information in date/time parameters. GHL handles timezone conversion, but only if you provide timezone-aware timestamps. Sending naive datetimes without timezone data leads to scheduling errors.
Verify slot availability before booking using Free Slots. Creating an appointment for an unavailable time slot may succeed but could create double-bookings depending on calendar configuration.
Appointment status changes (confirmed to no-show, for example) can trigger workflows. Use this for automated no-show follow-up, post-appointment review requests, and rebooking sequences.
Cancellation behavior depends on the calendar’s notification settings. If reminders are configured through Calendar Notifications, cancellation may trigger notification messages to the contact.
Common Questions
Should I check availability before booking? Yes. Use Free Slots to verify the time slot is open before creating the appointment.
Can I book appointments on behalf of a contact without them using the booking page? Yes. MCP appointment creation bypasses the booking page entirely. You provide the time and contact, and the appointment is created.
How do I handle no-shows? Update the appointment status to “noshow” via the update endpoint. This triggers any no-show workflows configured on the calendar.
Can I reschedule an appointment via MCP?
Yes. Update the startTime and endTime on the existing appointment record.
Related MCP Tools
- Free Slots — Check availability before booking
- Calendar CRUD — Manage the calendars appointments are booked on
- Block Slots — Block time to prevent bookings
- Appointment Notes — Add notes to appointments
- Contact CRUD — Look up or create the contact being booked