Put your on-call rotation on everyone's calendar
The rotation already lives in a sheet: who's primary, who's secondary, when handoff happens. What's missing is a version people can glance at on their own calendars, next to their meetings, and one their partners can see at home, so weekend plans don't depend on asking you.
CalRelay turns that sheet into a calendar feed. Everyone subscribes once, and every swap and schedule change you make in the sheet reaches their calendars automatically. To be clear about the boundary: your paging tool still owns alerting. This is the layer for people planning their lives around the rotation.
Free plan, no credit card. No account needed to see your events.
Lay out one row per shift
There's no recurrence support, so build the sheet with one row per shift: the engineer's name as the title, a start date, and a time (or leave time blank for all-day shifts). Drag-fill handles a year of weekly rotation in seconds, and swaps are just edits to individual rows.
Connect it to CalRelay
Paste the sheet's share link (or a CSV URL, or the table itself). CalRelay maps the columns and previews every shift. Any row it can't confidently parse is held aside with its raw values rather than guessed at.
Share the subscribe page with the team
One hosted page with Apple, Google, and Outlook buttons. Engineers subscribe, and so can their partners. Nobody needs an account, and the feed is read-only, so home phones see the rotation without any access to your tooling.
Why swaps are where spreadsheets-as-schedule breaks down
A rotation is easy to publish once and hard to keep current. Every trade, every parental leave, every reshuffle makes the copy in people's heads (or in a months-old email) wrong. Whoever relies on the stale copy finds out when they get paged on what they thought was a free weekend.
With a feed, a swap is one cell edit. CalRelay re-reads the sheet, the feed updates, and the change lands on subscribed calendars, updating the existing shift rather than duplicating it. Apple Calendar and Outlook typically reflect it within about 15 minutes of the feed updating. Google Calendar fetches on its own schedule and can take up to 24 hours, so a same-day swap deserves a Slack message too.
This sits beside PagerDuty, not in place of it
Paging tools own alerting, escalation, and overrides. CalRelay doesn't page anyone and isn't trying to. What paging tools lack is a view for people outside them: the engineer checking next month while planning a trip, the manager scheduling a release, and partners and families, who will never have a PagerDuty login but do plan weekends around the rotation.
If your paging tool is the rotation's source of truth, this guide isn't the fit. But plenty of teams schedule in a sheet because swaps, partial shifts, and one-off coverage like "Dana covers Tuesday night only" are easier to represent there. For those teams the sheet stays the source of truth and the feed is the calendar view of it.
Failure modes, handled the boring way
If the sheet's structure changes or access is lost, CalRelay freezes the feed at its last good state and emails you, so subscribers keep the last valid rotation rather than an empty calendar. On Pro, feed-health email alerts flag parse problems early. That matters more here than for most schedules, because a silently wrong on-call calendar costs someone a night.
Questions
Can it generate the rotation for me?
Why one row per shift instead of a repeating event?
Can partners and families subscribe?
How fast does a swap show up on calendars?
How should we handle handoff times across time zones?
Your schedule already exists.
Turn it into a calendar your whole roster can subscribe to. Takes about three minutes.
Create your free feed