The moment it happens
See row changes from Smartsheet in Slack
When a row in your tracker is edited, a Slack post shows which cells changed and what they were before.
- Runs
- The moment it happens
- Apps
- Smartsheet
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: when any row in my Smartsheet 'Project Tracker' is updated, post to #projects in Slack with the task name and the old and new values of the cells that changed.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A sheet that several people edit is a source of quiet surprises. A contractor changes a delivery date from the 12th to the 26th, a salesperson raises a deal amount, a status flips from In Progress to Blocked, and nobody else on the project is told. Smartsheet keeps cell history, but you only see it by opening the row and checking. By the time the change is noticed, other people have made plans around the old value and the correction costs a day.
When a row changes, Smartsheet notifies ClickRuntime, which fetches the row, compares it with the copy it stored last time, and posts a message to Slack showing exactly what was different, such as the date moving from one value to another. Changes in columns you do not care about can be ignored.
Project managers, account owners and finance teams use it to watch the columns that other people can influence.
What you get out of it
Changes are seen as they happen
A blocked status or a moved date reaches the team within moments, so dependent work can be rescheduled before wasted effort piles up on the wrong assumption. The earlier the team knows, the less rework follows.
The before and after are shown
A post stating that Due Date moved from March 12 to March 26 is far more useful than a general notice that a row was updated, and it avoids opening the sheet to hunt for the change.
Sensitive columns get oversight
If budget, approved amount or contract value changes, finance sees it directly. An unexpected edit can be questioned the same day, while the person remembers why they made it. That is far more effective than a quarterly review of change history.
Accountability is gentle but real
When changes are visible in a channel, people think twice before altering shared data casually, and they are more likely to leave a comment explaining the reason. Nobody has to police the sheet for it to work.
Stakeholders stay informed without access
A client or executive can follow important changes in a Slack channel without being given edit rights to the working sheet or being asked to refresh it daily. That keeps the working sheet clean and the audience informed.
How it works
What happens, step by step
When a row changes in your Smartsheet sheet, Smartsheet tells ClickRuntime straight away.
The automation reads the row and compares it with the copy it saved last time.
A message goes to your Slack channel showing which fields changed, from what to what. The new copy is saved for next time.
Before it runs live
- Connect Smartsheet
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
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 Smartsheet steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, state, notify, http, credentials
API = "https://api.smartsheet.com/2.0"
@on_event
def handle(event):
challenge = event.header("Smartsheet-Hook-Challenge")
if challenge:
return {"smartsheetHookResponse": challenge}
body = event.json or {}
headers = {"Authorization": "Bearer " + credentials.connection("smartsheet", "main")}
posted = 0
for row_id in {e["id"] for e in body.get("events", []) if e.get("objectType") == "row" and e.get("eventType") == "updated"}:
row = http.get(f"{API}/sheets/{body['scopeObjectId']}/rows/{row_id}", headers=headers, params={"include": "columns"}).json()
titles = {c["id"]: c["title"] for c in row["columns"]}
now = {titles[c["columnId"]]: c.get("displayValue", "") for c in row["cells"]}
before = state.get(f"row:{row_id}") or {}
changes = [f"{k}: {before.get(k, '?')} → {v}" for k, v in now.items() if before and before.get(k) != v]
state.set(f"row:{row_id}", now)
if changes:
notify.slack(f"{now.get('Task Name', 'Row')} changed\n" + "\n".join(changes), channel="#projects")
posted += 1
return {"posted": posted}FAQ
Common questions
How does it know what changed?
Can I watch only certain columns?
What happens the first time a row is seen?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Get new Smartsheet rows by email
Each time a row is added to the sheet, you get an email with every cell value in it.
See how it worksEmail yourself a weekly copy of a sheet
Every Monday you receive an export of the sheet, so you always have last week's version on hand.
See how it worksGet a Monday list of overdue rows by owner
Once a week, one email lists every unfinished row past its due date, grouped under the person it's assigned to.
See how it worksKeep exploring
Set up “See row changes from Smartsheet in Slack” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
