Use API keys or OAuth to securely authenticate requests between GHL and your app.
Follow best practices for securing tokens, rotating credentials, and limiting access to calendars.
– POST /calendars/ create calendar; – PUT /calendars/:calendarId update; – DELETE /calendars/:calendarId delete; – GET /calendars/ list; – GET /calendars/:calendarId get; – GET /calendars/:calendarId/free-slots list available slots; – GET /calendars/groups list; – POST /calendars/groups create group; – PUT /calendars/groups/:groupId update; – DELETE /calendars/groups/:groupId delete; – POST /calendars/groups/validate-slug validate slug; – PUT /calendars/groups/:groupId/status update status; – calendars.readonly; – calendars.groups.readonly; – calendars.resources.readonly; – GET /calendars/resources/:resourceType
Trigger: user creates a calendar in your app and you push it to GHL.
Actions: create, update, and delete calendars using POST/PUT/DELETE.
Method/Path: POST /calendars/
Key fields: id, name, timeZone, color.
Trigger: fetch calendars and free slots with GET /calendars/:calendarId/free-slots.
Actions: retrieve calendars and available data without modifying resources.
Method/Path: GET /calendars/ and GET /calendars/:calendarId/free-slots
Key fields: id, availableSlots, startTime, endTime.
Trigger: manage calendars groups and permissions via endpoints.
Actions: create/update groups, assign calendars, update statuses.
Method/Path: POST /calendars/groups
Key fields: groupId, name, calendarIds, status.
Automate scheduling without writing code.
Fast integration using REST endpoints and webhooks.
Scalable calendar management across teams and departments.
This glossary explains core concepts and processes used when connecting GHL to the Calendars API.
A calendar resource representing events and available slots.
A URL path that performs operations on a resource.
A callback URL used to notify events between systems.
The process of validating identity and permissions to access resources.
Create a unified view by syncing calendars between GHL and your app.
Use free slots to propose optimal meeting times automatically.
Leverage calendar groups to manage permissions and visibility.
Register your app in GHL and obtain API key and client secret.
Use OAuth 2.0 or API tokens to securely authenticate requests.
Start with POST /calendars/ to create calendars, then manage with other endpoints.
You can authenticate using API keys or OAuth tokens. Start by creating a client in GHL, then use the provided credentials to sign requests from your app. Always keep credentials secure and rotate them regularly.
The Calendars API exposes endpoints for creating, reading, updating, and deleting calendars and groups, as well as managing resources and availability. Consult the endpoint list to choose the right actions for your use case.
Yes. You can fetch calendars and free slots without modifying data. Use read-only endpoints to check availability before scheduling.
No-code options let you connect via Zapier or webhooks, but you can also build a custom integration using the REST endpoints and authentication.
Handle errors with standard HTTP status codes, retry logic, and proper error messages. Respect rate limits and use caching where possible.
Yes. You can manage groups and permissions for calendars to control who can view or modify calendars and events.
Yes. Use test environments or sandbox endpoints when available, and simulate real-world requests to validate your integration before going live.
Due to high volume, we will be upgrading our server soon!
Complete Operations Catalog - 126 Actions & Triggers