SchedulingKit
Integrations
Native integrationCalendar

Google Calendar availability and booking sync

Connect one or more Google accounts, pick which calendars SchedulingKit should check for conflicts, and pick the calendar that receives new bookings. Clients only see times that are free on your booking page, and each booking lands in the Google Calendar you already use.

How the connection works

Connect a Google account in Settings → Integrations, then choose, calendar by calendar, which ones are checked for conflicts and which one receives new bookings. SchedulingKit refreshes your busy times every 10 minutes and checks them again at the moment a client books. Each new booking is written to Google Calendar as an event.

Features

Busy-time conflict checks
Choose which calendars block time
Choose the calendar that receives bookings
New bookings added as events
Reschedules and cancellations update the event
Gmail and Google Workspace accounts
Google Meet links on bookings
Each host connects their own calendar

Why Connect Google Calendar?

Clients can't book over meetings that are already in your Google Calendar

Your bookings appear next to everything else in the calendar you already check

Clients see only that a time is unavailable, not what the event is

On a team, each host's own calendar decides when they can be booked

How It Works

01

Open Integrations

In SchedulingKit, go to Settings → Integrations and choose Google Calendar → Connect Google.

02

Sign in with Google

Sign in and allow SchedulingKit to read and write your calendars.

03

Select calendars

Tick “Check for conflicts” on calendars that should block time, and “Add new events to this calendar” on the one that should receive bookings.

04

Let it run

Busy times refresh every 10 minutes. Use Sync Now after a big calendar change if you don't want to wait.

Google Calendar workflows

What syncs in each direction

Into SchedulingKit: busy times from the calendars marked “Check for conflicts”, refreshed every 10 minutes for the next 60 days, plus a live check when a client books. Events you've marked as “free” in Google don't block time. Out to Google: each new booking is created as an event on the calendar set to receive bookings, and when you reschedule or cancel the booking in SchedulingKit, that event is updated or removed. Moving or deleting the event inside Google doesn't change the booking, so make booking changes in SchedulingKit so your client is notified.

Team availability

Calendar connections belong to each person, not to the team. When a service has several hosts, SchedulingKit checks the calendars of every host assigned to it before offering a time, and adds the booking to the host's calendar. Google Calendar doesn't choose the host. That's decided by the service's settings in SchedulingKit. Team scheduling is included on the Pro plan and above.

Bookings from your booking page

When a client books, the event is created on every calendar you've set to “Add events to this calendar”. By default that's the primary calendar you connected. To change it, open the calendar's settings in Settings → Integrations and use “Set as primary calendar” or the “Add events to this calendar” switch. If the service's location is Google Meet, the event gets a Meet link and the link is saved on the booking.

Several accounts and calendars

You can connect more than one Google account and select individual calendars from each. A common setup is to check conflicts on both a personal and a work calendar, but send new bookings only to the work calendar. Each calendar you select counts as one connection: 1 on the Free plan, 6 on Standard, unlimited on Pro and above.

What the Google Calendar integration doesn't do

  • Busy times are refreshed every 10 minutes, with a final live check when a client books. Conflict checks look 60 days ahead.
  • Changes made to a booking's event directly in Google Calendar don't update the booking in SchedulingKit.
  • Each calendar you select counts as one connection: 1 on the Free plan, 6 on Standard, unlimited on Pro and above.

Frequently Asked Questions

Technical Details

Connection

Google sign-in (OAuth) with calendar read/write access. You choose calendars after signing in.

Sync timing

Busy times refresh every 10 minutes for the next 60 days, plus a live check at booking time. Bookings are written as they're made.

Plan limits

1 calendar on Free, 6 on Standard, unlimited on Pro and above. Each selected calendar counts.

Further Reading

Ready to Get Started?

Join 5,000+ teams using SchedulingKit

Free forever plan available • No credit card required