Skip to content

Every 10 minutes

Get a Slack message when your sheet changes

When someone adds or edits a row, your team sees what changed without opening the sheet.

Runs
Every 10 minutes
Apps
Google Sheets, Slack
AI
Not needed
Access
Sheets read; Slack chat:write

Send this to your assistant

Create a ClickRuntime automation: every 10 minutes, check my Orders sheet and post any new or edited rows to #ops.

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 shared Google Sheet is edited by six people: a pipeline tracker, a launch checklist, a staffing roster. Someone changes a delivery date, someone else marks a task done, and a third person deletes a row by mistake. Google's own notifications only say the file was edited, and sometimes email arrives hours later, so nobody knows what exactly changed or who needs to react to it.

Every 10 minutes, ClickRuntime reads the sheet and compares each row with a stored snapshot hash from the previous run. When a row is new or its content differs, a message is posted to Slack with the row's key values, so the team sees changes soon after they are made.

Project teams, operations groups and event planners use it to keep a shared sheet from changing silently.

What you get out of it

  • Changes are visible to the whole team

    A Slack message with the row's values means everyone sees the new date or owner without opening the sheet. Dependent teams can adjust their plans the same hour. Planning no longer waits for someone to say it out loud in a meeting.

  • Quiet edits cannot hide

    A deliberate or accidental change to a cost or a date appears in the channel, together with its row. That discourages unreviewed changes and makes mistakes easy to catch while they are fresh.

  • Faster than built-in notifications

    Sheets notifies at the file level, often with delay and without detail. Row-level comparison tells you which line changed and how, so the next action is clear. That cuts the wait between an edit and everyone knowing about it.

  • Deletions and additions are noticed

    New rows and removed rows both show up. A deleted customer or a lost task is not discovered weeks later when a total no longer adds up. Records stay complete even when rows are cleaned up by mistake.

  • A lightweight audit trail

    The messages in Slack form a dated list of what changed in the sheet. When a number is disputed, you can scroll back and find the point it was edited.

How it works

What happens, step by step

  1. Every 10 minutes, ClickRuntime reads the rows in the Orders tab of your Google Sheet.

  2. It compares each row with how it looked at the last check to find new and edited rows.

  3. When something has changed, a message appears in your #ops Slack channel listing each new or edited row and its contents.

Before it runs live

  • Connect your Google Sheets account and pick the spreadsheets it may use
  • Connect Slack, then invite the app to the channel (type /invite @ClickRuntime there)

What you get

RunsEvery 10 minutes
Get a Slack message when your sheet changestoday, 9:00Succeeded
Slack · #ops📝 Orders sheet changed new row 48: 1048 | Northwind Traders | 12 | Shipped edited row 45: 1045 | Acme | 3 | Cancelled

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 Gmail
  • Combine it with other Google Sheets and Slack 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.
slack_alert_when_a_sheet_changes.pyexample
import hashlib
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, state, notify, report_fetched

SHEET_ID = "your-spreadsheet-id"

@on_trigger
def run(event):
    sheets = build("sheets", "v4", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
    rows = sheets.spreadsheets().values().get(spreadsheetId=SHEET_ID, range="Orders!A2:F").execute().get("values", [])
    old = state.get("hashes") or {}
    hashes = {str(i): hashlib.md5("|".join(r).encode()).hexdigest() for i, r in enumerate(rows, start=2)}
    changed = [(int(i), "new" if i not in old else "edited") for i, h in hashes.items() if old.get(i) != h]
    report_fetched(len(changed) if old else 0)
    if not old or not changed:
        if not old:
            state.set("hashes", hashes)
        return {"changed": 0}
    lines = [f"{kind} row {i}: {' | '.join(rows[i - 2])}" for i, kind in changed[:20]]
    notify.slack("📝 Orders sheet changed\n" + "\n".join(lines), channel="#ops")
    state.set("hashes", hashes)
    return {"changed": len(changed)}

FAQ

Common questions

Can I watch only certain columns?
Yes. You can choose the columns that count, such as status and owner, and ignore the rest, like a notes column that people edit constantly. Only a change in the chosen columns will produce a message.
Does it say who updated a row?
The Sheets API does not return the editor for individual cells, so the message shows what changed but not who. If knowing the editor matters, Google's version history in the sheet shows the author and the time of each change.
How are several quick updates handled?
Because it compares the sheet every 10 minutes, several quick edits to one row appear as a single change. You see the final state compared with the earlier snapshot, which keeps the channel from filling with half-finished edits.
What permissions does it need?
Sheets read; Slack chat:write. 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 a Slack message when your sheet changes” from your assistant

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