Guide

Share Your Calendar Without Showing Event Details

Three ways to share availability with colleagues, clients, or scheduling tools without leaking event titles, attendees, or notes. With the tradeoffs of each.


You want someone to see when you’re busy. You do not want them to see who you’re meeting with, what the meeting’s about, or where you are. There are three reliable ways to do this, depending on whether you’re sharing one calendar or trying to make availability across multiple calendars visible.

Method 1: Native “free/busy only” sharing

Google, Outlook, and iCloud all support sharing a calendar with permission limited to free/busy. This is the simplest option and works for sharing one calendar with specific people.

Google Calendar

  1. Open Google Calendar on the web.
  2. Hover the calendar in the left sidebar → three dots → “Settings and sharing”.
  3. Under “Share with specific people or groups”, add the email and set permission to “See only free/busy (hide details)”.
  4. Save.

What the recipient sees: time blocks labeled “Busy” with no other information. They can also use Google’s “Find a time” feature against your free/busy data.

What you give up: the recipient cannot see meeting locations or accept/decline events on your behalf.

Microsoft Outlook / Microsoft 365

Within a single tenant: every user automatically sees every other user’s free/busy by default. To extend free/busy outside the tenant:

  1. Outlook web → calendar → “Share” → enter the external email.
  2. Set permission to “Can view when I’m busy”.
  3. Send.

The external user gets a calendar URL they can subscribe to.

Apple iCloud

iCloud’s sharing model is “public read-only URL” granular. There is no built-in “busy only” toggle for iCloud calendar sharing as of this writing - you either share the full calendar or you don’t.

The workaround: create a dedicated iCloud sub-calendar called “Public Busy” that only contains all-day “Busy” events corresponding to your real schedule. Manually maintain it (painful) or use a sync engine to mirror your real calendar into it with titles rewritten to “Busy” (next method).

Method 2: Mirror your real calendar with titles rewritten

This is the right move when you need to share availability across multiple source calendars or with a tool that doesn’t speak free/busy properly (Calendly, OneCal, internal booking systems).

The pattern:

  1. Pick a “share” calendar - usually a sub-calendar on the platform your sharing recipient already knows (typically Google).
  2. Mirror your real calendars (Outlook, iCloud, secondary Google) into the share calendar, with event titles automatically rewritten to “Busy”.
  3. Share the share calendar normally. Recipients see only “Busy” blocks; the original calendars stay untouched.

The tools that do this rewrite:

  • SyncCal (Busy-title rewrite is on by default for cross-account mirroring).
  • CalendarBridge (calls it “private titles”).
  • Reclaim (handles it for tasks but not arbitrary calendar mirroring).

The advantage: every booking tool, every colleague, every “find a time” widget that points at the share calendar sees the full truth about your availability. Your real calendars stay private.

Method 3: Publish a “busy only” ICS feed

Some scheduling tools accept an ICS URL as a free/busy source. This is the least common option but useful if the tool you’re working with supports it.

You generate an ICS subscription URL from your calendar (most calendar tools have a “secret address in iCal format” option) and give it to the consumer. ICS doesn’t have a built-in privacy mode, so events appear with their original titles unless you mirror to a stripped-down calendar first (see method 2).

Pitfalls to avoid

Marking individual events “Private” in Outlook: this only hides details from users in the SAME tenant who don’t have full delegate access. It does NOT hide titles from external free/busy consumers or from sync tools that have full Calendars.ReadWrite scope.

Relying on iCloud’s “Public calendar” link: that link exposes ALL event details to anyone who has the URL. There’s no permission middle ground.

Forwarding invites to a “Busy” placeholder calendar manually: takes minutes per event and breaks the moment an event is updated. Use a sync engine instead.

Hiding a calendar in the client UI: hiding in Google Calendar’s left sidebar only affects YOUR view. The calendar is still visible to anyone you’ve shared it with at the original permission level.

What we ship for this

SyncCal’s Busy-title rewrite is exactly method 2 productized. Connect your source calendars, point them at a target (your existing primary, or a dedicated “Public” sub-calendar), turn on rewrite. The free plan covers two calendars; that’s enough to set up one source-to-target privacy mirror.

For a deeper read on the underlying free/busy mechanics, see our glossary entry on two-way sync and how OAuth permissions work.