The moment it happens
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.
- Runs
- The moment it happens
- Apps
- Smartsheet
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: whenever someone adds a row to my Smartsheet 'Requests' sheet, email me the requester, request type, due date and description from that row.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Smartsheet is often where a process starts: a request form feeds a sheet, a vendor adds an intake row, a sales rep logs a new deal. Whoever is responsible for the next step has to notice that a row appeared, and the sheet gives no strong signal. People refresh it between other tasks or rely on a colleague saying something. A new procurement request waits two days because the approver was not looking, and the requester has already sent a second email asking where it is.
When a row is added to the sheet, Smartsheet sends ClickRuntime a callback. After completing Smartsheet's verification handshake, ClickRuntime fetches the new rows and emails you the actual cell values, so the message shows what was entered without opening the sheet. It reacts within moments of the row being created.
It suits intake sheets, request trackers, order logs and any process where a new row means somebody has work to do.
What you get out of it
The next person acts the same hour
An email with the row's details lands the moment a row is added, so approvers and responders can begin work promptly, rather than whenever they next open the sheet. That speed makes the process feel responsive to the people who submitted the request.
Requests do not wait unseen
Intake sheets often fill up quietly. A notification for each new row means a request never sits for days just because the person who should handle it was busy elsewhere.
The email holds the real data
Because the message lists cell values, a recipient can often decide on the spot whether it is urgent, and who should handle it, without clicking through to check the details.
Sheet sharing can stay narrow
Not everyone who needs to hear about a new row needs edit access to the sheet. An email lets you inform an outsider or executive without extending their permissions. That keeps access tidy for security reviews too.
A trail of arrivals builds in the inbox
Each email is timestamped when the row was added, which provides a record of when requests came in and how quickly they were answered, useful for service-level reviews. Managers can see at a glance how fast the team keeps up.
How it works
What happens, step by step
When a row is added to your Smartsheet sheet, Smartsheet tells ClickRuntime straight away.
The automation reads the new row.
You get an email with each column name and its value, such as requester, request type, due date and description.
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, notify, http, credentials
API = "https://api.smartsheet.com/2.0"
FIELDS = ["Requester", "Request Type", "Due Date", "Description"]
@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")}
sent = 0
for e in body.get("events", []):
if e.get("objectType") != "row" or e.get("eventType") != "created":
continue
row = http.get(f"{API}/sheets/{body['scopeObjectId']}/rows/{e['id']}", headers=headers, params={"include": "columns"}).json()
titles = {c["id"]: c["title"] for c in row["columns"]}
values = {titles[c["columnId"]]: c.get("displayValue", "") for c in row["cells"]}
notify.email_me(f"New request from {values.get('Requester', 'someone')}", "\n".join(f"{f}: {values.get(f, '')}" for f in FIELDS))
sent += 1
return {"sent": sent}FAQ
Common questions
What is the verification challenge in the steps?
Will I get one email per row or one per batch?
Does it also send when a row is edited?
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
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.
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 “Get new Smartsheet rows by email” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
