Calendar CRUD
Create, update, and delete calendars with availability rules, buffer times, and booking settings. Supports round-robin, collective, and service calendar types.
Calendars are how GHL turns website visitors into booked appointments. Every booking page, service menu, and scheduling widget is powered by a calendar. Managing calendars through MCP means you can programmatically create booking systems for new clients, configure availability rules across locations, and adjust calendar settings based on business logic — all without touching the UI.
What This MCP Tool Does
Full CRUD operations on calendar records. Create new calendars with availability rules and booking configurations, retrieve calendar settings, update configurations, list all calendars in a location, and delete calendars you no longer need. Supports all calendar types including round-robin, collective, service, and class booking.
Endpoint Reference
Create a calendar:
POST /calendars
Create a new booking calendar with availability rules, buffer times, team assignments, and booking page settings.
Get a calendar:
GET /calendars/{calendarId}
Retrieve the full calendar configuration.
Update a calendar:
PUT /calendars/{calendarId}
Modify any calendar setting — availability, buffer times, team assignments, booking page appearance.
List all calendars:
GET /calendars
Returns every calendar configured in the location.
Delete a calendar:
DELETE /calendars/{calendarId}
Remove a calendar. Existing appointments are not affected, but new bookings can no longer be made.
Authentication
Requires a Private Integration Token (PIT) with the calendars scope enabled.
Key Parameters
name— calendar display namecalendarType— round_robin, collective, service, classteamMembers— array of user IDs assigned to the calendaravailability— scheduling rules (days, hours, timezone)slotDuration— appointment length in minutesslotBuffer— buffer time between appointmentsappointmentPerSlot— how many bookings per time slot (relevant for classes)
Important Notes
Calendar types determine the booking behavior. Round-robin distributes appointments evenly across team members. Collective requires all team members to be available. Service calendars are one-to-one. Class calendars support multiple attendees per slot.
Availability rules define when bookings can happen. They’re timezone-aware, so a calendar set to Eastern time shows appropriate slots regardless of the booker’s timezone.
Deleting a calendar doesn’t cancel existing appointments. It only prevents new bookings. Always check for and handle existing appointments before deleting.
Common Questions
Can I create a calendar programmatically for each new client? Yes. This is ideal for agency sub-account provisioning. When onboarding a new client, create their booking calendars via MCP with pre-configured settings.
How do I set which days and hours are available? The availability parameter accepts a structured object defining available days, start/end times, and timezone. Configure this per your client’s business hours.
Can I create different calendars for different services? Yes. Create a service-type calendar for each service with its own duration, buffer, and team assignment.
Do calendar changes affect existing appointments? Changes to availability rules affect future bookings only. Existing appointments stay on their originally booked time.
Related MCP Tools
- Appointment CRUD — Book appointments on calendars
- Free Slots — Check available time slots
- Block Slots — Block off unavailable time
- Calendar Groups — Organize calendars into groups
- Calendar Notifications — Configure appointment reminders