A Google Workspace™ add-on for Google Sheets™.
CalBatch turns rows of a Google Sheet into Google Calendar™ events — hundreds at a time — and reads existing calendar events back into the sheet so they can be edited in bulk.
It runs entirely inside your own Google account as a Google Apps Script add-on. There is no server.
You open the add-on from the CalBatch menu inside a Google Sheet. It reads the rows of that one spreadsheet, and writes to the Google Calendar you pick from a list.
Long jobs are processed in resumable batches with a progress bar, so a run of a thousand rows does not hit the Apps Script execution time limit. If a run is interrupted, it continues from where it stopped. Rate limits returned by Google are retried automatically with backoff.
Every event CalBatch creates is recorded against its row in a hidden column of your sheet. That is what makes a second run safe: rows that already have an event are skipped rather than duplicated, and rows that previously failed are retried.
| Permission | Why CalBatch needs it |
|---|---|
spreadsheets.currentonly |
Read the rows you want to turn into events, and write the event ID and status back into two hidden columns. Limited to the single spreadsheet you opened the add-on in — it cannot see any other file in your Drive. |
calendar.events |
Create, update, delete and read the events you ask it to. |
calendar.calendarlist.readonly |
List your calendars so you can choose a destination, and read that calendar's time zone in order to warn you about a mismatch before anything is written. |
script.container.ui |
Show the add-on's side panel inside Google Sheets. |
script.external_request |
Verify a Pro licence key with Gumroad. This is the only outbound request the add-on can make, and it sends nothing but the licence key and product ID. |
CalBatch does not request the full calendar scope, which would
allow sharing and permanently deleting entire calendars, and does not request any
drive scope. Full details are in the
Privacy Policy.
Free: unlimited preview, and up to 100 events written per day. The daily allowance resets each day, and a job that stops at the limit continues from the same place the next day — rows already created are never created twice.
Pro: a single payment of $19 USD removes the daily write limit. There is no subscription.
Recurring events and automatic Google Meet™ links are not supported yet.
Email [email protected]. Please include what you were trying to do and, if the add-on reported an error on a row, the text of that error.
Open Google Workspace Marketplace → Manage apps → CalBatch → Uninstall. This revokes every permission you granted.