Why Your Booking Page Needs Real Google Calendar Sync (Not Just .ics Attachments)
Last updated: May 7, 2026
Free Scheduling Page
Booking page with live two-way Google Calendar sync. Free for 1 calendar.
Try It Free →You set your booking page availability to Mondays 10 AM to 4 PM. Someone books you for Monday 2 PM. Your calendar already had a doctor's appointment that Monday 2 PM. The booking page didn't know, because it never actually checked your calendar. It just used the static availability rules you typed in. Result: a double-booking, an awkward email, a lost client.
Last updated: May 2026
The Two Models
Booking pages connect to Google Calendar in one of two fundamentally different ways:
Model A: .ics email attachment only
The booking happens against your static availability rules (the windows you typed into the booking page settings). When someone confirms, the system sends you a confirmation email with a .ics calendar attachment. You open the attachment and add it to your calendar manually (or your email client does it for you).
This is a one-way push: bookings flow from the booking page to your calendar, but the booking page has no idea what's already on your calendar. It will happily double-book you against existing events, recurring meetings, or anything else that's not encoded in your static availability rules.
Model B: Live two-way sync via OAuth
You authorize the booking page to read your calendar and create events on it. When someone tries to book a slot, the page checks your real calendar in real time: are you actually free at 2 PM Monday, or is there an existing event there? If there's a conflict, the slot is hidden from the booker. When they confirm a real free slot, the event is created on your calendar automatically.
This is a two-way conversation: the page reads your availability live and writes new events back. Double-bookings become structurally impossible.
Why Model A Still Exists
Model A is cheaper to build and avoids the OAuth verification process (Google requires a verification process for apps that read sensitive calendar data). Many "free booking page" tools take this shortcut and call it "calendar integration." Technically true; functionally insufficient.
The downside they don't tell you: you're trusting your static availability rules to be perfectly accurate every single day. They never are. You forgot you had a dentist appointment. Your kid's school called an early pickup. A team meeting got moved. Anything that lives only on your calendar (not in your booking page settings) is invisible to the booker.
Why Model B Is Worth the Setup Friction
The setup friction of Model B is one click: "Connect Google Calendar," approve the OAuth consent screen, done. The ongoing benefit is enormous: every booking attempt checks your real calendar in real time. The booking page becomes a trustworthy proxy for your actual schedule, not a hopeful guess at it.
Specific scenarios where Model B saves you:
- Recurring meetings. Your weekly team sync at Tuesday 11 AM is on your calendar but probably not in your booking page rules. Model A double-books; Model B doesn't.
- Last-minute additions. A client emails Monday morning asking for a Wednesday call. You add it to your calendar. Without two-way sync, your booking page still shows that Wednesday slot as open and someone else can book it.
- Multi-purpose calendars. Your Google Calendar holds work meetings, personal appointments, and side-project commitments all in one place. Static booking rules can't model this complexity. Live sync just looks at the actual calendar state and respects whatever is on it.
- Cancellations. A meeting on your calendar gets cancelled and freed up. Without sync, the booking page didn't know that slot was busy and didn't know it freed up. With sync, the slot opens automatically for new bookings.
What Live Sync Actually Reads
When you authorize live calendar sync, the booking page typically reads:
- Event start and end times (to determine free vs busy windows).
- Whether the event is set to "busy" or "free" (you can mark events as free if you don't want them to block bookings; useful for non-blocking events like reminders or birthdays).
- The all-day flag (so all-day events like "out of office" block all bookings that day).
It typically does NOT read:
- Event titles or descriptions (so the content of your private meetings stays private).
- Attendee lists.
- Locations.
- Recurring rule details (just the resolved instances).
The minimum data necessary for free vs busy detection. Bookers see only what time slots are open, not why other slots are blocked.
What Live Sync Writes
When someone confirms a booking, the page writes one event to your connected calendar:
- Title (typically the meeting type name plus the booker's name).
- Start and end times.
- Description (often includes the booker's email and any intake question answers).
- Attendees (you and the booker; the booker gets a calendar invite).
- Location or video conference link if configured.
The event behaves like any other event on your calendar: you can edit it, reschedule it, add notes to it. If you delete it from your calendar, the booking page typically also marks it cancelled (depending on the tool's settings).
The OAuth Approval That Matters
The OAuth consent screen will ask you to approve two scopes:
- calendar.readonly: permission to read your calendar's free/busy state.
- calendar.events: permission to create new events on your calendar.
Both are necessary for two-way sync. If you only approve readonly, the page can prevent double-bookings but can't add new events. Most tools require both for the full workflow.
You can revoke this approval anytime from your Google Account security settings, which immediately disconnects the booking page from your calendar.
Free Tier Calendar Sync
Live two-way Google Calendar sync used to be a paid-only feature on most booking page tools. EveryFreeTool's free scheduling page includes full live two-way sync on the free tier with 1 connected Google Calendar. That covers the case for almost everyone (most people only have one work calendar).
If you have multiple calendars (work and personal Google accounts, or work plus a side-project calendar) and want the booking page to check all of them simultaneously, that requires Pro at $8.99 a month. The reasoning: if your personal calendar has a Tuesday afternoon dentist appointment that should block work bookings, you want both calendars feeding into the availability check. Free tier supports 1 calendar; Pro supports multiple.
Cross-Zone Reality Check
Calendar sync handles time zone conversion automatically. Events on your calendar are stored with their actual time zone; the booking page converts them into the booker's local time when displaying availability. You don't need to do anything special. If you want to sanity-check what your availability looks like to a booker in a different region (London, Tokyo, Pacific time), use the world clock or time zone converter to verify before publishing your page.
The One-Click Test
If your current booking page doesn't have live calendar sync, here's the cheapest way to verify the difference matters:
- Add a fake event to your Google Calendar at a time that's currently within your booking page's availability window (say, Monday 2 PM next week).
- Open your booking page from an incognito browser as if you were a booker.
- Check if the Monday 2 PM slot is shown as available.
If yes, you don't have live sync. The booking page is going to double-book you eventually; it's just a matter of when.
World Clock
Current time in 200+ cities. Useful for sanity-checking cross-zone availability.
Try It Free →Frequently Asked Questions
Will the booking page see the contents of my private meetings?
No. The OAuth scope used for live sync (calendar.readonly) gives the booking page access only to free/busy state and event time ranges. Event titles, descriptions, attendees, and locations are NOT readable. The page knows you're busy at 2 PM Monday but not what you're doing. Privacy is preserved.
What happens if I disconnect the calendar later?
The booking page reverts to using only your static availability rules (the windows you set up in the page settings). Existing bookings already on your calendar stay there; new bookings will only respect the static rules and may double-book against your real calendar. You can reconnect anytime to restore live sync. To fully revoke, do it from your Google Account security settings, which is a stronger disconnection than the in-app option.
Can I use multiple Google Calendars?
On EveryFreeTool's free tier, no; one calendar at a time. On Pro at $8.99 a month, yes; the booking page checks all your connected calendars simultaneously when determining availability. Useful for people with separate work and personal Google accounts.
Does this work with Outlook or Apple Calendar?
Live sync currently only supports Google Calendar. Outlook and Apple Calendar users can still receive .ics calendar attachments in their booking confirmation emails, which most calendar apps add to your calendar with one click. Native Outlook and Apple Calendar live sync is on the roadmap.
How often does the booking page check my calendar?
Real-time. When a booker opens your booking page and views availability for a specific date, the page makes a fresh API call to Google Calendar at that moment to check your free/busy state for that date. There's no caching window where stale data might surface, so a meeting you added 30 seconds ago is already factored into what bookers see.