Dental practices: diary booking
A GoHighLevel calendar for every dentist, in step with the real diary
When GoHighLevel (GHL) shows a dentist as free while the practice system has them with a patient, every booking tool on top is guessing. We built a connector that gives each dentist a HighLevel calendar blocked against their real availability, and keeps bookings, moves and cancellations matching in both directions.
The job
What diary booking means inside HighLevel
A dental schedule is not one calendar. Each dentist works their own hours, takes their own appointment types and blocks out their own days. The practice management system holds that diary, and the front desk trusts it over anything else. A HighLevel calendar is only useful if it shows exactly the same gaps.
So each dentist gets a HighLevel calendar of their own. The connector reads that dentist's diary from the practice system and blocks the HighLevel calendar wherever the diary is already taken. A booking made in HighLevel is written into the practice system. A move or a cancellation made in either place shows up in the other, so nobody has to fix two diaries by hand at the end of the day.
The calendars stand on their own. Staff can book into them, a booking link can sit on the practice website, and anything added later books against the same real availability. None of it waits on an AI agent being switched on, which is why we build the calendars first.
One thing that broke this was HighLevel itself. When a new user login is created, HighLevel quietly gives it default working hours. On a dentist's calendar those default hours can hide real free time, so a dentist with open slots in the practice system shows almost nothing to book. The rule now is to set each dentist's real hours on the day their login is made.
The connector also keeps its footprint small. It stores its own access tokens and nothing else, and health information stays in the appointment notes inside the practice system, never in HighLevel.
What we set up
What we built for diary booking
Live in a practice's own accounts, handed over with a runbook.
- One HighLevel calendar per dentist, blocked wherever that dentist's diary in the practice system is taken
- A two-way sync: a booking, move or cancellation made in HighLevel or in the practice system appears in the other
- Real working hours set on every dentist's HighLevel login when the login is created, not left on HighLevel's defaults
- A connector that sends the identifying header the practice system's API asks for on every request, and stores only its access tokens
- Code, hosting and connected apps set up in accounts the practice owns, not in ours
- A handover runbook, so the practice or the next developer it hires knows how the connector runs
How a setup runs
From first call to a working diary connection
A 1:1 with Rob
We go through how the dentists' diaries are laid out in your practice system, who books what, and which appointment types each dentist takes.
A plan you sign off
The plan document lists every dentist calendar, the hours on each, and any message a patient will see, written word for word. Nothing is connected until you approve it.
Built in your accounts
We deploy the connector into hosting the practice owns, create each dentist's calendar, and set every login's working hours by hand.
QA report at handover
You get a QA report with evidence for each direction of the sync, screenshots included, along with the runbook.
Changes after launch
A dentist joins, leaves or changes days. You ask for the change and get a verdict first: covered by the agreed scope, or new scope agreed before work starts.
What you bring
What the practice provides
API access to your practice system
Your practice system has to allow an outside connection. You request or approve the API access, and the credentials stay in your accounts.
Hosting and app accounts in your name
The connector runs in accounts the practice owns, so we set them up there with you rather than on servers of ours.
Each dentist's real hours
Who works which days, and which appointment types each dentist takes. These become the hours on every HighLevel login.
Where it stops
This job is the calendars and the connector. It puts no charts, treatment notes or health answers into HighLevel, and it is not an AI receptionist: an AI agent on top is a separate piece of work with its own plan and tests.
Questions
Questions about diary booking
Does this replace booking in our practice management system?
Why would a dentist suddenly show no free slots in HighLevel?
Does patient health information go into HighLevel?
Who owns the connector once it is built?
Can we add an AI agent on top later?

Who you talk to
Rob Eason
Rob runs HLAI Experts and takes the 1:1 calls himself.
He is a HighLevel Certified Admin with the second-most reviews in HighLevel's Certified Admin Directory worldwide, all of them 5 out of 5.
He won HighLevel's Top New Subaccounts via AI Employee award in its 2025 Summer of AI Awards and taught HighLevel's official masterclass on its AI Employee.
Before HighLevel, he co-owned a 60-employee financial services firm and sold his share.
On the call he looks at your account, not a script.
5/5 across 83 reviews in HighLevel's Certified Admin DirectoryShow Rob how your dentists' diaries are laid out
Rob will look at your practice system and your HighLevel account together and tell you what a calendar per dentist would take in your setup.