Turn any spreadsheet into a subscribable calendar
If your schedule lives in rows and columns, CalRelay can turn it into a calendar feed that anyone can subscribe to on Apple Calendar, Google Calendar, or Outlook. The spreadsheet stays the source of truth. The calendar is just a view of it.
Bring the schedule however it exists. Paste a Google Sheets share link, point at any CSV URL, or copy the table and paste it straight in. You get the same wizard, the same feed, and the same subscribe page either way.
Free plan, no credit card. No account needed to see your events.
Bring your table, whatever it's in
Paste a Google Sheets share link or a CSV URL and CalRelay will keep re-reading it as the schedule changes. If you're working in something else, select the table, copy it, and paste it in. Pasted tables are a supported source too.
Map your columns and preview every event
CalRelay reads your header row, suggests which columns are the title, date, time, and location, and shows everything it found. Rows it couldn't parse are listed with their raw values, so nothing is guessed or silently dropped.
Share one link with 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, no account needed.
It doesn't matter which spreadsheet app you use
CalRelay works on the table, not the tool. Today it reads three kinds of source: Google Sheet share links, CSV URLs, and pasted tables. Everything after that point is identical, with the same parsing, the same feed, and the same subscribe page. More source types are on the roadmap, but between a link, a URL, and a paste, nearly any spreadsheet can get in right now.
That covers Excel and Numbers too. Copy the table and paste it, or save as CSV. There's no add-on to install and no scripting.
What your spreadsheet 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 are optional. Everyday date formats work (3/4/26, Mar 4, 2026-03-04 7pm), and you pick your locale so day-first and month-first dates are never guessed.
For recurring schedules, use one row per occurrence: a row for the meeting on the 5th, another for the 12th. Exceptions stay simple. Skip a week by deleting the row, or move one occurrence without touching the rest.
Live sources vs. pasted tables
A Google Sheets link or CSV URL is a live source. CalRelay polls it (hourly on the free plan, every 15 minutes on Pro) and regenerates the feed when something changes, so editing the spreadsheet is all you ever do. A pasted table is a snapshot. When the schedule changes, paste the new version into the same feed.
Either way the subscribe link never changes, and edits update existing events in subscribers' calendars rather than duplicating them. If a live source breaks, say a column gets renamed or access is revoked, the feed freezes at its last good state and you get an email. Subscribers keep the last valid calendar in the meantime.
Questions
Which spreadsheet apps work?
Do I have to reformat my spreadsheet first?
How do recurring events work?
How quickly do subscribers see changes?
What does it cost?
Your schedule already exists.
Turn it into a calendar your whole roster can subscribe to. Takes about three minutes.
Create your free feed