Skip to content

Every 15 minutes

Get told when a status changes in a shared sheet

When someone edits a status or owner, you see the old and new value.

Runs
Every 15 minutes
Apps
Google Sheets
AI
Not needed
Access
read

Send this to your assistant

Create a ClickRuntime automation: every 15 minutes, check my Pipeline sheet and tell me in Slack about any row whose Status changed, with the old and new value.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A property management team shares a tracker sheet with a status column and an owner column for each repair job. A technician switches a job to Done, a coordinator reassigns another to a new contractor, and someone changes an urgent job back to Waiting. Nobody is told, so the person who needs to know finds out when a tenant phones to ask why no one came, or when two contractors turn up for the same fix.

Every 15 minutes, ClickRuntime reads the sheet range and compares each row with the snapshot it saved the last time. When the status or owner of a row differs, a message lists the row, the old value and the new value. It then saves the new snapshot for the next comparison.

Project, facilities and operations teams use it where a few key columns matter more than the rest of the sheet.

What you get out of it

  • Handoffs are never silent

    When ownership of a job changes, the new and old owners both see it. That prevents tasks from being dropped between people or worked on twice. Contractors are less likely to be double-booked.

  • Status changes reach those who need them

    A job marked Done tells the coordinator to inform the tenant, while one moved back to Waiting signals a problem. Seeing the old and new value together makes the right response obvious.

  • Only important columns trigger messages

    Ignoring notes and formatting edits means you hear about changes that matter. People still use the sheet freely, and your alerts stay meaningful. Cosmetic edits and long notes stay out of the way.

  • Accidental edits are caught

    A status overwritten by a slip of the keyboard is visible within the interval. Fixing it quickly avoids decisions based on wrong data. Wrong data does less harm when it is fixed quickly.

  • A trail of who changed what, and when

    The messages show the time of each change, which helps when two people remember a decision differently. A dated record settles questions that memory cannot. Disputes get resolved faster with a clear record.

How it works

What happens, step by step

  1. Every 15 minutes ClickRuntime reads your shared Google Sheet, such as a sales pipeline.

  2. It compares each row's status with what it was at the last check.

  3. Any change is posted to your Slack channel showing the old and new status, such as Proposal to Won.

  4. The current statuses are saved for the next check.

Before it runs live

  • Connect your Google Sheets account and pick the spreadsheets it may use

What you get

RunsEvery 15 minutes
Get told when a status changes in a shared sheettoday, 9:00Succeeded
Slack · #salesPipeline changes • Acme renewal: Proposal → Won • Northwind pilot: Demo → Proposal

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Act only on the items that match your own rules, and skip the rest
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Slack
  • Combine it with other Google Sheets steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
changed_row_alert.pyexample
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, report_fetched, credentials, state, notify

SHEET_ID = "your-spreadsheet-id"

@on_trigger
def run(event):
    sheets = build("sheets", "v4", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False).spreadsheets()
    rows = sheets.values().get(spreadsheetId=SHEET_ID, range="Pipeline!A2:C").execute().get("values", [])
    current = {r[0]: (r + ["", "", ""])[2] for r in rows if r}  # deal name -> Status (column C)
    before = state.get("status")
    if before is None:  # first run: remember the current statuses
        state.set("status", current)
    changes = [(k, before[k], v) for k, v in current.items() if before and k in before and before[k] != v]
    report_fetched(len(changes))
    if not changes:
        return {"summary": "No changes"}
    state.set("status", current)
    notify.slack("Pipeline changes\n" + "\n".join(f"• {k}: {old} → {new}" for k, old, new in changes), channel="#sales")
    return {"changes": len(changes)}

FAQ

Common questions

Which columns can I watch?
Any you name, such as Status and Owner. Changes in other columns are ignored. If you want to watch a due date or priority too, include them in the list and each will produce its own old-and-new message.
How does it find the same row after sorting?
It matches rows by a unique key column, such as a job ID, rather than by position. If you sort or insert rows, the comparison still lines up, so a reordered sheet does not look like every row changed.
What if two changes happen between checks?
You see the net result compared with the snapshot, such as Open to Done, not each step. That is enough for most trackers. For a full history of steps, use the sheet's own version history.
What permissions does it need?
read. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it checks. Checks that find nothing new and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Get told when a status changes in a shared sheet” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.