Sync Google Sheets with Google Calendar, both ways.
Cellendar turns each row of your sheet into a Google Calendar event and keeps them matched. Change the row, the event updates. Move the event in Calendar, the row updates. Run it as often as you like and you still get one event per row.
Email us to get CellendarHow it works
- In your sheet, open Extensions > Cellendar > Open Cellendar. No account to create, nothing to log in to.
- Pick the columns for the title, date and times. Cellendar guesses them from your headers. Optional columns: end date, duration, all day, description, location, guests, color, reminders, repeat, Google Meet, calendar, time zone, and a Sync column.
- Click Preview changes to see what will be created, updated or deleted. Then Sync now.
- Every row gets a status, such as "Created" or "Updated from Calendar", linked to its event. Problems are explained in plain English on the row, for example "End is before the start."
Want to try it on sample data first? Extensions > Cellendar > Start with a sample sheet builds a tab with a repeating standup, an overnight shift and a multi-day offsite, ready to sync.
What people kept running into, and what Cellendar does instead
| The problem | Cellendar |
|---|---|
| Running it again made a second copy of every event. | Each row's event id is saved in a hidden column before the event is created. Re-runs, timeouts and crashes update the same event. |
| "It said it created the event, but nothing is on my calendar." | The status links to the event Google actually created, and Cellendar checks you can edit the calendar before syncing. |
| Events show up an hour late after daylight saving changes. | Times are sent with their time zone and Google applies the right offset for that date. Choose the sheet's zone, the calendar's zone, or a zone per row. |
| Importing pulled in fifteen years of calendar. | Import asks for a date range ("This month", "Next 90 days", or any dates). |
| A required signup on another website, then a login loop. | Nothing outside Google Sheets. Billing is a normal Stripe checkout, only if you subscribe. |
| 5 to 25 events per run, then "out of quota". | No per-run cap. Big sheets sync in batches with a progress bar and resume where they stopped. |
| Listed as free, then a paywall. | The trial and the price are on the listing, in the add-on, and here. |
| Emails to support went unanswered. | A person answers hello@greatwork.company within one business day. |
Features
Two-way sync
Edits in Google Calendar flow back into the sheet. If both sides changed, you choose which wins. RSVPs don't count as edits.Everything from columns
Guests, colors, reminders (10m, 1h, email 1d), repeats (weekly, every 2 weeks x10, weekdays until a date, or RRULE) and Google Meet links.Real schedules
All-day and multi-day events, overnight shifts, durations like 1h30m, dates typed in month/day or day/month order.Automatic
Sync every hour or once a day, or create the event as soon as a Google Form response lands in the sheet.Import a date range
Copy events from any calendar you can see into a new tab that's already set up for two-way sync.Deleting is deliberate
Type "delete" in the Sync column to remove an event. Rows you delete never silently delete events; Cellendar shows you the list first.Pricing
Free trial
Annual
Monthly
- Prices are in US dollars, per Google account, and don't include any sales tax that applies where you live.
- Renewal: subscriptions renew automatically at the same price for the same period until you cancel.
- Cancel any time in one step: in the add-on, open Plans & billing > Manage billing. You keep access until the end of the period you've paid for.
- UK customers: you have the right to cancel within 14 days of buying and get a full refund. Email hello@greatwork.company or cancel in Manage billing and ask for the refund.
- When the trial ends, nothing is charged. Syncing pauses until you choose a plan, and your sheet and events stay exactly as they are.
Permissions, in plain words
| Google asks you to allow | Why |
|---|---|
| View and edit events on all your calendars | To create, update and delete the events your rows describe, and to read them back for two-way sync and import. Cellendar can't change your calendar settings or sharing. |
| See and edit spreadsheets this add-on is used in, and the ones you set to sync automatically | To read your rows and write the status column. Automatic hourly or daily sync opens only the spreadsheet you turned it on for. |
| Your email address | To look up your trial or subscription. |
Your events and sheet contents stay inside Google. Our servers see only your email address and your trial usage. Details: Cellendar privacy policy.
Questions
How do I add events from Google Sheets to Google Calendar?
Install Cellendar, open it from the Extensions menu, pick your title and date columns, and click Sync now. Each row becomes an event. Running it again updates those same events.
Can I export Google Calendar to Google Sheets?
Yes. Use the Import tab, pick a calendar and a date range, and Cellendar copies those events into a new tab that stays in sync with the calendar.
Why would events be an hour off?
Usually the spreadsheet (File > Settings) and the calendar use different time zones, or an event crosses a daylight-saving change. Cellendar sends every time with its zone and warns you in Setup when the sheet and calendar zones differ.
Does it work with Google Forms?
Yes. Link the form to a sheet, set up that tab in Cellendar, and turn on "When a Google Form adds a response" in the Automate tab. Each new response becomes an event right away.
Can I sync to a shared or team calendar?
Yes, any calendar you can make changes to. Paste its Calendar ID (Google Calendar settings > Integrate calendar) or add a Calendar column to send different rows to different calendars.
What if I already use another Sheets-to-Calendar add-on?
Import the events you care about with a date range, or point Cellendar at your existing sheet. Events made by other tools aren't touched unless they're in your import.
Does it email my guests?
Only if you turn on invitations in Setup. Cellendar then tells you how many people will be emailed and asks before syncing.
Support
Email hello@greatwork.company. A person replies within one business day. Including the row number and the text of its Cellendar status helps us answer faster.