Calrows
Calrows is a Google Sheets™ add-on that turns spreadsheet rows into Google Calendar™ events, exports a calendar to a sheet, and builds timesheets from calendar events. This page is written for the Google Workspace administrator who has been asked to approve it. It lists exactly what the add-on accesses, what it never does, where data goes, and the Admin console steps to approve or install it. Questions: [email protected], answered within one business day.
| App name on the Marketplace | Calrows: Sheets™ Calendar™ Sync, Export, Timesheet (app ID 163011926713) |
|---|---|
| Listing | workspace.google.com/marketplace/app/calrows_sheets_calendar_sync_export_time/163011926713 |
| Type | Editor add-on for Google Sheets™ (Apps Script). Appears under Extensions › Calrows inside a spreadsheet. |
| Developer | Calrows, an independent developer based in Bengaluru, India. Contact |
| Google OAuth verification | Completed. The Calendar scope is a Google "sensitive" scope, and the app passed Google's verification for it. |
| Where your data is processed | Inside Google's own infrastructure (Apps Script, Sheets, Calendar), under each user's account. Nothing is copied to Calrows servers. |
| Outbound connections | One: licence.calrows.com (Cloudflare Workers), which receives the user's email address and a licence key to answer "Free or Pro". No spreadsheet or calendar content is ever sent. |
| Payments | Paddle.com Market Ltd is the merchant of record. Calrows never sees card details. |
| AI | None. No data is used for AI, machine learning or advertising. |
| Policies | Privacy policy · Terms of service · Refund policy |
These are the exact OAuth scopes declared by the add-on. A user sees them on Google's permission screen the first time they open Calrows.
| Permission shown to the user | Scope | What Calrows does with it |
|---|---|---|
| View and manage spreadsheets that this application has been installed in | spreadsheets.currentonly | Reads the rows in the spreadsheet the user opens the add-on in, and writes event IDs, exports, timesheets and the Sync Log back into that same spreadsheet. It cannot open any other spreadsheet. |
| See, edit, share, and permanently delete all the calendars you can access using Google Calendar | calendar | This is the standard wording for Google's CalendarApp service, which has no narrower option for add-ons. Calrows uses it only to list calendar names in the picker, then to create, update and read events in the one calendar the user selects. See what it never does. |
| Display and run third-party web content in prompts and sidebars inside Google applications | script.container.ui | Shows the Calrows sidebar inside Google Sheets. |
| Allow this application to run when you are not present | script.scriptapp | Runs automatic sync on a schedule (every hour, 6 hours or day) only if the user turns it on, and continues long syncs in chunks so large sheets finish within Google's time limits. |
| Connect to an external service | script.external_request | The single licence check to licence.calrows.com, described above. |
| See your primary Google Account email address | userinfo.email | Identifies the account for the licence check, so Pro can be unlocked per person. |
| Location | Data | Who controls it |
|---|---|---|
| Inside the user's spreadsheet (Google Drive) | A hidden column of event IDs, a hidden tab listing the events Calrows created, a Sync Log tab, the column mapping and the chosen calendar. | The user. Deleting those tabs or the spreadsheet removes it. |
| Apps Script user properties (Google) | A monthly count of new events on the free plan, and a cached "is this account Pro" answer. | Google, under the user's account. |
| licence.calrows.com (Cloudflare Workers, KV storage) | For paying customers only: the email address given at checkout, the plan and its expiry date. Free users are looked up but no record is created for them. | Calrows. Deleted on request to [email protected]. |
| Paddle | Checkout email and payment details entered by the buyer. | Paddle, as merchant of record. |
Only an administrator of your Google Workspace organisation can do this; Calrows cannot change these settings from its side. Steps and menu names are from Google's own documentation, linked at the end of each step.
An admin install does not give Calrows, or anyone else, access to your organisation's data. The add-on still runs under each user's own account, in the spreadsheet they open and the calendar they choose, and each user may still be shown Google's permission screen the first time they use it.
| Hosting | Google Apps Script for all add-on logic; Cloudflare Workers and KV for the licence server; Cloudflare Pages for this website. |
|---|---|
| Data in transit | HTTPS only. |
| Sub-processors | Google (add-on runtime, Sheets, Calendar), Cloudflare (licence server, website), Paddle (payments). No others. |
| Data retention | Nothing retained outside the user's Google account except the licence record for paying customers, kept while the licence is valid and deleted on request. |
| Data deletion | Users remove in-sheet data by deleting the tabs or spreadsheet; licence records are deleted on request to [email protected]; revoking access at myaccount.google.com/permissions stops all access immediately. |
| Access by Calrows staff | No access to any customer's spreadsheet or calendar data. The licence server exposes only email, plan and expiry, to the developer. |
| Incident contact | [email protected] |
If Google told you that your administrator needs to approve Calrows, copy this into an email or chat message to your IT team.
Hi, I'd like to use Calrows, a Google Sheets add-on that syncs spreadsheet rows with Google Calendar and builds timesheets from calendar events. It's blocked for our organisation at the moment.
It's verified by Google, keeps all data inside our Google account, and only connects out to its licence server with my email address. Everything it accesses and the Admin console steps to approve it are on one page: https://calrows.com/admins
Could you allowlist it (Apps › Google Workspace Marketplace apps › Apps list › Allowlist app), and mark it Trusted under API controls if we restrict Calendar access? Thanks!