Connect a calendar
Open Integrations in the dashboard and choose Connect, or use the API:"provider": "gohighlevel", "credentials": {"token": "pit-..."} and "config": {"locationId": "..."}.
The connection is checked right away; one that is refused is not saved, and the reason comes back in message. Keys and tokens are never returned by the API and never reach your agents. GET /v1/integrations/{id}/calendars lists what you can book on (Cal.com event types, GoHighLevel calendars), and POST /v1/integrations/{id}/test checks the connection again.
Turn on booking for an agent
On the agent’s Tools tab, under Appointment booking, choose the connection, the calendar and the appointment length. Or setbooking on the agent:
check_availability(optionaldate,days_ahead) returns the open times, read in the agent’s time zone, with a rule to offer only those times.book_appointment(date,time,first_name, andlast_name,email,phone,noteswhen known) books the time and confirms it. Cal.com sends the invite to the caller’s email, so the agent asks for one; GoHighLevel creates or updates the contact by phone or email.
check_availability or book_appointment (for example the hosted Cal.com connector), those keep working and the built-in ones are not added. Disconnecting a calendar turns booking off for the agents that used it.