Google Sheets automation without a cloud middleman.
A spreadsheet makes a good inbox or ledger for a workflow. Cronable appends a row when something happens elsewhere, reads a range when a report needs numbers, and starts a run the moment someone adds a row, from a machine you own.
A Google Sheets workflow on the canvas
Each card is one job. A wire means the next job runs when the one before it succeeds, or when it fails.
Create contact
HubSpot·Running
After Score the lead (succeeded)
1s
Score the lead
Claude (API)·Succeeded
After New lead row (succeeded)
12s ago
New lead row
Sheet watch·Succeeded
On new row
40s ago
New lead row
Sheet watch·Succeeded
On new row
40s ago
Score the lead
Claude (API)·Succeeded
After New lead row (succeeded)
12s ago
Create contact
HubSpot·Running
After Score the lead (succeeded)
1s
“When a new row lands in my Leads sheet, score it with Claude and create the contact in HubSpot.”
Every Google Sheets step Cronable ships
Actions
Steps a workflow can take in Google Sheets.Append a row
Add one row to a tab, one cell per line, filled from earlier steps. Choose whether Sheets reads the values as if typed, so dates and formulas parse, or stores them raw.
Read a range
Read any A1 range, such as Sheet1!A1:D50 or a whole-column band. Numbers come back as numbers by default; you can ask for formatted values or formulas instead.
Triggers
What starts a Google Sheets workflow.New row added
The Sheet watch trigger checks a tab on an interval and starts one run per new row. The run’s output is the row itself, so the next step can act on each signup, order or request.
Google Sheets workflows worth automating first
Lead intake to your CRM
Sheet watch fires on each new row in your leads tab, Claude scores the lead against your criteria, and HubSpot gets a new contact with the score attached.
A daily numbers log
A morning job reads a figure from Stripe or your database and appends one dated row, so the sheet becomes a history nobody has to type.
Expense rows from email
Receipts emailed to a mailbox go to an AI step that pulls vendor, amount, date and category out of the message text, and the row is appended to the expenses tab. Attachments are not read.
Reminders driven by a sheet
Read a range of due dates each morning, let a Code step keep the rows due today, and send each one to Slack or by email.
How you connect
Connecting Google Sheets
Sheets uses a Google service account: no consent screen, no app verification, no review.
- 1Create a service account in Google Cloud and download its JSON key once.
- 2Store the key as a Google service account credential in Cronable. The whole key is encrypted and masked.
- 3Share the spreadsheet with the service account’s email address, the same way you would share it with a colleague.
Your Google Sheets automation, on your own machine
Runs on your own machine
Install Cronable as a Mac or Windows app, or on a server you own. Your Google Sheets jobs, secrets and run history stay on that machine by default.
Built from one sentence
Describe the workflow in plain English and the built-in assistant builds the jobs, the schedule and the failure handling for you to review on the canvas. On every plan, including Free.
Unlimited runs
Plans count the jobs you define, not how often they fire. A job that touches Google Sheets every hour costs the same as one that runs once a month.
Credentials encrypted locally
Keys and tokens are AES-256-GCM encrypted in a local database, referenced from jobs by name and masked out of logs and run output.
Google Sheets automation, answered
Can Cronable read and write Google Sheets?
Yes. It reads any range and appends rows to any tab you have shared with its service account, and its Sheet watch trigger starts a workflow when a new row appears.
Do I have to verify an app with Google?
No. Sheets authenticates as a service account, which has no consent screen and needs no Google verification. You create one JSON key, store it in Cronable and share the sheet with the account’s email.
Where is the service account key stored?
Encrypted in the local credential store on the machine running Cronable. The whole key, private key included, is masked out of logs and output, and jobs only ever refer to it by name.
Can a new row trigger a workflow?
Yes. Sheet watch checks the tab you choose (every 30 seconds by default) and starts one run per appended row. Rows already in the sheet when you switch it on are not replayed.
Why does the job fail with a 403?
The spreadsheet has not been shared with the service account yet. Open Share in Google Sheets, add the account’s client_email address, and the next run gets through.
Related integrations
Solutions that use Google Sheets
Anything you do twice in Google Sheets is cronable.
If a spreadsheet is where the work piles up, the piling up can run itself.