How the GoHighLevel Booking Widget Actually Works

Written by Niyamul Islam Sajal, COO & GHL Certified AdminOctober 28, 20263 min readGoHighLevel

The GoHighLevel booking widget is the embeddable calendar that turns a sub-account's availability into a page visitors can book from without leaving your website. It's generated straight from Calendar Settings rather than built separately.

Because of that, the widget always reflects whatever hours and staff you've already set up on that calendar.

To grab the code, open the calendar, click its three-dot menu, and choose Share. HighLevel's support documentation covers pasting the resulting embed code into a custom code element on another site.

Since it's a standard iframe snippet, it drops into WordPress, Webflow, Squarespace or any builder that takes raw HTML.

Before any of that matters, the calendar underneath needs to be right. Getting the hours and routing rules in order is a job for calendar setup.

And which calendar type you picked, round robin, group, or class booking, changes what the widget actually shows once it's live.

Classic widget versus the Neo widget

Every unassigned calendar defaults to the Classic style, a plain layout meant for fast setup rather than branding. Group calendars get the newer Neo style by default instead.

Only Neo lets you touch the look of the thing. Colors, backgrounds and button text are customizable there and nowhere else.

Neo also handles structure differently. Widget steps can be reordered, round robin bookings can show staff photos, and class bookings can show seat counts. Classic does none of it.

FeatureClassicNeo
Default forUnassigned calendarsGroup calendars
Colors and backgroundsFixedCustomizable
Reorder booking stepsNoYes
Staff and seat displayNoYes

Switching styles doesn't disturb bookings already on the calendar. A later redesign of Neo added a timezone selector that shows on every widget page and highlights whichever slot a visitor is hovering over.

That update, according to HighLevel's own changelog, sits behind the Labs feature, and some existing CSS tweaks may need a second look afterward.

Putting the GoHighLevel booking widget on WordPress without touching HTML

An iframe snippet in a custom HTML block works fine, but it's not the only way onto a WordPress page. The LeadConnector plugin offers a shortcode instead.

Once the calendar is built the way you want it in HighLevel, go to LeadConnector > Calendars inside WordPress, select that calendar, and copy its shortcode.

Dropping it into a page built in Elementor, Divi or the block editor routes every booking straight back to the connected sub-account, with no separate plugin or manual embed code involved.

Showing more than one calendar in the same widget

Calendar groups aren't the only route to a multi-calendar widget. Copy one calendar's ID out of its embed code, add a comma, and paste a second calendar's ID right after it.

HighLevel's support team confirms the same trick works on the plain shareable link, so you can test the combined view in a browser tab before it ever touches a page.

That's worth knowing if sales and support book through separate calendars but a contact page only has room for one widget.

Once those appointments start landing, chasing no-shows and sending reminders is a job for workflow automation, not the widget itself.

If a calendar pulling from an outside account looks wrong in the widget, the sync is usually the place to check first: see how GoHighLevel's calendar sync actually handles Google and Outlook.

Cover photo by Anna Shvets on Pexels

Sources (5)

Need help implementing this in GoHighLevel?

Our team builds, automates, and scales GoHighLevel systems for agencies every day. Book a free call and we'll map out exactly what to ship next.

Book a free call