GoHighLevel's built-in calendar and booking system eliminates manual appointment scheduling for therapists and counselors by allowing clients to book directly online with automatic reminders and intake forms. The system integrates with your existing calendar apps, manages waitlists automatically, and significantly reduces no-shows through SMS and email reminder sequences.
Setting up GHL's calendar for your therapy practice takes about 30 minutes and replaces expensive third-party booking tools like Calendly or Acuity. You'll have a professional booking system that connects directly to your CRM and triggers automated workflows when clients schedule appointments.
What is GoHighLevel Calendar & Booking System
GoHighLevel's calendar is a complete scheduling solution built into the platform that handles everything from initial booking to appointment reminders. Unlike standalone booking tools, it's fully integrated with your CRM, so every appointment automatically creates or updates a contact record with their booking history.
The system offers three main calendar types: round-robin for distributing appointments across team members, collective where all team members must be available, and service menu for different appointment types with varying durations. For most therapy practices, you'll use either round-robin if you have multiple therapists or a simple individual calendar for solo practitioners.
What makes GHL calendar powerful is the two-way sync with Google Calendar and Outlook. When you block time for personal appointments in your regular calendar, those slots automatically become unavailable for client booking. The system also handles time zones automatically, showing available slots in the client's local time zone to prevent confusion.
The booking widget can be embedded directly on your website or shared as a standalone link. Clients see your real-time availability, pick their preferred slot, and complete any intake forms you've configured. Everything happens without you touching a single button.
How to Create Your First Therapy Calendar in GHL
Creating a calendar in GoHighLevel starts in the Calendars section of your dashboard. Click "Calendars" in the left sidebar, then hit the big "Create Calendar" button to launch the setup wizard.
Step 1: Choose Calendar Type
- Select "Round Robin" if you have multiple therapists and want appointments distributed evenly
- Choose "Collective" if all therapists need to be available for group sessions
- Pick "Service Menu" if you offer different session types (individual therapy, couples counseling, etc.)
- For solo practitioners, start with a basic individual calendar
Step 2: Configure Basic Settings
- Name your calendar something clear like "Therapy Sessions" or "Dr. Smith Appointments"
- Set the default appointment duration (50 minutes is standard for therapy)
- Add a description that appears on your booking page
- Choose your time zone (this is crucial for accuracy)
The calendar name appears on your booking page, so make it professional but friendly. Something like "Schedule Your Session with Dr. Johnson" works better than generic titles. The description field lets you add context about what to expect, office location, or preparation instructions.
Don't worry about getting everything perfect initially. You can modify these settings anytime without affecting existing bookings. The key is getting your first calendar live so you can start testing the booking flow.
Setting Up Your Availability and Business Hours
Your availability settings control when clients can book appointments and prevent scheduling conflicts. GHL lets you set different availability for each day of the week, plus add breaks and buffer times between sessions.
In the availability section, start by setting your core business hours. Most therapists work Monday through Friday, 9 AM to 6 PM, but you can customize this completely. Click on each day to set specific hours or mark certain days as unavailable.
Essential Availability Settings:
- Set a 15-minute buffer between appointments to avoid back-to-back scheduling chaos
- Block lunch breaks (12-1 PM is common) so clients can't book during your break
- Add prep time before your first appointment and wind-down time after your last
- Set minimum advance notice (24 hours prevents last-minute bookings when you can't prepare)
- Configure maximum booking window (3 months ahead prevents booking too far out)
The buffer time setting is critical for therapy practices. Without it, you'll end up with appointments scheduled back-to-back with no time to write notes, use the restroom, or mentally prepare for the next client. Fifteen minutes gives you breathing room without wasting large chunks of your day.
You can also set different availability for different services. Maybe you do couples therapy on weekends but individual sessions during weekdays. The service menu calendar type handles this perfectly, letting you assign different time slots to different appointment types.
Pro tip: Set your first appointment 30 minutes after your official start time and end 30 minutes before closing. This gives you admin time at the beginning and end of each day without feeling rushed.
Configuring Appointment Confirmations and Reminders
Automatic confirmations and reminders are where GHL calendar really shines for therapy practices. The system sends immediate booking confirmations, then follows up with reminders leading up to the appointment to reduce no-shows.
In the confirmation settings, you'll configure what happens immediately after someone books. This typically includes an email confirmation with appointment details, office location, and any pre-session instructions. You can also send an SMS confirmation for clients who prefer text messages.
Setting Up Confirmation Messages:
- Go to the "Confirmations" tab in your calendar settings
- Enable email confirmations and customize the subject line
- Write a friendly confirmation message with appointment details and office info
- Include your cancellation policy and any preparation instructions
- Enable SMS confirmations for clients who provide phone numbers
- Test both email and SMS by booking a test appointment yourself
The reminder system works on a schedule you control. Most therapy practices send reminders 24 hours before the appointment and again 2 hours before. You can customize these messages to include specific instructions like "bring your insurance card" or "arrive 10 minutes early for new patient paperwork."
Here's what a good reminder message looks like: "Hi [First Name], this is a reminder about your therapy session tomorrow at [Appointment Time] with Dr. Smith. Our office is located at [Address]. Please arrive 10 minutes early if you have new paperwork to complete. Reply STOP to opt out."
The SMS reminders have incredibly high open rates (around 98%) compared to email, making them your best tool for reducing no-shows. But don't spam people. Two reminders maximum, and always include the opt-out option to comply with regulations.
Adding Pre-Appointment Intake Forms
Intake forms attached to your calendar booking save enormous amounts of time during the actual appointment. Instead of spending the first 15 minutes collecting basic information, you can dive straight into the therapeutic work.
GHL lets you attach custom forms to your calendar that clients complete immediately after booking. These forms can collect insurance information, medical history, current medications, and specific concerns they want to address in therapy.
Creating Effective Intake Forms:
- Go to Sites > Forms and create a new form called "Therapy Intake"
- Add fields for contact info, insurance details, emergency contact, and medical history
- Include questions about current medications and previous therapy experience
- Ask about specific goals and what brought them to seek therapy
- Attach this form to your calendar in the booking flow settings
- Set the form as required so clients can't complete booking without filling it out
Keep your intake form focused but comprehensive. Basic demographics, insurance information, and reason for seeking therapy are essential. Medical history and current medications are important for safety. But don't make it so long that people abandon the booking process.
The form data automatically populates the client's contact record in your CRM. When they arrive for their appointment, you can review their intake information beforehand instead of scrambling to read it while they're sitting across from you.
Important: Make sure your intake forms comply with HIPAA requirements if you're collecting medical information. GHL is HIPAA-compliant, but your forms need to include proper privacy notices and consent language.
You can create multiple intake forms for different services. New client intake might be comprehensive, while returning client forms focus on current status and session goals. This flexibility helps you gather the right information without overwhelming anyone.
Connecting Google Calendar for Two-Way Sync
Two-way calendar sync is essential for preventing double bookings and keeping your personal and professional schedules aligned. When you connect Google Calendar to GHL, your existing appointments automatically block booking slots, and new GHL bookings appear in your regular calendar app.
The setup process is straightforward but requires careful attention to which calendar you're syncing. Most therapists have multiple Google calendars (personal, work, family), so make sure you're connecting the right one to avoid privacy issues.
Setting Up Google Calendar Sync:
- In your GHL calendar settings, click "Integrations" then "Connect Google Calendar"
- Authorize GHL to access your Google account (this creates the two-way connection)
- Choose which Google calendar to sync with (create a dedicated "Work" calendar if needed)
- Select "Two-way sync" so existing Google events block GHL booking slots
- Test the sync by creating an appointment in Google Calendar and checking if that time becomes unavailable in GHL
- Book a test appointment through GHL and verify it appears in your Google Calendar
The sync usually takes 5-10 minutes to process changes, so don't panic if you don't see updates immediately. This slight delay prevents the systems from overwhelming each other with constant updates.
One huge benefit of two-way sync: you can block time for administrative tasks, continuing education, or personal appointments directly in Google Calendar, and clients won't be able to book during those blocked periods. This gives you control over your schedule without manually updating availability in multiple places.
If you use Outlook instead of Google Calendar, GHL supports that integration too. The setup process is nearly identical, just choose "Connect Outlook" instead of Google Calendar in the integrations section.
Adding the Booking Widget to Your Website
Getting your calendar booking widget onto your website makes it easy for potential clients to schedule appointments without leaving your site. GHL provides several embedding options depending on how your website is built and where you want the booking widget to appear.
The simplest approach is embedding the widget directly into a page on your website. GHL generates an iframe code that you can paste into any webpage. This creates a seamless booking experience where clients never leave your site to schedule appointments.
Embedding Your Booking Widget:
- Go to your calendar settings and click "Widget/Link" to get the embed code
- Choose "Inline Embed" for a widget that appears directly on your page
- Copy the iframe code provided by GHL
- Paste this code into your website where you want the booking form to appear
- Test the widget by visiting your website and booking a test appointment
- Adjust the width and height parameters if the widget doesn't fit your page layout perfectly
If you prefer a popup booking widget, GHL offers that option too. Instead of taking up permanent space on your page, the popup appears when visitors click a "Schedule Appointment" button. This approach works well for websites with limited space or multiple call-to-action buttons.
For the popup option, you'll get two pieces of code: a small script that goes in your website's header and a button code that goes wherever you want the "Schedule" button to appear. The popup automatically matches your website's colors and fonts for a professional look.
You can also create a standalone booking page if embedding widgets feels too technical. GHL provides a direct URL to your booking calendar that you can link to from anywhere. This works perfectly for email signatures, social media profiles, or simple "Book Now" links on your website.
Pro tip: Add the booking widget to multiple pages on your website. Put it on your services page, contact page, and even your homepage if space allows. The easier you make it for people to book, the more appointments you'll get.
If you want to dive deeper into website optimization, i wrote about this in my guide to setting up funnels and landing pages for therapists that covers advanced website integration techniques.
Managing Waitlists and Cancellations Automatically
Waitlist management becomes automatic once you set up GHL's cancellation and rebooking workflows. When someone cancels an appointment, the system can immediately notify people on your waitlist and offer them the newly available time slot.
The waitlist feature works by capturing contact information from people who try to book when you're fully booked. Instead of turning them away, GHL offers to notify them when appointments become available. This turns booking frustration into future revenue.
Setting Up Automatic Waitlist Management:
- Enable the waitlist feature in your calendar settings
- Create a workflow that triggers when someone cancels an appointment
- Set up an SMS or email that immediately goes to waitlisted contacts
- Include a direct booking link for the newly available time slot
- Set a time limit (like 2 hours) for waitlisted people to claim the spot
- If nobody claims it, send the notification to the next person on the waitlist
The key to effective waitlist management is speed. When someone cancels a Thursday afternoon appointment, you want waitlisted clients to get notified within minutes, not hours. The faster the notification, the more likely someone will grab that spot.
You can set up multiple waitlists for different types of appointments. Maybe you have separate waitlists for individual therapy, couples counseling, and initial consultations. This lets you match the right people to the right appointment types when spots open up.
For the notification message, keep it simple and urgent: "Hi [First Name], a therapy appointment just became available for [Day] at [Time]. This spot typically books quickly. Click here to claim it: [Booking Link]. You have 2 hours to book before we offer it to the next person on our waitlist."
This system practically eliminates the revenue loss from last-minute cancellations. Instead of eating the cost of an empty appointment slot, you're filling it with someone who was already interested in booking with you.
The automation side of this gets pretty sophisticated. You can learn more about setting up these types of workflows in my complete guide to GHL automation for therapists and counselors which covers advanced scenarios like this.
Ready to Set Up Your Therapy Booking System?
Setting up GoHighLevel's calendar and booking system for your therapy practice eliminates the manual work of appointment scheduling while providing a professional experience for your clients. The combination of automated reminders, intake forms, and waitlist management typically reduces no-shows and increases booking efficiency significantly.
The entire setup process takes about an hour from start to finish,