Getting started
- Install CalendarRows for free from its Google Workspace Marketplace page: click Install and choose your Google account.
- Open a spreadsheet and choose Extensions → CalendarRows → Open CalendarRows. The menu also has Send rows to Calendar, Import events from Calendar, Account & Pro and Help.
- The first time, Google asks you to allow CalendarRows' permissions (see Permissions).
- The sidebar has three tabs: To Calendar, From Calendar and Account.
Put one event per row under a header row, for example Title | Start date | Start time | End time | Location.
Columns
CalendarRows suggests a column for each field from your headers. Check them before you send. Only Title and Start date are required, and each column can be used for one field only.
| Field | What to put in it |
|---|---|
| Title | The event name (required) |
| Start date | A date, optionally with a time (required) |
| Start time, End date, End time | Optional. See Dates & times |
| All day | TRUE/FALSE, yes/no, or a checkbox. If you map this column, it decides which rows are all-day events |
| Location, Description | Free text |
| Guests | Email addresses separated by commas, semicolons or spaces. Up to 50 per event. Anything that isn't an email address is ignored and noted in the status |
| Color | A Google Calendar colour name (Lavender, Sage, Grape, Flamingo, Banana, Tangerine, Peacock, Graphite, Blueberry, Basil, Tomato) or its number, 1 to 11 |
| Repeat | Pro only. See Repeating events |
| Action | Type delete (or remove, cancel) to delete that row's event |
Dates & times
- Dates can be real date cells or text such as
2026-11-03,11/3/2026orNov 3, 2026. - Times like
9:00 AMor14:30can be in the date cell or in a separate time column. - A row with a date but no time anywhere becomes an all-day event, unless you map an All day column. All-day events can span several days with an End date.
- A timed row with no end uses the default length you pick in the sidebar (30 minutes to 8 hours, 1 hour by default).
- Times use the spreadsheet's time zone (File → Settings in Google Sheets).
Send rows to Calendar
- On the To Calendar tab, choose the sheet, the header row and the calendar. Only calendars where you can edit events are listed.
- Check the columns and the default length. Choose All rows or Selected rows.
- Click Preview. It shows how many events will be created, updated, deleted or left unchanged, and any rows with problems. Nothing changes yet.
- Click Send to Calendar. A progress card shows how far it has got. You can pause at any time.
The first run adds two columns at the right of your data: CalendarRows event ID and CalendarRows status. Their headers carry a note starting with CalendarRows:, and each ID cell carries a short note with the calendar and a fingerprint of the row. Keep the columns and notes. They are how CalendarRows knows which event belongs to which row. CalendarRows never edits your own columns.
Statuses
| Status | Meaning |
|---|---|
CREATED | A new event was made |
UPDATED | The row changed and its event was updated |
DELETED | The event was deleted because of the Action column |
PENDING | An ID was reserved but the run stopped before the event was confirmed. Send again to finish. It will not make a duplicate |
SKIPPED: … | Nothing to do, for example a delete row without an event ID |
ERROR: … | The row could not be sent, with the reason (for example an unreadable date). Fix it and send again |
IMPORTED | The row came from an import |
Notes such as “No start time given; used 9:00 AM.” or ignored guest entries are added in brackets after the status. Unchanged rows keep the status they had.
Updating & deleting
- Update: edit a row and send again. Only rows that changed are sent, and each one updates its own event.
- Delete: type
deletein a mapped Action column and send again. The event is deleted and the status becomes DELETED. Pick the same calendar the event was created in. - Different calendar: if you send rows to another calendar, CalendarRows creates new events there and the row's ID then points to the new event. Events already in the first calendar are not moved or removed.
- If you edit a row whose event was deleted in Google Calendar, the row shows an error. Clear the row's event ID cell to create it again.
Import from Calendar
- On the From Calendar tab, choose a calendar and a date range (or a quick range like This month or Next 30 days). Optionally enter a word to import only events containing it.
- Choose the columns you want: Title, Start, End, All day, Duration (hours) and Location are ticked by default. Description, Guests, Color, Event status and Calendar link are optional.
- Click Import events. The events go into a new tab, together with their event IDs. Your existing tabs are not changed.
Repeating events are imported as one row per occurrence. To send changes back, edit the new tab and use To Calendar on it with the same calendar. The first time you send an imported tab back, every row with an event counts as an update (one change each), because CalendarRows has no fingerprint of those rows yet. After that, only rows you edit are sent.
Repeating events (Pro)
With Pro, map a Repeat column and write daily, weekly, monthly or yearly, optionally followed by a count (weekly x 10) or an end date (weekly until 2026-12-31). An RRULE: line also works. On Free, rows with a Repeat value are not sent and show an error.
Limits & resuming
- Free: 50 calendar changes per day (each create, update or delete is one change) and imports of up to 100 events. Pro ($9/month or $59/year): 2,000 changes per day (fair use) and imports of up to 5,000 events.
- Unchanged rows, previews and imports don't use changes. Allowances reset at 00:00 UTC.
- When you run out of changes, CalendarRows does as many rows as it can, saves its place and pauses. Click Resume after the reset.
- If Google Calendar asks CalendarRows to slow down, it pauses with a message. Click Resume a minute later.
- Large sheets are sent in short chunks. If you close the sidebar, your progress is kept. You can have one unfinished task per spreadsheet.
Pro & your account
CalendarRows Pro is $9/month or $59/year, tax included. The Account tab shows your plan.
- Buy: in the Account tab, click Get Pro (monthly or yearly), or use the buttons on the pricing page. Checkout is handled by Stripe.
- Copy your key: right after payment, the confirmation page shows your CalendarRows Pro license key. Keep it private; it works on up to 3 Google accounts.
- Activate: open Extensions → CalendarRows → Open CalendarRows → Account, paste the key and click Activate Pro.
To cancel, update your card or see invoices, use Manage or cancel subscription in the Account tab. Lost your key? Email support@cellbrook.com from the address you used at checkout. See also subscription terms and refunds.
Permissions
CalendarRows asks Google for five permissions:
| Permission | Why |
|---|---|
| Access only the spreadsheets you use CalendarRows with | Read the rows you send, add the event ID and status columns, and create the tab for an import. No other spreadsheets. |
| View and edit events on your calendars | Create, update and delete the events for the rows you send, and read events for the calendar and dates you import. Only when you click Send or Import. |
| See the list of your calendars | Read-only. Shows your calendars in the picker and which ones you can edit. CalendarRows does not change your calendar list or settings. |
| Show content in sidebars and dialogs | Display the CalendarRows sidebar and help. |
| Connect to an external service | Only to check a Pro license key with our license server at cellbrook.com, and only after you enter one. Nothing from your sheet or calendar is sent. |
CalendarRows does not ask for your Gmail, contacts or Drive, and it does not run in the background. You can revoke access anytime at myaccount.google.com/permissions. Events you created stay in your calendar until you delete them. More in our privacy policy.
Guides
Longer walk-throughs, including the free methods that don’t need CalendarRows:
- How to create Google Calendar events from Google Sheets
- How to import a spreadsheet or CSV into Google Calendar
- How to export Google Calendar to Google Sheets
- How to put a shift schedule from Google Sheets into Google Calendar
- How to send Google Form responses to Google Calendar
- How to create recurring Google Calendar events from Google Sheets
Getting help
Email support@cellbrook.com with the add-on name, what you were doing and the status text you see. See also Support.