How to Hide Event Details When Sharing Your Calendar
Sharing a calendar should not mean sharing your life. Here is how to share availability with the details stripped out.

Jakub Beneš
Founder, CalendarPipe · June 9, 2026 · 7 min read
A client emails: "Can you send me your calendar so we can find a time?" A collaborator at another company wants to coordinate a launch. A friend planning a trip asks when you're around. Reasonable requests, all of them — and every time, I hesitate for a second.
Because sharing my calendar the normal way means sharing everything. The 1:1 with my therapist. The line that says "call recruiter." The dentist appointment with the address attached. The alternative is dragging the other person into my Google org or asking them to make an account somewhere just to see when I'm free. None of that is what they asked for. They asked for one thing: when can we meet.
If you've ever wanted to hide event details when sharing a calendar — to share your availability without showing the details behind it — that gap is exactly the problem. Here's how I close it: share calendar busy-only, with the titles, locations, and notes stripped before they ever leave my machine.
Sharing availability is not the same as sharing your life
Here's the distinction that matters: there's availability (the times you're free or busy) and there's content (what those blocks actually are). When someone asks for your calendar, they want availability. They almost never want content.
The trouble is that most sharing tools treat those as a package deal. You hand over a calendar, and it carries the titles, the locations, the notes, the guest lists — all of it. So you either overshare or you don't share at all, and you fall back to the "how's Tuesday at 2?" email tennis that calendar sharing was supposed to kill.
What you actually want is private calendar sharing: expose the when, hide the what. Busy from 10 to 11, free after 3 — and not a word about why.
Native free/busy sharing exists — but the built-ins are clumsy
To be fair, the big calendar apps know this problem exists. Google and Outlook both have a "free/busy" or "availability only" mode for sharing a calendar busy-only. In theory, that's exactly the thing.
In practice it tends to disappoint, for a few reasons I keep running into:
- It often only works inside your organization. Free/busy lookups are smooth when everyone's on the same Google Workspace or Microsoft 365 tenant. The moment the other person is at a different company — or on a personal Gmail, or has no account at all — it gets awkward fast, or stops working entirely.
- It's coarse and all-or-nothing. You usually share a whole calendar at one privacy level. You can't easily say "expose these events as busy, drop those entirely, and never reveal locations."
- It leaks more than you'd expect. Depending on settings, "private" events still show their time, declined events show up, and titles sometimes sneak through to people you never meant to show them to.
So the native tools either ask too much of the other person (be in my org, make an account) or give you too little control over what slips out. I wanted something that worked for anyone, anywhere, and let me decide exactly what crossed the line.
How to share availability without showing details — the CalendarPipe way
CalendarPipe runs on sync rules. A sync rule connects a source calendar to a target calendar and runs a small gate function on every event — a tiny piece of logic in a secure sandbox that decides, per event, whether it passes through and how it should look on the other side.
For hiding details, the gate is the important part. A gate can clear or replace the title (turn "Therapy" into "Busy"), strip the location and description, set the event to private, and mark it as busy. The one thing it deliberately cannot touch is the time: start, end, and duration always come through untouched. That's the point — you're hiding the what, never the when. The busy blocks line up exactly with reality, so nobody books over you.
Here's how I set it up to share with someone outside my world:
- Sync my real calendar into a hosted calendar. A hosted calendar is one that lives inside CalendarPipe rather than in Google or Outlook. I create a sync rule with my real calendar as the source and a fresh hosted calendar as the target.
- Put a privacy gate in the middle. The gate strips every event down to a private busy block — title replaced with "Busy", location and notes gone. I can describe that in plain English and let the AI generator write it, click it together in the visual builder, or start from a template. Took me about two minutes.
- Share the hosted calendar's feed link. Every hosted calendar has a public, read-only ICS feed link — something like
https://www.calendarpipe.com/feed/<token>(there's awebcal://version too). I send that link to whoever asked.
On their end, there's nothing to install and no account to create. They paste the link into whatever they already use — Apple Calendar, Google Calendar, Outlook, Thunderbird — and my availability shows up alongside their own, read-only, refreshing on its own. They see clean busy blocks at the right times and learn nothing else. (If they prefer, hosted calendars also speak CalDAV.)
I'll be straight with you about the line here, because I'd rather you find out from me than from a paywall: hosted calendars are a Pro feature. On the free plan you can build the privacy gate and sync between your own connected calendars all you like — that part costs nothing. What needs Pro is the outward-facing share link that lets someone with no account subscribe to a stripped-down version of your calendar. Pro is $4/month ($3.33 billed annually, with a 14-day trial), which also gets you unlimited rules, a 5-minute sync interval, AI rule generation, and the API. Most tools in this space start at $10 and up.
The other Pro option: send invitations instead
A shared feed is the right tool when someone wants an ongoing view of your availability. But sometimes you don't want them subscribing to anything — you just want a single meeting on their calendar without the back-and-forth.
For that there's invitation delivery (also Pro): synced events go out as standard email invitations the recipient can Accept or Decline. No signup, no OAuth, and because it's plain email it sails through corporate firewalls that block calendar subscriptions — the same privacy gate applies, so you control what each invitation reveals. I dig into that path in calendar sync when your company blocks third-party apps.
Who this is for
Private calendar sharing clicks for anyone who regularly coordinates with people outside their own org:
- Freelancers and consultants sharing availability with clients who shouldn't see the other clients.
- Cross-company projects where two teams need to find time but live in different calendar systems.
- Founders and anyone wearing several hats, juggling personal and work in one calendar that no single audience should see in full.
- Just coordinating with friends or family without exporting your whole life to do it.
If everyone you schedule with is already inside your company's calendar system, the native free/busy might be enough. The minute you're reaching across that boundary, the stripped-feed approach is what holds up.
Staying in control
The part I care about most is that you decide what's exposed, down to the event. The gate is explicit: it does exactly what you wrote and nothing more. There's no fine print where a title leaks through because of some default you didn't know about.
And it's reversible. Stop sharing whenever you want by deleting the hosted calendar or rotating its feed link — the moment you do, the link goes dead and the subscription on the other end shows nothing. No "please remove me from your calendar share" email needed.
This is the outward-facing half of a pattern I use constantly. There's also the inward version: personal → work, privately, where the goal is getting your own commitments onto your work calendar as anonymous busy blocks. Same gate, pointed the other way. If you want the full menu of what a gate can do, the docs lay it out.
If you've been quietly oversharing your calendar because the alternative was too fiddly, this is the fix I built for myself: share when you're free, keep the rest to yourself, and never make anyone create an account to find a meeting time. Build the gate for free, then flip on a share link when you need it — start with CalendarPipe.
— Jakub
Frequently asked questions
Can I share free/busy without giving access to my Google account?
Yes. You share a generated calendar link — the recipient never needs an account and never sees anything beyond the busy/free blocks you expose.
Keep reading
Set this up in CalendarPipe
Connect Google, Outlook, or Apple Calendar and build a pipe that filters and transforms your events exactly how you want — in a couple of minutes.
Get started free