About the spreadsheet script
Every Google Sheets automation depends on a short script that lives in your spreadsheet. It is the one piece of setup that cannot be done from Automette alone, so it is worth knowing what it is for.
Why it exists
Airtable can call a webhook when a record changes. Google Sheets cannot: Google offers no way for an outside application to be told that a cell was edited. The only code that learns about an edit as it happens is code running inside the spreadsheet, which is what Apps Script is.
So Automette generates a script, you paste it in once, and from then on the spreadsheet does the telling.
One script per spreadsheet, not per automation
The script belongs to the spreadsheet rather than to any one automation. Install it once and every Automette automation on that spreadsheet, now or later, works through it. Changing an automation's tab, trigger column or value never means touching the script again.
That is a deliberate change from the first version, where each automation had its own script. Two automations on one spreadsheet meant two scripts fighting over the same edit handler, and editing an automation meant re-pasting code.
How it stays quiet
Sending every edit to us would mean a request each time anyone types anywhere in the sheet. Instead, Automette writes a small filter into the spreadsheet's own developer metadata: which tabs matter, and for each, the trigger columns and values. The script reads that locally on every edit, and only when a row qualifies does a request leave Google.
When you change an automation, Automette rewrites that metadata. The script picks it up without you reinstalling anything.
What it sends
For a qualifying row: which spreadsheet and tab it came from, the row number, and the row's values keyed by the headers in row 1. Nothing else in the spreadsheet is read or sent.
If Automette is briefly unreachable the script retries a few times before giving up.
Only edits made by a person
Apps Script's edit trigger does not fire for values written by a formula, by another script, or through the Sheets API. This is Google's rule and there is no way around it from our side. It is the single most common reason an automation appears to do nothing: the trigger column is filled by a formula, and no human ever types in it.
If your trigger value arrives by formula, have the automation watch a column somebody actually edits, or push the row to Automette through the API instead.
The secret, and what it protects
The script carries a secret that identifies the spreadsheet to Automette. Anyone who can open the spreadsheet's script editor can read it, which is the same set of people who can already edit the rows the automation runs on, so it grants them nothing new. What it prevents is someone else posting rows to your automations.
The secret is not your Google credentials. It stays valid even if your Google connection expires, which means the script keeps reporting edits while write-back stops working: documents still generate, but their links cannot be written into the sheet until you reconnect.
What we would rather do instead
A published Google Workspace add-on would remove the copy and paste entirely: install from the Marketplace, no script editor, no unverified-script warning. That means Google's add-on review and a separate release process, so it is planned rather than built. Until then, the paste is the price of Google's not offering webhooks.
Last updated on