Calendars are where most GoHighLevel accounts start making money. A lead books a call, gets a confirmation, gets reminded, and lands in your CRM with a workflow ready to follow up. I set one up in every account I build, and the difference between a calendar that works and one that leaks bookings is almost always in the settings. Here's how I choose the type, set availability, sync Google or Outlook, add reminders and payments, and fix the times that go missing.

Short version

  • Pick the type first. Personal booking is one host, Round robin shares bookings across a team, Class booking sells seats, and Collective books everyone at once.
  • Settings are grouped into Basic details, Staff & location, Availability, Booking rules and Advanced settings.
  • Sync works best with conflict checking on every work calendar and write-back on one calendar only.
  • The Share button gives you the booking link, a one-time link, embed code and a QR code.
  • When slots go missing, the Troubleshoot tool tells you exactly why.

What GoHighLevel calendars do

A GoHighLevel calendar is a booking engine tied to your CRM. Every booking creates or updates a contact, sits on the right team member's schedule, and can start a workflow. You share it as a link, embed it on a website, or drop it into a funnel page with the Calendar element, so the same setup works everywhere a lead might book.

You'll find it under Settings, then Calendars. The page has tabs for Calendars, Preferences and My availability, and the list shows each calendar's type, duration and status, with New calendar in the top right.

GoHighLevel Calendar Settings list with the New calendar button highlighted
The calendar list, with New calendar in the top right. Screenshot from our GoHighLevel account.

Calendars are part of the core toolkit in a sub-account. You can compare what each plan includes on GoHighLevel's pricing page, and my GoHighLevel pricing guide covers the add-ons.

GoHighLevel calendar types explained

Click New calendar and the picker asks you to choose a type. Four show up front, and Explore more types opens the rest.

GoHighLevel Choose calendar type pop-up listing Personal booking, Round robin, Class booking and Collective booking
The calendar type picker, with more types underneath. Screenshot from our GoHighLevel account.
TypeBest forKey rule
Personal bookingOne-on-one calls with one hostUses the host calendar hours
Round robinSales or support teams sharing bookingsEach booking goes to one available member
Class bookingGroup sessions, workshops, classesOne host, many attendees, set seats
Collective bookingMeetings that need several peopleOnly shows times when everyone is free
Service calendarSalons, clinics, studios with several servicesAvailability comes from assigned staff
Event calendarFixed events with no hostNeeds a static meeting link

Personal booking

This is the one most people need. One host, one attendee, the host's hours. HighLevel says you need a Personal booking calendar even if you live in Google Calendar, because it holds the rules: availability, buffers, duration and reminders.

Round robin

Round robin needs at least one team member and shares bookings out between them. It checks the first member, then the next, until it finds someone free, and visitors never see a time when nobody is available. If you allow more than one appointment per slot, slot capacity decides how many can book the same time.

Class booking

One host, many attendees. You set the number of seats per class, run it on a recurring schedule, and can turn on Accept payments to charge per seat. If you want visitors to see how many seats are left, turn on Show seats per slot under Calendar Widget Style. It only works on Class calendars with more than one seat.

Collective booking

Collective merges the availability of everyone assigned and offers only the times that suit all of them. It needs at least two team members and a Primary Owner. Only the assigned user gets the email notification, but everyone gets the calendar invite through Google, Outlook or iCloud. If you take payment, the booking is only made once the payment is confirmed.

Service calendars and the Service Menu

Service calendars are built for physical services like haircuts or treatments. You turn them on in Calendar Settings under Preferences, and HighLevel says only agency admins can change that setting. Availability comes entirely from the staff you assign, so there are no calendar hours to set, and they don't support meeting locations like Zoom or Google Meet.

A Service Menu puts several service calendars on one booking page. Each service needs its own Service calendar assigned to a calendar group, because only grouped calendars can go on a menu. Then you create the menu with a name, description, URL slug and optional form, pick the services and drag them into order. HighLevel lists some limits on the Service Menu: Stripe is the only payment option, cards aren't saved, there are no in-app payments and no coupon codes. The newer Services tab you can see at the top of Calendars is the upgraded version that removes those limits, with variations, add-ons, staff pricing and locations.

Event calendar

Event calendars sit under Explore more types. They have no host, so dynamic Zoom, Meet or Teams links aren't supported and you paste a static link instead. Conflict calendars aren't checked, and bookings only sync to the calendar you choose under External Sync.

Which type should I pick?

If youPick
Take one-on-one calls yourselfPersonal booking
Want leads spread across a sales teamRound robin
Run a class or webinar with limited seatsClass booking
Need two or more people on every callCollective booking
Sell several in-person services with staffService calendars and a Service Menu
Run a fixed event with a shared linkEvent calendar

Before you start

Do two things first. Make sure every person who will take bookings is a user in the sub-account, because calendars can only be assigned to users. Then have each user connect their own Google, Outlook or iCloud calendar and set a Primary calendar with Check for conflicts turned on in their profile. That setting covers their team calendars too: Round robin, Service, Class and Collective. I explain the sync options fully further down.

Partner offer

Free 30 day trial + 2 months free on annual

Connect your calendar free for 30 days Sync Google or Outlook, set your hours and take your first booking before you pay.

Free trial
30 days
Annual saving
2 months free
In the trial
Full access to your plan
Terms set by GoHighLevel
Applied automatically through our linkClaim 30 days free

How to create a calendar step by step

  1. Open Calendar Settings and click New calendar. Go to Calendars, then Calendar Settings, and click New calendar. Choose your type. For a first calendar, I'd pick Personal booking.
  2. Basic details and custom URL. Give the calendar a friendly name, pick the host, review the custom URL and set the meeting duration. Clients see the name and the URL, so keep both short and clear. Click Confirm and the full settings open, grouped into sections down the left. If you miss a required field, HighLevel highlights it when you save.
  3. Staff and meeting location. Under Staff & location, choose who takes the meetings and where they happen. You can use a phone number, an address, a custom value, or a video link. Zoom, Google Meet and Microsoft Teams links are generated for each booking once you connect them under Video conferencing in the Connections tab.
  4. Availability. Availability is where the calendar decides which times to show. Set your Weekly hours day by day and use Copy to other days to save time. Date-specific hours override the weekly pattern, which is how I handle holidays and one-off late days. Check the timezone at the top, too.
  5. Booking rules. Booking rules control how people book: how much notice you need, how many bookings a day you'll take, and how many people can book the same slot. These are exactly the rules that show up later in the Troubleshoot tool when a time is missing, so set them on purpose rather than leaving defaults.
  6. Advanced settings. Advanced settings has its own sections: Form & confirmation, Payments, Notifications & policies, Widget appearance and Booking channels. Pick the form people fill in when they book, decide whether they see a thank-you message or go to your own page, and style the widget to match your brand. I cover notifications and payments in their own sections below.

Availability, slot interval and buffers

GoHighLevel calendar Availability panel with the weekly hours highlighted
Weekly hours in the Availability panel, with date-specific hours on the next tab. Screenshot from our GoHighLevel account.

Two more settings shape the slots. The slot interval sets how often a time appears, for example every 30 minutes. The date range sets how far ahead people can book.

Buffers live here too. A pre buffer reserves time before each appointment and a post buffer reserves time after it, for prep, travel or notes. They cut into bookable time, and if you use both, they can stack: an existing booking's post buffer and a new booking's pre buffer both have to fit. If you want the most slots, HighLevel suggests using only one of the two. Buffers from a user's other calendars can also affect their availability on Round robin and Collective calendars.

Faster option: Calendar Setup Assistant

HighLevel also has a Calendar Setup Assistant, an AI side panel that builds a calendar from plain-language answers. It's handy for a first draft, then you check every section yourself. HighLevel says it may only be available to eligible accounts while it rolls out, so don't worry if you don't see it yet.

Share or embed your booking widget

Open the calendar and click Share. The pop-up has four tabs: Scheduling link, One-time link, Embed code and QR code. The scheduling link follows your slug, and there's also a Permanent link that keeps working even if you change the slug. I use the permanent link on business cards and anywhere I can't easily update later.

GoHighLevel Share calendar pop-up with scheduling, one-time link, embed code and QR code tabs
The Share pop-up, with the scheduling and permanent links. Screenshot from our GoHighLevel account.

To put the calendar on a website outside GoHighLevel, copy the code from the Embed code tab and paste it into a custom HTML block. On a GoHighLevel funnel or website, use the Calendar element in the builder instead, which picks the calendar for you. A One-time link works for a single booking, which I use when I send a private time to a client. Before sharing anything, open the link in a private window and book a test appointment.

Sync Google Calendar and Outlook

This is the part people get wrong most, so here's how it works in plain terms. The Connections tab in Calendar Settings lists Google, Outlook (Office 365, Outlook.com, live.com and Hotmail), iCloud and Calendly, with Google Meet, Zoom and Microsoft Teams under Video conferencing.

GoHighLevel Connections tab listing Google, Outlook, iCloud and Calendly calendars
Calendar and video connections in GoHighLevel. Screenshot from our GoHighLevel account.

Once you're in your own staff view, connections are added from Add new. There's also a Private mode for synced events that hides their details, so others only see that you're busy.

GoHighLevel connected calendars panel with the Add new button highlighted
A user with no connected calendars yet, and the Add new button. Screenshot from our GoHighLevel account.

Connected, conflict and write-back calendars

  • Connected account: the Google, Outlook or iCloud account you've linked.
  • Conflict calendars: the calendars GoHighLevel checks before showing a time. Only events marked Busy block slots. Events marked Free stay open.
  • Write-back: the calendar GoHighLevel adds its bookings to. Turn it on for one calendar only, your main work calendar. Turning it on for several is how you get duplicates.

Showed and No-show statuses stay in GoHighLevel and don't push to Google or Outlook. If a red banner appears, reconnect the account. If events aren't showing, check that Sync Events is on. If people can still book over a busy event, conflict checking isn't enabled on that calendar.

When a Google connection breaks, go to Settings, then Integrations, then Google, and click Reconnect. HighLevel says upcoming appointments that didn't sync will sync automatically after you reconnect. If you also want Gmail in your conversations, my Gmail integration guide covers that side.

Team calendars: everyone connects their own

A Round robin or Collective calendar is only as accurate as each member's own sync. Every user needs their own connection, their own primary calendar and conflict checking on. One member skipping this is the most common reason a team calendar double-books.

Confirmations and reminders

Every calendar has a Notifications section under Notifications & policies. The list covers Appointment booked for unconfirmed and confirmed status, Cancellation, Reschedule, Reminder and Follow-up, each with its own Email, In-app, SMS and WhatsApp channels.

GoHighLevel calendar Notifications list showing booked, cancellation, reschedule, reminder and follow-up notifications
The Notifications list, with channels for each message. Screenshot from our GoHighLevel account.

For a simple calendar, these are enough. When I want more control over timing and wording, I use a workflow instead, starting from HighLevel's Appointment Confirmation + Reminder template. My workflow templates guide has the confirmation and no-show flows I use. Texting US numbers needs A2P 10DLC registration first, SMS costs are in my SMS pricing guide, and WhatsApp costs are in my WhatsApp pricing guide. If confirmation emails land in spam, my guide on GoHighLevel emails going to spam walks through the fixes.

Take payments when someone books

First connect a payment provider under Payments, then Integrations. HighLevel supports Stripe, NMI, Authorize.net, Razorpay, Square and PayPal, but Razorpay, NMI and Square don't work on the Classic widget or the Service Menu, and only your default provider is used.

Then open the calendar's Payments section and tick Accept payments. Add the amount and description, and use Test mode until you've made a test booking, then switch to Live. You can charge upfront or just collect the card without charging it, and a $0 amount skips the card step. Partial payments don't work with recurring calendars.

GoHighLevel calendar Payments section with the Accept payments option highlighted
Accept payments, with a note that no payment provider is connected yet. Screenshot from our GoHighLevel account.

As you can see, the option tells you when no provider is connected, with a Manage payment providers link next to it.

Common calendar errors and how I fix them

When times go missing, I don't guess. I open the calendar's Troubleshoot tool, pick a date, and it shows a status code for each slot it hid. These are the ones I see most:

StatusWhat it meansFix
USERNo available team member for that timeAssign a user or widen their hours
CONFLICTA busy event on a conflict calendarMark the event Free or adjust conflict calendars
BOOKEDThe slot is already takenRaise slot capacity if you allow more
NOTICEInside your minimum noticeShorten the notice period
TOOFARBeyond your date rangeExtend how far ahead people can book
DAYLIMITThe daily booking limit is reachedRaise the limit
BUFFERA pre or post buffer overlapsShorten buffers or use only one
NO SEATSA class is fullAdd seats or another class

The tool has other codes too, including COLLECTIVE, BLOCKED, SLOTMAX, DURATION, PAST, LOOKBUSY and RESOURCE. HighLevel's list of causes for missing slots is the same story: configuration, no team member, duration and interval, buffers, external conflicts, timezone and capacity. If a time looks wrong rather than missing, check the timezone on the calendar and in the user's profile first.

My calendar setup checklist

  • Your user has a connected calendar, a primary calendar for write-back and conflict checking on.
  • The calendar type fits how you meet: one host, a team rotation, a group class or a joint meeting.
  • Duration, slot interval and weekly hours are set, with date-specific hours for holidays.
  • Buffers, minimum notice and daily limits match how you actually work.
  • Location is set, with a video link that generates automatically if you use Zoom, Google Meet or Teams.
  • The booking form asks only for what you need.
  • Confirmation and reminder notifications are on for the right channels.
  • Payments are tested in Test mode before you switch to Live.
  • You have booked a test appointment from the link in a private window.

Once a calendar works in one account, save the sub-account as a snapshot so new clients start with it. My snapshots guide shows how. If you'd like AI to book calls for you, see my Conversation AI and Voice AI guides.

Partner offer

Free 30 day trial+ 2 months free on annual

  • 30 days instead of the public 14
  • Full access to the plan you choose
  • Cancel any time before it ends
Claim 30 days freeApplied automatically through our linkTerms set by GoHighLevel

Common questions

How do I set up a calendar in GoHighLevel?

Go to Calendars, open Calendar Settings and click New calendar. Pick a type, such as Personal booking for one-on-one meetings, then add a name, host, URL, duration and hours and click Confirm. After that, work through Availability, Booking rules and the Advanced settings, then share the link from the Share button.

What calendar types does GoHighLevel have?

The type picker shows Personal booking, Round robin, Class booking and Collective booking, with more under Explore more types, including Event calendars. Service calendars and the Service Menu are for businesses that sell several services, and they're turned on in Calendar Settings under Preferences.

What's the difference between Round Robin and Collective?

Round Robin gives each booking to one available team member, so the work is shared out. Collective books every assigned team member into the same meeting and only shows times when all of them are free. Collective needs at least two team members.

How do I sync Google Calendar with GoHighLevel?

Open the Connections tab in Calendar Settings, click Add new and connect your Google account. Then choose which Google calendars to check for conflicts, so busy events block times, and turn on write-back for one calendar so GoHighLevel bookings appear there too. Each team member connects their own calendar.

Why is my GoHighLevel calendar not showing available times?

The usual causes are no team member assigned, hours or date range set too tight, buffers, minimum notice, daily limits, busy events on a conflict calendar, or a timezone mix-up. Use the Troubleshoot tool on the calendar, which gives a status code for why each slot is blocked.

How do I embed a GoHighLevel calendar on my website?

Click Share on the calendar, open the Embed code tab, copy the code and paste it into a custom HTML block on your site. On a GoHighLevel funnel or website page, use the Calendar element in the builder instead, so you don't need the code.

Can I collect payment when someone books?

Yes. Connect a payment provider under Payments, then turn on Accept payments in the calendar's Payments settings and set the amount. Stripe, NMI, Authorize.net, Razorpay, Square and PayPal are supported, though not every one works on every widget, and only your default provider is used.

How do I send appointment reminders?

Each calendar has a Notifications section with a Reminder notification you can send by email, in-app, SMS or WhatsApp. For more control over timing and wording, use a workflow such as HighLevel's Appointment Confirmation + Reminder template.

The verdict

GoHighLevel's calendars do everything a booking tool should, and because they live in your CRM, every booking can trigger follow-up, reminders and payment without another app.

Start with one Personal booking calendar, connect your own calendar with write-back on one calendar only, take a test booking, then add team calendars once that runs cleanly.

Try GoHighLevel free for 30 days

Checked against HighLevel's help guides on setting up a booking calendar, Service calendars, Service Menus, pre and post buffers and embedding calendars, plus its guides to Round robin, Class, Collective and Event calendars, linked and conflict calendars, calendar payments and the Troubleshoot tool, and screens from our own GoHighLevel account.

Some links on this page are partner links. How that works is explained on our affiliate disclosure page.