Step 1: Choose the right calendar type

Go to Calendars in the left sidebar and click Add Calendar. GoHighLevel offers several calendar types. The Event Calendar is for a single person booking appointments directly. The Round Robin calendar distributes bookings across multiple team members automatically. The Collective Calendar requires all selected team members to be available before a slot is shown. The Service Calendar handles multi-service booking where customers select from a service menu.

For most solo service businesses and coaches, the Event Calendar is the right choice. For agencies where any available team member can take a discovery call, Round Robin is the correct type. For high-touch consultations where multiple team members need to attend, Collective is appropriate.

Give your calendar a name that appears on the booking page: "Free Estimate Call," "Discovery Call," "HVAC Tune-Up Booking." The name sets the expectation before the contact sees the availability grid.

Step 2: Configure availability and buffer time

Under Availability in your calendar settings, set the days and hours you are genuinely available to take appointments. Do not set wider availability than you can honour. A contact who books at a time you marked available and then gets a cancellation request loses trust immediately.

Set your appointment duration to match the realistic length of your appointment type. A free estimate call might be 30 minutes. A discovery call for coaching might be 45 minutes. A site visit might be 60 to 90 minutes. Set it accurately rather than shorter to appear more available.

Buffer time is the gap GHL adds before and after each appointment before showing the next slot as available. If you need 15 minutes between appointments for travel, notes or preparation, set a 15-minute buffer. Without buffer time, back-to-back bookings leave no room for overruns or transitions.

Minimum scheduling notice prevents same-day or last-minute bookings you cannot prepare for. Set 24 to 48 hours for most appointment types. Maximum scheduling window prevents bookings too far in advance. Most service businesses use 30 to 60 days as the maximum to avoid scheduling appointments so far out that circumstances change.

Step 3: Sync with Google or Outlook Calendar

This is the most important setup step and the one most commonly skipped. Without calendar sync, GoHighLevel shows slots as available even when you already have commitments in your personal calendar. Double-bookings happen. Contacts get cancellation requests. Trust is damaged.

In your calendar settings, click the Integrations tab. Select Google or Outlook and sign in with the account you use for your personal schedule. Once connected, you see the connected calendar listed under Check for Conflicts. Enable this setting. GHL now checks your personal calendar before offering any slot as available.

Under the same settings, enable Write New Events to Calendar. When a new appointment is booked in GHL, it automatically appears in your personal Google or Outlook calendar as an event. Your schedule stays synchronised without any manual entry.

If you manage multiple calendars in your Google account (personal, work, family), you can select which calendars GHL checks for conflicts. Most people check all calendars to prevent any overlap regardless of source.

Step 4: Set up your booking page

Every GHL calendar has a hosted booking page URL at a GHL subdomain. Find this URL under the calendar settings in the Booking Widget tab. Share this URL directly in emails, SMS messages and social media bios for immediate use without any additional setup.

Customise the booking page appearance under the Widget Customisation settings. Add your logo, set the primary colour to match your brand and write a brief description of what the appointment covers. The description appears above the calendar grid and sets context for what the contact is booking. "Book a free 30-minute estimate call. I will review your project and give you a straight answer on scope, timeline and cost" converts better than a blank calendar page.

Set the timezone display to show times in the contact's local timezone. This prevents confusion for contacts booking from a different timezone than yours. GHL handles the timezone conversion automatically once this setting is enabled.

Step 5: Customise the booking form

The booking form appears after a contact selects their preferred time slot. By default it collects name, email and phone. Add additional fields relevant to your appointment type under the Form tab in calendar settings.

For a contractor estimate booking: add a text field asking what work needs to be done and an address field for the property. For a coaching discovery call: add a dropdown asking what goal they are working toward. For a medical or professional consultation: add intake-specific questions relevant to your assessment.

Keep the form short. Every additional required field reduces booking completion rates. Ask for only what you genuinely need before the appointment. You can collect additional detail during the appointment itself or through a pre-appointment questionnaire sent in the confirmation email.

Mark the phone number field as required for service businesses where SMS reminder sequences depend on it. A booking without a phone number cannot receive your automated confirmation and reminder messages.

Step 6: Connect confirmation and reminder automations

The calendar by itself books appointments. The workflows connected to the calendar make those appointments show up reliably. Build the following workflows and connect them to your calendar using the Appointment Booked and Appointment Status Changed triggers.

Immediate confirmation: trigger is Appointment Booked, action is Send SMS with the booking details and a confirmation that the time is locked in. This fires within seconds of the booking and gives the contact immediate reassurance.

24-hour reminder: trigger is Appointment Booked, wait until 24 hours before the appointment start time (use the date-relative wait option), send SMS asking the contact to confirm they are still coming. Include a reschedule link so they can change the time without calling you.

2-hour reminder: same workflow, add another wait step until 2 hours before the appointment, send a brief same-day reminder with the location or call link.

No-show follow-up: trigger is Appointment Status Changed to No Show, wait 3 hours, send SMS offering to rebook with a direct booking link. See our full appointment reminders guide for the complete workflow setup.

Step 7: Team and round robin calendars

If multiple team members take appointments, create a Round Robin calendar rather than individual calendars per person. Go to Add Calendar and select Round Robin. Add each team member's GHL user account to the calendar. Set the distribution method: equal distribution rotates through team members in sequence, or availability-based assigns to whoever has the most availability at the time of booking.

Each team member in a round robin calendar needs their own personal calendar connected under their GHL user settings for conflict checking to work correctly. A team member without a personal calendar connected shows as always available, which can lead to double-bookings for that person.

The booking confirmation emails for round robin calendars can include the assigned team member's name using the token so the contact knows who they are meeting: "Your call is confirmed with {{assigned_user.name}} on {{appointment.start_date}} at {{appointment.start_time}}."

Step 8: Embed on your website or funnel

Under the Booking Widget tab in your calendar settings, find the Embed Code section. GHL provides an iframe snippet that you can paste into any webpage. In most website builders, add an HTML or Custom Code block and paste the snippet. The calendar renders directly on your page with your configured availability and branding.

For GoHighLevel funnel pages, add a Calendar element from the element panel in the funnel page editor. Select your calendar from the dropdown and it embeds natively without any code required.

Position the calendar embed above the fold on mobile where possible. The most common mistake is placing the booking widget at the bottom of a long page where mobile visitors never scroll to find it. Test on a real mobile device after embedding and move the calendar higher on the page if it requires scrolling to reach. See our full booking page guide for building a dedicated booking funnel around your calendar.

Free resource

Want the calendar workflow templates?

The 6-workflow cheat sheet includes the confirmation, 24-hour reminder, same-day reminder and no-show follow-up workflows ready to connect to your GHL calendar.

No spam. One email with your resource, that is it.

BuildOnAuto Team

We work inside a marketing agency and build GoHighLevel systems for contractors, coaches and local businesses. Everything we publish comes from real accounts and real results.

Ready to try it?

Start your 30-day free trial

Sign up through BuildOnAuto and get our contractor snapshot, automations and review sequences ready on day one.

No credit card required · Cancel anytime · Setup bonuses included