Turn a Google Sheet into a live calendar
Your schedule already lives in a Google Sheet. CalRelay turns it into a calendar feed that anyone can subscribe to on Apple Calendar, Google Calendar, or Outlook. When you edit the sheet, subscribers' calendars update on their own.
There are no add-ons to install and no Apps Script to maintain. You don't export a new .ics file every time something changes. The sheet stays the source of truth.
Free plan, no credit card. No account needed to see your events.
Share your sheet as a link
In Google Sheets, click Share and set “Anyone with the link can view.” CalRelay only reads your sheet. It never gets edit access and never asks for your Google login.
Paste the link and map your columns
Paste the share link below. CalRelay reads your headers and suggests which columns are the title, date, time, and location. Then it shows you every event it found, along with any rows it couldn't parse, with the raw values so you can see what went wrong.
Send one link to everyone
You get a hosted subscribe page with one-click buttons for Apple, Google, and Outlook. Subscribers tap once and their calendar stays in sync after that. They never need an account.
Why not just export an .ics file from Sheets?
An export is a snapshot. Once the schedule changes, every copy people imported is out of date, and you have no way to push a fix to them.
A calendar feed is a subscription. CalRelay keeps polling your sheet, regenerates the feed when something changes, and calendar apps pick up the update on their own. Edits update the existing event in subscribers' calendars instead of creating duplicates.
What your sheet needs to look like
One row per event, with a header row. At minimum you need a title column and a date column. Time, end time, location, and description columns are optional. Everyday date formats work (3/4/26, Mar 4, 2026-03-04 7pm, March 4th @ 7), and you pick your locale so day-first and month-first dates are never guessed.
Rows CalRelay can't confidently parse are held and shown to you with the raw cell values. They're never guessed at and never silently dropped, so a TBD date doesn't become a wrong event on everyone's calendar.
What happens when someone breaks the sheet
If a column gets renamed or the sheet becomes unreachable, CalRelay freezes the feed at its last good state and emails you. Subscribers keep the last valid calendar instead of seeing an empty one. The feed-health panel shows what changed, and fixing the mapping takes a click.
Questions
Does my Google Sheet have to be public?
How fast do subscribers see my edits?
Do subscribers need a Google account or a CalRelay account?
What about recurring events?
Is there a free plan?
Your schedule already exists.
Turn it into a calendar your whole roster can subscribe to. Takes about three minutes.
Create your free feed