Skip to main content
CAL

Calendar CRUD

Calendars & Scheduling · Intermediate · Updated March 2026

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 name
  • calendarType — round_robin, collective, service, class
  • teamMembers — array of user IDs assigned to the calendar
  • availability — scheduling rules (days, hours, timezone)
  • slotDuration — appointment length in minutes
  • slotBuffer — buffer time between appointments
  • appointmentPerSlot — 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.