← Blog Guide · ICalSync

Sharing one iCal feed across a whole team

A booking system, a shift rota, a client’s availability — something publishes an iCal feed and the whole team needs to see it. The obvious move is to paste the URL into a channel and let everyone add it themselves.

That works, in the sense that everyone ends up seeing something. It also creates one independent subscription per person, each refreshed by Google whenever it feels like it. Two people looking at “the” calendar at the same moment can be looking at different versions of it, and neither of them can tell.

Why the fan-out is the problem

Handing out the URL means:

  • No shared truth. Each subscription refreshes on its own schedule. There is no moment at which everyone is looking at the same state.
  • No control. Subscribed calendars are read-only. Nobody can annotate an event, flag a conflict, or attach the context that makes it useful.
  • A secret spread wide. Most .ics URLs are unauthenticated: whoever holds the link can read the calendar. Once it is in a group chat, you have lost track of who has it and you cannot take it back without re-publishing.
  • Onboarding overhead. Every new person repeats the setup, and gets it slightly wrong at their own pace.

None of this is dramatic. It is just persistent low-grade friction, which is the kind that never gets fixed because it never quite becomes anyone’s problem.

The better shape: sync once, share normally

Point one add-on at the feed, have it write real events into a single Google Calendar, and share that calendar with the team using ordinary Google Calendar sharing.

The URL stays with whoever set it up. Everyone else gets a normal shared calendar — the same permissions model, the same mobile behaviour, the same notifications as every other calendar they already have.

Everyone subscribes Sync once, share the calendar
Versions in play One per person One
Feed URL exposure Everyone who got the link The person who set it up
Permissions Read-only, per person Google Calendar sharing
Adding someone They repeat the setup Share, as with any calendar
Removing someone They keep the URL Unshare

Setting it up

  1. Get the iCal (.ics) URL from the source system — usually under a share, publish or export menu.
  2. Create a new Google Calendar for it, so the synced events stay separate from anyone’s personal schedule.
  3. Install ICalSync from the Google Workspace Marketplace, paste the URL, and choose that calendar as the destination.
  4. Share the calendar with the team, or with a Google group, at whatever permission level suits.

A Workspace administrator can install the add-on domain-wide, so nobody else has to install anything at all.

Use a group, not a list of people

Share with a Google group rather than named individuals. Then team changes are handled by group membership, and nobody has to remember which calendars a leaver still has access to.

When to keep it simple

If it is genuinely one person watching one feed for reference, subscribing directly is fine, and setting up a shared calendar is overkill. The fan-out only starts to hurt when the schedule drives decisions and more than a couple of people rely on it.

The ICalSync setup guide covers the sync step in detail, and why subscriptions lag explains the refresh behaviour that makes the many-subscriptions version so inconsistent.

One calendar, one source

Free to install from the Google Workspace Marketplace.

About ICalSync