To send website changes to Google Sheets automatically, connect a sheet to a monitor: every time the page changes, a new row is added with the time, the page, a short summary of the change and the value that was read, such as the new price. In monity.ai the connection takes two steps with the free Webhooks for Sheets add-on, and no Zapier or code.
Step 1: Get a webhook address from your sheet
- Install Webhooks for Sheets from the Google Workspace Marketplace and accept its permissions.
- Open the spreadsheet, click the Webhooks icon in the side panel, choose the tab that should receive rows and click Create. If it asks, click Authorise and create the webhook again.
- Copy the address it gives you. It starts with https://script.google.com/.
Step 2: Connect it to the task
Edit the task, open its Channels tab, switch on Google Sheets, paste the address and click Connect. Click Test and a sample row with the task name “Test” appears in the sheet. Then save the task.

The columns
| Column | What it holds |
|---|---|
| Datetime | When the check ran, in your timezone |
| Last alert | When this task last alerted before, if ever |
| Task name | The task’s name |
| URL | The page being watched |
| View changes | A link to the check in monity.ai, with the before and after |
| Label | The task’s labels |
| AI Summary | What changed, in a sentence or two |
| Output | The value Monity read, if the task extracts one |
Several tasks can write to the same sheet, which gives you one log across all of them: one tab of competitor prices, say, with a row each time any of them changes.
Get the value, not just the summary
For prices, rates, counts and other values, let Monity read the value. Describe it in the task, such as “the price of each plan”, and a few minutes after you save, Monity’s AI confirms what it reads; the value goes into the Output column with each alert. For one exact number with a condition, such as “below 1.30”, use data extraction.

One row per alert
The sheet gets a row when a check finds a change worth an alert, not a full copy of the page on every check. That keeps the sheet readable as a log. To send the data into your own systems, use a webhook: it posts signed JSON to your endpoint on every alert, or on every completed check if you turn on Send every check (data feed). The REST API lists your monitors and their checks.
Related: tracking competitor prices automatically, getting an alert when a web page changes, Google Sheets alerts in the docs and the Google Sheets integration.