Cellbrook

Docs · CalendarRows

CalendarRows documentation

How to send spreadsheet rows to Google Calendar, keep them in step, and import a calendar into your sheet.

Getting started

  1. Install CalendarRows for free from its Google Workspace Marketplace page: click Install and choose your Google account.
  2. 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.
  3. The first time, Google asks you to allow CalendarRows' permissions (see Permissions).
  4. 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.

FieldWhat to put in it
TitleThe event name (required)
Start dateA date, optionally with a time (required)
Start time, End date, End timeOptional. See Dates & times
All dayTRUE/FALSE, yes/no, or a checkbox. If you map this column, it decides which rows are all-day events
Location, DescriptionFree text
GuestsEmail 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
ColorA Google Calendar colour name (Lavender, Sage, Grape, Flamingo, Banana, Tangerine, Peacock, Graphite, Blueberry, Basil, Tomato) or its number, 1 to 11
RepeatPro only. See Repeating events
ActionType 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/2026 or Nov 3, 2026.
  • Times like 9:00 AM or 14:30 can 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

  1. On the To Calendar tab, choose the sheet, the header row and the calendar. Only calendars where you can edit events are listed.
  2. Check the columns and the default length. Choose All rows or Selected rows.
  3. Click Preview. It shows how many events will be created, updated, deleted or left unchanged, and any rows with problems. Nothing changes yet.
  4. 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

StatusMeaning
CREATEDA new event was made
UPDATEDThe row changed and its event was updated
DELETEDThe event was deleted because of the Action column
PENDINGAn 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
IMPORTEDThe 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 delete in 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

  1. 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.
  2. 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.
  3. 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.

  1. Buy: in the Account tab, click Get Pro (monthly or yearly), or use the buttons on the pricing page. Checkout is handled by Stripe.
  2. 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.
  3. 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:

PermissionWhy
Access only the spreadsheets you use CalendarRows withRead 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 calendarsCreate, 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 calendarsRead-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 dialogsDisplay the CalendarRows sidebar and help.
Connect to an external serviceOnly 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:

Getting help

Email support@cellbrook.com with the add-on name, what you were doing and the status text you see. See also Support.