PepoSmart
IntegrationsPricingBlogAffiliates
LoginSign up free
  1. Home
  2. /Blog
  3. /How to Prevent Double Booking Across Multiple Calendars (Google, Outlook and iCloud)
Scheduling

How to Prevent Double Booking Across Multiple Calendars (Google, Outlook and iCloud)

Written by

Zakir Shaikh

Reviewed by

Yash Havalimane
October 20, 2026
18 min read
Share:
Close-up of a printed calendar showing May and August with weekend dates in red

Most double bookings are not carelessness. Your commitments live in three or four places, a work Microsoft 365 calendar, a personal Gmail calendar, a family iCloud calendar your partner adds dentist appointments to, and whatever is taking the booking can only see one of them. The fix is to decide which calendars count as busy, make sure the thing taking bookings can actually read them, and put a visible marker on the calendars it cannot read. This guide covers why it happens, what Google, Microsoft and Apple offer natively (and how stale their shared feeds can get), how scheduling tools check conflicts, and a setup and audit routine you can run in under an hour.

Quick answer: Double booking across calendars happens when whatever takes the meeting cannot see busy time on your other calendars. Prevent it by connecting every calendar that holds commitments to one scheduling tool and checking each for conflicts, writing new bookings to a single destination calendar, and adding private busy placeholders where you cannot connect or colleagues book you directly. Native sharing helps, but subscribed ICS feeds refresh on the provider's schedule, which Microsoft says can exceed 24 hours.

Key takeaways

  • Double booking across calendars is a visibility problem. The calendar or booking page taking the meeting cannot see busy time held somewhere else.
  • Seeing two calendars side by side in one app is not the same as blocking time. An overlay helps you; it tells a colleague or a booking page nothing.
  • Direct connections to Google or Microsoft are checked live. Subscribed ICS feeds are copies that refresh on the subscribing app's schedule.
  • A scheduling tool should read many calendars and write to one. Reading decides what is busy; writing decides where the meeting lives.
  • Event status matters as much as the connection. An event marked Free or Available blocks nothing in a tool that reads free/busy.
  • For calendars a tool cannot read, or that other people schedule into directly, add private busy placeholders.

What is double booking, and why does it keep happening?

Double booking is when the same person accepts two commitments for the same time. On a single calendar it is rare, because the calendar shows the clash. Across several calendars it is common, because each calendar only knows about its own events.

Two terms make the rest of this guide easier. A conflict calendar is any calendar whose busy events should stop someone from booking you. A destination calendar is the single calendar where a scheduling tool writes new bookings. Almost every multi-calendar double booking traces back to a calendar that should have been a conflict calendar and was not, or to an event that sat on the right calendar with the wrong status.

CauseSymptomFix
A calendar with real commitments is not connected to your booking toolPeople book over personal appointments or a second jobConnect the account and check that calendar for conflicts
The account is connected, but a secondary or shared calendar inside it is not checkedEvents on "Family" or "Clients" are ignored while the primary calendar worksTick every calendar that represents your own time
The event is marked Free or AvailableThe event is on your calendar but the slot is still offeredChange the event to Busy
An all-day event has the status you did not expectA reminder blocks a whole day, or a day off blocks nothingCheck Busy or Free on all-day entries; use your tool's time-off setting for days off
A subscribed ICS feed has not refreshedChanges you made today are not respectedUse a direct connection for anything that changes at short notice
Colleagues schedule you in your work calendar, but bookings land on your personal oneA teammate invites you over a meeting they cannot seePut a private busy placeholder on the work calendar
Two booking links or tools each check different calendarsTwo people book the same slot through different linksRetire one, or make both read the same calendars
The calendar connection expired or access was revokedConflicts stop being checked with no obvious errorReconnect, and audit connections monthly
Busy times are cached brieflyA slot you just blocked stays bookable for a minute or twoWait a couple of minutes before testing
The schedule's time zone is wrong after travel or a moveOffered hours are shifted by your time differenceSet the schedule's time zone explicitly

Can Google, Outlook and iCloud prevent double booking on their own?

Partly. All three let you share or publish a calendar so another account can see when you are busy. None of them stops a booking unless the person or tool doing the scheduling actually looks at that shared view. Here is what each offers and where it falls short.

Share free/busy between Google accounts

Google Calendar lets you share a calendar with a specific person or account and choose how much they see. The lowest level, "See only free/busy (hide details)", shows only when you are busy, not event names or details, according to Google's calendar sharing help. To share a personal calendar with your work account:

  1. In Google Calendar on a computer, find the personal calendar under "My calendars", open its options menu and choose Settings and sharing.
  2. Under "Shared with", add your work email address.
  3. Choose "See only free/busy (hide details)" and send the invitation.
  4. Open the invitation from the work account and add the calendar.

This is a live view of the real calendar, not a copy. The limits are practical. A work or school administrator decides whether sharing is allowed at all, and sharing only helps when whoever schedules you looks at the shared calendar. A booking tool connected to your work account benefits only if it lets you tick calendars shared into that account.

Subscribe with an ICS link (the "secret address")

An ICS feed is a web address that publishes a calendar in the iCalendar format so other apps can subscribe to a read-only copy. Google calls its private version the "Secret address in iCal format", found under Settings, then your calendar, then Integrate calendar. Google's help page on syncing with other programs is blunt that only you should know this address, and offers a Reset button that issues a new one if it leaks.

The bigger limitation is freshness. A subscription is not a live connection; the subscribing app downloads the feed on its own schedule. Microsoft's help page on subscribing to calendars says updates in Outlook.com "should happen approximately every 3 hours" but can take more than 24 hours, and gives approximately every 6 hours for Outlook on the web with a work or school account. Google's page on adding a calendar from a URL does not publish a refresh interval at all. Plan as though an appointment you add this morning will not reach the other side until later.

Do not confuse subscribing with importing. An imported .ics file is a one-time snapshot of the events at the moment of import and never updates.

Add your Google calendar to Outlook

People mean two different things by this. You can add the Google account itself to the Outlook app (or to Apple Calendar), which Google's help page above describes as syncing with your Google Account: both calendars appear in one window and you can edit either. Or you can subscribe Outlook to Google's secret address, which gives a read-only copy with the refresh delay described above.

Either way, keep the distinction that causes most confusion: viewing is not blocking. Seeing your Google events overlaid inside Outlook warns you about a clash. It does not add busy time to your Microsoft 365 calendar, so colleagues using it still see you as free, and a booking page connected only to the Microsoft account still offers the slot.

Share free/busy in Microsoft 365 and Outlook

Outlook's sharing levels start at "Can view when I'm busy", which shows when you are busy but not details such as the event location, per Microsoft's guide to sharing your calendar in Outlook on the web. The same page flags two limits: your organization may disable sharing or limit it to people inside the organization, and if you publish an ICS link instead, "how often your ICS calendar syncs depends on the recipient's email provider." Organizations that run both Google Workspace and Microsoft Exchange have one more option: an administrator can set up Google's Calendar Interop so that users on each system can look up the other's free/busy.

Share an iCloud calendar publicly

iCloud Calendar can share privately with other iCloud users or publicly. Turning on Public Calendar gives you a link to copy, and the person you share it with does not need to be an iCloud user, according to Apple's iCloud calendar sharing guide. That public link is what Google needs, because Google only lets you add a calendar by URL if the calendar is public. Two caveats: a public calendar publishes your events, not just busy blocks, so treat the link as sensitive; and the copy in Google refreshes on Google's schedule.

Smartphone screen displaying a full-year calendar view
Every calendar app can show your other calendars; far fewer turn what they show into busy time
Native methodWhat the other side seesHow currentCan a booking tool use it?Best for
Google free/busy sharingBusy blocks onlyLiveOnly if the tool checks calendars shared into the accountPersonal and work Google accounts
Google secret address or published ICS linkFull events (Outlook lets you publish less detail), read-onlySubscriber's refresh scheduleSometimes, if the subscribed copy appears in a connected accountCalendars that rarely change
Outlook "Can view when I'm busy"Busy blocks onlyLive within Microsoft accountsOnly through the account that receives the shareColleagues and assistants
A Google account added inside Outlook or Apple CalendarEverything, to you onlyLive in that appNo; it is a view, not busy timeSeeing everything in one window
iCloud public calendarFull eventsSubscriber's refresh scheduleIndirectly, after subscribing into GoogleiCloud-only personal or family calendars

How do scheduling tools check availability across calendars?

A scheduling tool connected to your calendar accounts asks each provider which of your chosen calendars have busy events in the dates someone is looking at. It removes those times from your working hours, applies buffers and notice rules, and shows what is left. A careful tool asks again when the booking is submitted, so two people racing for the same slot cannot both get it.

What counts as busy is decided by the event's status, not its existence. In the Google Calendar API reference, an event's transparency is "opaque" by default, equivalent to "Show me as Busy", while "transparent" means the event does not block time, equivalent to "Available". Outlook offers several statuses, including Free, Tentative, Busy and Out of office, and tools differ in which of them block a slot.

Two settings decide almost everything:

  • Conflict calendars (read). Every calendar whose busy events should block you. You usually want several.
  • Destination calendar (write). The one calendar where new bookings are created with the invitee and the video link. You want exactly one, because writing the same meeting into two calendars produces duplicate invitations and two copies to keep in step.

This read-many, write-one model is standard. Calendly's help center, for example, says its Free plan connects 1 calendar and paid plans connect up to six per user, that you select the calendars it checks for conflicts, and that its events are added to one calendar only. Whichever tool you use, the audit is the same two questions: which calendars are read, and which one is written.

If you sometimes offer times by email instead of sending a link, the same rule applies to you as a human: check every calendar before proposing slots. The guide to asking for a meeting by email has templates for both approaches.

What is a busy placeholder (blocker event)?

A busy placeholder, also called a blocker event, is a private calendar event marked Busy that holds time on one calendar for a commitment that lives on another. It carries no details, only enough to stop someone else from scheduling over it.

You need placeholders in two situations:

  1. A calendar your booking tool cannot read. Your employer may block third-party apps on your work account, or the calendar may be on a service your tool does not support. Put placeholders on a calendar it can read.
  2. A calendar other people schedule into directly. Colleagues inviting you through Outlook or Google look at your work calendar's free/busy, not at your booking tool. If client bookings land on your personal calendar, your work calendar looks empty to them.

Copy this template for manual placeholders:

  • Title: Busy (use one fixed word everywhere, so old placeholders are easy to search for and delete)
  • Show as: Busy
  • Visibility: Private
  • Guests: none
  • Location and description: blank
  • Reminders: off, because the real event already has them
  • Repeat: match the real commitment, for example weekly school pick-up

One warning: if you use a calendar-mirroring app that copies events between calendars, use only one mirroring mechanism per pair of calendars. Two tools copying the same events in both directions can create copies of copies.

How do you set up double-booking protection in PepoSmart?

PepoSmart is an AI scheduling and meeting-intelligence platform, and its calendar settings follow the read-many, write-one model above. It checks your connected calendars before showing a slot and again when a booking is submitted. Calendar connections are included on every plan, including the free Basic plan, and everything below lives under Availability, then Calendar settings.

  1. List your calendars. Write down every calendar that holds commitments: work, personal, family, a second job, a shared client calendar. Mark which you can connect (Google or Outlook) and which you cannot (iCloud, or an account your employer locks down).
  2. Connect each account. Choose Connect calendar account and pick Google or Outlook. You can connect up to six accounts, mixing both providers. The Google Calendar and Meet and Outlook and Teams pages cover what each connection does.
  3. Choose conflict calendars for each account. Each account card shows "Checking N calendars". Open it and tick every calendar that represents your time. Leave out calendars that are not yours to keep free, such as a company holidays calendar.
  4. Pick the calendar to add events to. Under "Calendar to add events to", choose the one calendar where new bookings should appear with the invitee and conferencing link. If you would rather bookings never touch your calendars, choose "Do not add new events to a calendar"; invitees still receive their confirmation email.
  5. Block booked times on your other accounts. On each account that is not the destination, tick "Also block booked times on this account's primary calendar". PepoSmart then adds a private "Busy (PepoSmart)" event with no details or invitees for each booking, and removes it again when the booking is cancelled or rescheduled.
  6. Decide on the sync settings. Two options sit under the calendar you add events to. "Include buffers on this calendar" adds the buffer time from your schedule before and after each booking as private events, so the padding shows as busy too. "Automatically sync changes from this calendar to PepoSmart" means that deleting a booked meeting from your Google or Outlook calendar cancels the booking, as if you had cancelled it in PepoSmart. Moving the event in your calendar does not reschedule the booking, so reschedule from PepoSmart or let the invitee use their reschedule link.
  7. Set your availability rules. Add buffers, minimum notice and date overrides with the availability rules. Holidays and time off are set once and apply to every schedule, and you can choose a country so its national public holidays block booking automatically. That is more reliable than an all-day event whose status you have to remember.
  8. Test it. Create a Busy test event on each conflict calendar, wait about two minutes (busy times are cached briefly, so changes take that long to show on booking pages), and check your booking page. Then book a test meeting yourself: it should appear on the destination calendar, a "Busy (PepoSmart)" placeholder should appear on each opted-in account, and cancelling should remove both.

A worked example: one consultant, three calendars

Consider a consultant who delivers client work through a Microsoft 365 account, runs her personal life from Gmail, and shares an iCloud family calendar with her partner. Here is one sensible configuration.

CalendarProviderConnected to PepoSmart?Checked for conflicts?Role
Work calendarMicrosoft 365YesYesCalendar to add events to, with Teams links
Personal calendarGmailYesYesGets "Busy (PepoSmart)" placeholders, so anyone she shares it with sees she is taken
Family calendariCloudNo (not supported)Through a replacement Google calendarFamily plans moved to a shared Google calendar called "Family"
Company holidaysMicrosoft 365YesNoNot her time to keep free; her own days off go in Holidays and time off

The result: a client cannot book over a school play on the family calendar, colleagues see client calls on her work calendar because that is where bookings are written, and her partner sees a busy block on the personal calendar without seeing the client's name.

Open monthly paper planner with handwritten appointments
Write down every calendar that holds a commitment before you connect anything; the one you forget is the one that gets double booked

What should you do about iCloud calendars?

PepoSmart connects Google and Outlook calendars only. iCloud is not a supported direct connection, so events that exist only in iCloud cannot be checked. These are the honest workarounds, in order of reliability:

  1. Move the commitments to a calendar PepoSmart can read. Create a Google calendar such as "Family" and share it with whoever adds to it. Apple Calendar can add a Google account on a Mac, iPhone or iPad, so the calendar still shows on Apple devices; make it the default calendar on your phone so new events go there. Tick it as a conflict calendar. It is checked live, with no refresh delay.
  2. Subscribe the iCloud calendar into Google. Turn on Public Calendar in iCloud and copy the link. In Google Calendar choose Add other calendars, then From URL, and paste it. The calendar appears under "Other calendars" in that Google account. Then test whether it blocks a slot: create an iCloud event, wait for Google to show it, and check your booking page. Remember that the copy is only as current as Google's last refresh and that the public link exposes the events.
  3. Add manual placeholders. For a handful of recurring iCloud commitments, a repeating private Busy event on a connected calendar is often the least effort.

Special cases that still cause double bookings

Shared and team calendars

Tick a shared calendar for conflicts only if its events are commitments of yours. A team out-of-office calendar or a company events calendar will block you for other people's plans. For team scheduling, each host's own connected calendars decide whether they are free: on a round-robin event, PepoSmart picks from hosts who are free at that time and checks conflicts on each host's connected calendars. The round-robin scheduling guide and the team calendar management best practices cover the team side, and team events shows the event types.

All-day events and Free versus Busy

All-day entries are the most common surprise. Depending on the app and how the event was created, an all-day entry may be marked Free, in which case free/busy-based tools ignore it, or Busy, in which case it can block your entire day. Open each recurring all-day entry and check. For days you are genuinely unavailable, use your scheduling tool's time-off setting rather than relying on an all-day event's status.

Tentative events and unanswered invitations

Tools differ on whether a tentative event or an invitation you have not answered counts as busy, and the answer can differ between Google and Outlook. Do not guess: create a tentative test event and see whether your booking page still offers the slot. If a tentative hold matters, answer the invitation or change the status to Busy.

Travel time and buffers

A booking that ends at 2:00 PM and a site visit that starts across town at 2:15 PM are technically not a double booking, and practically are. Put travel on your calendar as its own Busy event, and set before- and after-meeting buffers so booked meetings cannot sit flush against each other. The guide to buffer time between meetings covers how much to leave.

Time zones

Your busy times are stored with their time zone, but your bookable hours belong to a schedule, and if that schedule's time zone is wrong, every slot shifts. After moving or traveling for an extended period, check the schedule's time zone first. The time zone management guide covers working across regions.

Group events and deliberate overlaps

Not every overlap is a mistake. A group event lets several invitees book the same slot up to a capacity you set, and a group event has exactly one location, so everyone joins the same session. That is by design, and the group event scheduling guide explains when to use it.

Two booking tools at once

Teams switching tools often leave an old link live on a website or in an email signature. If both tools are active, each must read the calendar the other writes to, or they will happily sell the same hour twice. The cleanest fix is to retire the old link the day the new one goes live.

Double-booking audit checklist

Run this once after setup and then monthly. It takes about ten minutes, and you can copy it into your notes as is.

  • Every calendar that holds my commitments is listed, and each is either connected or covered by placeholders.
  • Every connected account shows as connected, with no reconnect warning.
  • In each account, every calendar that represents my time is ticked for conflicts, and calendars that are not mine to keep free are unticked.
  • Exactly one calendar is set as the calendar to add events to, or I have deliberately chosen not to add events to a calendar.
  • Accounts other people schedule me in have placeholders for my bookings.
  • Recurring all-day entries have the Busy or Free status I intend.
  • Days off and holidays are entered as time off, not only as all-day events.
  • No old booking links from a previous tool are still live.
  • A Busy test event blocks the slot on my booking page within a few minutes.
  • A test booking appears on the destination calendar, creates placeholders where expected, and disappears from everywhere when cancelled.

What PepoSmart does not do

Being clear about the limits saves you from finding them with a real client.

  • No iCloud connection. PepoSmart connects Google Calendar and Outlook Calendar. iCloud calendars can only be covered through the workarounds above.
  • It cannot see calendars you have not connected. Events created outside a connected calendar, or on a calendar you have not connected, are not visible to PepoSmart and cannot be checked. The scheduling section of the product facts states this plainly.
  • Changes are not instant. Busy times are cached, so a conflict you add can take about two minutes to show on your booking pages.
  • Moves are not synced back. With automatic sync on, deleting a booked meeting from your calendar cancels it. Dragging it to a new time in Google or Outlook does not reschedule the booking.
  • It is not a general calendar mirror. Placeholders are added for bookings made through PepoSmart. It does not copy your personal dentist appointment onto your work calendar as a busy block. If you need every personal event mirrored, use native free/busy sharing or a dedicated calendar-sync service alongside it.
  • Up to six accounts. If your commitments span more than six calendar accounts, consolidate first.

Summary

Double booking across Google, Outlook and iCloud is a visibility problem, so the fix is visibility: decide which calendars count as busy, connect them to whatever takes your bookings, write new bookings to one calendar, and put private placeholders wherever other people schedule you directly. Native free/busy sharing is live and private, while ICS subscriptions are convenient but can lag by hours. Check event statuses as carefully as connections, test with a dummy event, and audit once a month. To set this up in a few minutes, create a free PepoSmart account: connecting Google and Outlook calendars is included on every plan, and the pricing page has the details of each plan.

Frequently asked questions

Why do I keep getting double booked when my calendar is connected?
Usually the clashing event sits on a calendar the booking tool is not checking, or the event is marked Free rather than Busy. Open your scheduling tool's calendar settings and confirm that every calendar holding your commitments is ticked for conflicts, including secondary and shared calendars. Then check the status of the event that was ignored. Also confirm the connection has not expired, because a revoked connection can stop conflict checks without an obvious error.
How do I sync my work and personal Google calendars without showing personal details?
Share the personal calendar with your work account using the permission See only free/busy (hide details). Anyone looking at the shared calendar sees busy blocks with no titles. Your work administrator can restrict sharing, so it may not be allowed on every account. If you take bookings through a scheduling tool, connecting both accounts and ticking both calendars for conflicts protects your booking page without sharing anything.
Can Outlook and Google Calendar sync both ways?
Neither provider merges two separate accounts into one calendar. You can add a Google account to the Outlook app to view and edit both side by side, or subscribe Outlook to a read-only ICS copy, but neither puts your Google events on your Microsoft 365 calendar as busy time. True two-way copying needs a third-party sync service. To stop double bookings, it is usually simpler to connect both accounts to your scheduling tool.
Does Calendly check multiple calendars for conflicts?
Yes, within plan limits. Calendly's help center says its Free plan connects one calendar and paid plans connect up to six calendars per user, that you choose which calendars it checks for conflicts, and that new events are added to one calendar only. It lists Google Calendar, Office 365 or Outlook.com, and Exchange as supported calendars. Check its current help pages before deciding, because plan limits change.
What is a busy placeholder event?
A busy placeholder, also called a blocker event, is a private calendar event marked Busy that reserves time on one calendar for a commitment stored on another. It carries no details, guests or location, so it protects your privacy while stopping colleagues or booking tools from scheduling over the time. You can create placeholders by hand or let a scheduling tool add one automatically for each booking.
Can PepoSmart check my iCloud calendar for conflicts?
Not directly. PepoSmart connects Google Calendar and Outlook Calendar accounts, and events on calendars it is not connected to cannot be checked. The most reliable workaround is to keep those commitments in a Google calendar, which Apple Calendar can also show on a Mac, iPhone or iPad. Alternatively, make the iCloud calendar public and subscribe to it in Google Calendar, accepting that the copy refreshes on Google's schedule.
How do I block personal time on my work calendar without sharing details?
Add private events marked Busy with a neutral title such as Busy, no guests and no description. Colleagues see a busy block and nothing else. For recurring commitments, make the placeholder a repeating event. If your bookings come through a scheduling tool connected to both accounts, let it add placeholders for you. PepoSmart's Also block booked times option adds a private Busy (PepoSmart) event to the other accounts.
How long does a subscribed calendar take to update?
It depends on the app doing the subscribing. Microsoft says subscribed calendars in Outlook.com should update approximately every three hours, and approximately every six hours in Outlook on the web for work or school accounts, but that updates can take more than 24 hours. Google does not publish a refresh interval for calendars added by URL. Use a direct connection for anything that changes at short notice.

Written by

Zakir Shaikh

Reviewed by

Yash Havalimane

Every PepoSmart article is written by a member of our team and checked by a second reviewer before it is published. Product facts are verified against the published product-facts page.

Related Articles

Person typing on a laptop at a desk with a second monitor behind it
Scheduling

How to Ask for a Meeting by Email: 15 Meeting Request Templates That Get a Yes

Read More
Overhead view of participants crafting with greenery around a long workshop table
Scheduling

Group Event Scheduling: How to Let Many People Book the Same Time Slot for Classes, Workshops and Webinars

Read More

Ready to Transform Your Scheduling?

Booking pages, availability rules and an AI notetaker in one place. Free to start, no card required.

PepoSmart

The AI-powered meeting intelligence platform — from scheduling to CRM sync, coaching, and deal intelligence.

Support: +1 (713) 782-7183
YouTubeLinkedInFacebookInstagramEmail us
Scheduling
  • Unlimited Booking Pages
  • Availability Rules
  • Team Events
  • Reminder Emails
  • Payments at Booking
  • Website Embeds
AI Intelligence
  • AI Meeting Notes
  • Coaching Scorecards
  • Relationship Intelligence
  • Chat With Meetings
  • Follow-up Emails
  • AI Call Prep
Bulk Emailing
  • Broadcasts
  • Email Sequences
  • Mailing Lists
  • Email Templates
  • SMTP Settings
  • Open Tracking
Integrations
  • Google Calendar & Meet
  • Outlook & Microsoft Teams
  • Zoom
  • Slack
  • CRM integrations
  • Stripe & PayPal
Compare
  • Calendly Alternative
  • Cal.com Alternative
  • SavvyCal Alternative
  • Acuity Alternative
  • Chili Piper Alternative
  • All Alternatives
Company
  • Product facts
  • All Features
  • Solutions
  • About
  • Pricing
  • Blog
  • Use Cases
  • Affiliate Program
  • Contact
  • Privacy Policy
  • Terms of Service
© 2026 PepoSmart. All rights reserved.
Operated by Peposmart Inc · 18510 Green Land Way, Ste C, Houston, TX 77084, US
Terms of ServicePrivacy Policy