Kayabyte Calendar Sync & Timesheets
Turn rows in Google Sheets™ into Google Calendar™ events and keep them in sync. Import events back into a sheet, and turn your calendars into timesheets: hours per project or client, per week or month.
Get started
- Open a spreadsheet and choose Extensions › Kayabyte Calendar Sync & Timesheets › Open.
- Use a sheet with at least a Title and a Start column, or click Insert example sheet.
- Click Sync to Calendar. Each row gets an Event ID and a Sync status. Run it again whenever you change rows: events are updated, never duplicated.
Columns it understands
| Column | What to put in it |
|---|---|
| Title | Event title (required) |
| Start | Date or date and time (required). A date without a time makes an all-day event. |
| End | Date or date and time. Leave it empty to use Duration or the default length. |
| Duration (min) or Hours | Length of the event when there is no End. |
| All day | Checkbox or yes/no to force an all-day event. |
| Location, Description | Copied to the event. |
| Guests | Email addresses separated by commas. Guests are only emailed if you switch that on in Settings. |
| Calendar | Name or ID of a calendar you can edit. Empty means your default calendar. |
| Colour | A Google Calendar colour name (Tomato, Basil, Peacock …) or number 1–11. |
| Status | Write Cancel or Delete to remove the event from Calendar. |
Headers with other names can be mapped in Settings. Dates typed as text can be day-first (15/10/2026) or month-first; choose in Settings. Times use the spreadsheet’s time zone (File › Settings).
How sync decides
- New row: the event is created.
- Row changed: the same event is updated.
- Status Cancel/Delete: the event is deleted and the Event ID cleared.
- Event deleted in Calendar: the row is marked “Deleted in Calendar” and is not recreated. Clear its Event ID to create it again.
- Two-way sync (Pro): changes made in Calendar are brought back into the row. If both sides changed since the last sync, your choice in Settings wins (the sheet by default), and the row’s Sync status says so.
- Each run stops safely before Google’s time limits. Run again to continue.
Import events
Choose calendars, a date range and an optional keyword. Events are written to an “Events” sheet. Recurring events are expanded. Importing again refreshes the same rows instead of adding duplicates.
Timesheets (Pro)
Add rules such as “title contains acme → Acme”, “guest domain globex.com → Globex”, “colour Tomato → Urgent” or “calendar Team”. The first matching rule wins. Hours are totalled per week or month in a “Timesheet” sheet, with an Unassigned row for everything else. All-day and declined events are left out.
Plans
- Free: sync and import up to 100 rows or events per run, one calendar per import.
- Pro, $5 per user per month or $48 per user per year: unlimited rows, several calendars at once, hourly automatic sync, two-way sync and timesheets. 14-day free trial.
- Domain, $480 per year: Pro for everyone in your Google Workspace domain.
Prices include VAT where it applies. Cancel at any time from the link in your receipt email.
Permissions
| Scope | Why |
|---|---|
spreadsheets.currentonly |
Read your rows and write Event ID, Sync status, imported events and timesheets, only in the spreadsheet where you open the add-on. |
calendar.events |
Create, update and delete the events your rows describe, and read events for import, two-way sync and timesheets. |
calendar.calendarlist.readonly |
List your calendars so you can choose them, and match the Calendar column. |
script.container.ui |
Show the sidebar and menu. |
script.scriptapp |
Run the hourly automatic sync you switch on. |
script.external_request,
userinfo.email |
Check your plan with our licence service. Only your email address and domain are sent. |
Calendar data is processed inside Google Apps Script and written only to your own spreadsheet and calendars. It is never sent to Kayabyte or anyone else. See the privacy policy and terms of service.
Support
support@kayabyte.dev, usually within one business day.
Google Sheets™ and Google Calendar™ are trademarks of Google LLC. Kayabyte is not affiliated with or endorsed by Google LLC.