GHL Implementation Horse Business Marketing Case Studies Blog Contact Work With Me
← Back to Blog GoHighLevel
June 2026  ·  8 min read

How to Set Up GHL Calendars the Right Way for Agency Clients


Most GHL calendar problems I inherit aren't random. They're predictable. Double-bookings, missed confirmations, reps getting slammed while others sit idle — almost always traces back to someone picking the wrong calendar type at setup and never fixing it. This post is going to fix that.

Here's exactly how I set up calendars for agency clients, which type I use and when, and the mistakes I see constantly that I want you to stop making.

The Three Calendar Types and What They're Actually For

GHL gives you three calendar types: Simple, Round Robin, and Collective. They're not interchangeable, and picking wrong creates headaches that feel like workflow bugs but are really just config issues.

Simple Calendar is a single-seat calendar. One person, one booking link. This is what I use for solopreneurs, single consultants, or situations where a specific person needs to be booked — not just "someone on the team." If your client is a one-woman coaching practice, she gets a Simple Calendar. Done.

Round Robin is for teams where any available rep can take the call. A law firm with four intake coordinators. A real estate brokerage where leads get routed to whoever's free. Round Robin distributes bookings automatically based on availability and — if you turn it on — weighted priority. This is the calendar type most agencies should be using for sales teams and lead intake, and it's the one most people set up wrong.

Collective Calendar is for meetings that require multiple people to attend simultaneously. Think panel interviews, strategy sessions with an account manager plus a technical lead, any scenario where the booking only works if everyone is available at the same time. GHL checks all connected users' availability before showing an open slot.

If you're not sure which one to use: ask your client how many people could realistically take this appointment, and whether all of them need to be there or just one. That answer tells you everything.

Calendar Groups: Why Every Client With Multiple Booking Types Needs One

Before you touch calendar types, you need to understand calendar groups — and most agencies skip this entirely.

A calendar group is a container that holds multiple calendars and presents them on a single booking page. Instead of sharing three separate links (one for a 15-minute discovery call, one for a 60-minute strategy session, one for an onboarding call), your client shares one group URL. The prospect picks the meeting type they need and books directly.

Here's why this matters operationally: when you don't use groups, tracking gets fragmented. Every calendar has its own link, its own workflow triggers, and its own confirmation flow. You end up with duplicate automation logic, inconsistent confirmation emails across booking types, and clients who can never remember which link to share for which type of call.

With a calendar group, you build the booking experience once. Set the group landing page, assign calendars to it, and that's the URL that goes everywhere — in the email signature, on the website, in the follow-up sequence.

I set up a calendar group for every client who has more than one booking type. Even if they only have two calendars right now, the group gives you a clean place to add more later without rebuilding the workflow infrastructure.

To create one: in GHL, go to Calendars > Calendar Groups > Create Group. Give it a name your client will recognize, assign the relevant calendars, and configure the group display settings. You can set it to show all calendars at once or prompt the contact to answer a question first to filter which calendar they're directed to — useful if the booking type depends on the contact's situation.

How I Configure Round Robin Calendars for Agency Clients

Round Robin is where I spend most of my calendar setup time because there's more to get right.

First, make sure every team member's calendar is actually connected. Not just added to the system — connected. There's a difference. In GHL, each user needs to have their Google or Outlook calendar synced under their profile, and that sync needs to be verified. I've taken over sub-accounts where a rep had been "on" a Round Robin calendar for months but their personal calendar was disconnected, so they were receiving bookings into a void. Their availability never blocked off. Double-bookings everywhere.

Second, set buffer times. I always add at least 15 minutes before and after appointments. Clients almost never think to ask for this and then wonder why their team feels frantic. Build it in at setup.

Third, decide on your distribution method. GHL lets you distribute by availability (true round robin) or by priority weighting. This is the setting most people gloss over, and it's the one that can quietly create real problems.

How weighted priority actually works: When you assign priority weights, GHL uses those weights to determine which rep gets a booking when multiple reps are available at the same time. A rep with a weight of 3 will receive roughly three times as many bookings as a rep with a weight of 1 — it's proportional, not sequential.

Here's a real scenario where this matters. I worked with a sales team where the lead closer had an 80% show rate and a 40% close rate. The other two reps were newer — show rates were fine but close rates were half that. The client wanted the hot leads (those who had engaged with multiple emails before booking) going to the senior rep first. We set her weight to 3 and the others at 1. Result: she was getting the majority of same-time-availability bookings while the other two still got steady volume. They could have built this with manual lead assignment logic, but weighted Round Robin handled it automatically.

If it's a pure team effort with no reason to favor one rep, use equal distribution — all weights set to 1. But make a conscious choice. The default is equal distribution, and I've had clients assume that's what they had when they'd accidentally set different weights and one rep was getting 60% of bookings without anyone realizing it.

Fourth, confirm your meeting duration and lead time settings. Lead time (the minimum notice before someone can book) should match how your client actually operates. A service business that needs 48 hours to prepare for a consult should not have a 1-hour lead time. I typically set lead time to 24–48 hours for professional services unless there's a specific reason for same-day availability.

Connecting Calendars to Pipelines and Automations

A calendar that doesn't connect to the rest of the CRM is a scheduling app. That's not what GHL is for.

Here's how I wire it up for every client:

When a booking is made, it should trigger a workflow. At minimum, that workflow should:

  1. Tag the contact with the appointment type
  2. Move them to the appropriate pipeline stage (usually something like "Appt Booked" or "Awaiting Consult")
  3. Send a confirmation email and/or SMS immediately
  4. Deliver a complete reminder sequence before the appointment

I use the "Appointment Status" trigger in workflows, not just the "Form Submitted" trigger. The difference matters because appointment status triggers fire on changes — booked, cancelled, no-showed, completed. This lets me build re-engagement flows for no-shows without having to manually track them.

What a Complete Reminder Sequence Actually Looks Like

This is the part most agencies half-build. They set up one confirmation email and call it done. A complete reminder flow is what keeps show rates high.

Here's the sequence I build for every professional services client:

Immediately after booking — confirmation email + SMS. The email confirms the date, time, and format (Zoom link, phone number, or address). It includes a calendar file attachment (.ics) so they can add it with one click. The SMS is short: "Hey [First Name], you're confirmed for [date] at [time] with [rep name]. Add it to your calendar: [link]." Don't bury the details — state them clearly and immediately.

48 hours before — reminder email. This one does a bit more work. It re-states the appointment details, includes the Zoom link prominently, and gives them a one-click link to reschedule if needed. I also include a short "what to have ready" section if the appointment requires any prep — it increases show quality, not just show rate. Keep it short. Three to five sentences of prep instructions max.

24 hours before — SMS reminder. One message. "Reminder: you're scheduled with [rep name] tomorrow at [time]. Here's your Zoom link: [link]. Need to reschedule? [reschedule link]." That's it. No pitch, no fluff.

1 hour before — final SMS. "[First Name] — your call with [rep name] starts in 1 hour. Join here: [Zoom link]." Short. Direct. This is the one that catches people who forgot.

Build all four of these in a single workflow triggered off the appointment booked status. Set them as wait steps (Wait Until: 48 hours before appointment date, etc.) rather than relative delays from booking, so they fire at the right time regardless of when the contact booked.

For high-ticket appointments, I also add a no-show branch: if the appointment status changes to "No-Showed," the workflow branches into a re-booking sequence. First touchpoint is within the hour — "We missed you. Life happens. Here's a link to grab another time." Second touchpoint 24 hours later. Then it hands off to the rep for a personal follow-up if there's still no response.

The Most Common Calendar Setup Mistakes I Fix

1. Using Simple Calendar for a team.

I see this constantly. A client has three salespeople and they've given each one a separate Simple Calendar, then created some manual process to decide who gets leads. Round Robin exists for this reason. Consolidate it, connect the team, let GHL distribute automatically.

2. Not using calendar groups.

If a client has multiple calendar types (say, a 15-minute discovery call and a 60-minute strategy session), they should be organized into a calendar group. The group gives you a single landing page with all booking options. Without it, you're sharing multiple separate links, contacts get confused, and tracking gets messy.

3. Forgetting timezone settings.

GHL will display in the user's timezone by default, but if you're setting up a client whose customers are in a different timezone, you need to verify the calendar is set correctly. I've seen a client on the East Coast whose booking calendar was defaulting to Pacific time — her first appointment slots every day showed up as 9 AM Pacific (noon her time) and she was confused why no one was booking mornings.

4. Not testing the confirmation flow before going live.

I always do a test booking before handing a calendar to a client. Every single time. I book a fake appointment using a test contact, go through the whole flow, confirm the confirmation email arrives, check that the workflow triggers correctly, and make sure the calendar invite shows up with the right Zoom or phone number in the details. Fifteen minutes of testing saves hours of troubleshooting after launch.

5. Leaving the default cancellation and reschedule settings.

GHL allows contacts to cancel and reschedule through the confirmation email link. This is great — except the default settings often allow cancellation up to the minute of the appointment, which wrecks client schedules. I set a cancellation cutoff (usually 24 hours) and make sure the reschedule window is configured to require the same lead time as initial bookings.

When Things Break After Setup

If a calendar was working and then starts behaving wrong, the first things I check are calendar sync status, workflow triggers, availability hours, and the conflict-check setting. Here's what the symptoms actually look like and how I diagnose each one.

Symptom: Double-bookings. Almost always a disconnected calendar sync. The tell is that it's happening for a specific rep, not all of them. Go to that user's profile, check their connected calendar under Integrations, and verify the sync is active. Google and Outlook connections expire or lose permissions — this is more common than it should be. Re-authenticate the connection. If the double-bookings were happening for all reps simultaneously, check the "check for conflicts" setting on the calendar itself. If that toggle is off, GHL isn't cross-referencing personal calendar events at all.

Symptom: Confirmation emails not sending, or sending twice. This is almost always a workflow trigger issue. Check whether there are duplicate workflows both triggered by the same appointment event. I've inherited accounts where someone duplicated a workflow "just to test something" and never deleted the original. Both fire on every booking. Fix: audit active workflows filtered by the appointment trigger and disable any duplicates. If confirmations aren't sending at all, check whether the workflow is active (not draft) and whether the trigger is set to "Appointment Status > Booked" not just "Form Submitted."

Symptom: No available slots showing for contacts even when the calendar should have openings. Check the rep's availability hours in their user profile — not the calendar settings, their profile. Someone may have changed their working hours in GHL, which overrides calendar availability. Also check whether the calendar's date range is configured correctly. If there's a hard end date set on the calendar and you're past it, nothing will show as available. I've seen this trip up clients who set up a calendar for a limited-time offer and forgot to extend the date window when they kept the booking type going.

Symptom: Appointments showing up in the wrong timezone for contacts. The calendar itself has a timezone setting separate from the user's profile timezone. Go into the calendar settings and confirm the timezone is set to what the client actually wants displayed. If you want contacts to see times in their own local timezone, enable the "Show time in contact's local timezone" option. If that's already on and it's still wrong, check whether the contact's profile has a timezone set — GHL pulls from the contact record first.

Calendar issues in GHL almost always fall into one of these patterns. Systematic diagnosis is faster than guessing.

Get Your GHL Setup Done Right

I set up GHL sub-accounts for marketing agencies, including full calendar configuration, workflow connections, and pipeline integration. No cutting corners, no "we'll fix it later." Tell me about your project.

Tell Me About Your Project →