Every hour
Know when stock is running low
When an item in your inventory sheet drops below its reorder level, Slack tells you once, not every hour.
- Runs
- Every hour
- Apps
- Google Sheets, Slack
- AI
- Not needed
- Access
- Sheets read; Slack chat:write
Send this to your assistant
Create a ClickRuntime automation: every hour, check my Inventory sheet and post to #ops any product whose stock is below its reorder level.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A small online shop keeps its stock in a Google Sheet: product, quantity on hand, reorder level, supplier. When a best-selling item hits zero, orders get canceled, the customer is annoyed and the supplier needs three weeks to deliver. The person who updates the sheet is rarely the person who places orders, so a number dropping below the reorder level sits in a cell until somebody happens to scroll past it.
Every hour, ClickRuntime reads the stock and reorder columns, finds every item whose quantity has fallen below its own reorder level, and posts it to Slack with the product, current stock and supplier. Each item is announced once, then stays quiet until it is restocked and falls below the level again.
Retail shops, restaurants, workshops and clinics with supplies use it so reordering is triggered by data, not memory.
What you get out of it
Reorders placed before shelves empty
A Slack alert at the reorder level leaves time for the supplier's lead time. You avoid the stockout instead of explaining it to customers. Customers keep seeing the product available when they come back to buy it.
Lost sales and canceled orders avoided
Every canceled order for an out-of-stock product is revenue lost and sometimes a customer who does not return. Warning early protects the best sellers that bring the most income. Those sales are the ones a shop can least afford to lose.
The right person is notified
Posting to the purchasing channel means whoever places orders sees the shortage, even when somebody else updates the numbers. Hand-offs between stock counters and buyers stop being a weak point.
Different levels for different items
Each product has its own reorder level in the sheet, so slow items and fast movers are treated properly. A single cutoff for everything either spams you or misses the items that sell quickly.
Less cash tied up in safety stock
Trustworthy alerts mean you can run leaner, because you will be told in time. Holding fewer spare units frees money for stock that sells and cuts the cost of storing items that do not.
How it works
What happens, step by step
Every hour, ClickRuntime reads the item names, stock levels and reorder levels from the Inventory tab of your Google Sheet.
It finds every item whose stock has dropped below its reorder level.
Newly low items are posted to your #ops Slack channel with how many are left and the reorder level.
Each item is reported only once, and only alerts again after it has been restocked and run low again.
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
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 Gmail
- Combine it with other Google Sheets and Slack steps into one automation
Under the hood
The code that runs this automation
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, state, notify
SHEET_ID = "your-spreadsheet-id"
@on_trigger
def run(event):
token = credentials.connection("google", "work")
sheets = build("sheets", "v4", credentials=Credentials(token), cache_discovery=False)
rows = sheets.spreadsheets().values().get(
spreadsheetId=SHEET_ID, range="Inventory!A2:C").execute().get("values", [])
alerted = set(state.get("alerted") or [])
low_now, lines = set(), []
for row in rows:
name, stock, reorder = (row + ["", "", ""])[:3]
try:
stock, reorder = int(stock), int(reorder)
except ValueError:
continue
if stock < reorder:
low_now.add(name)
if name not in alerted:
lines.append(f"• {name}: {stock} left (reorder at {reorder})")
if lines:
notify.slack("Low stock:\n" + "\n".join(lines), channel="#ops")
state.set("alerted", sorted(low_now)) # restocked items can alert again later
return {"low": len(low_now), "new_alerts": len(lines)}FAQ
Common questions
Will it keep alerting about the same item every hour?
What does my sheet need?
How quickly will I hear about a low item?
Can the alert show the supplier and lead time?
What if I update stock only once a day?
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 a Slack message when your sheet changes
When someone adds or edits a row, your team sees what changed without opening the sheet.
See how it worksMonitor a list of websites from a sheet
Add a site to your sheet and you'll hear in Slack whenever it goes down or comes back, with a log of every outage.
See how it worksKeep a log of events in a sheet
Everything your app or CRM sends is saved as a row, and the important events also go to Slack.
See how it worksKeep exploring
Set up “Know when stock is running low” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.