Skip to content

On a schedule

Get a daily Slack list of products running low

Every day your team sees which WooCommerce products have dropped below 10 in stock, so you reorder before they sell out.

Runs
On a schedule
Apps
Slack, WooCommerce
AI
Not needed
Access
Woo read; chat:write

Send this to your assistant

Create a ClickRuntime automation: every morning, list WooCommerce products and variations with stock under 10 and post the ones that have newly dropped low to #inventory.

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 shop selling a few hundred products relies on someone noticing that a best seller is almost gone. Usually they notice when it shows as out of stock and orders stop, and with a two-week supplier lead time that means weeks of lost sales.

A daily low-stock list in Slack gives whoever does purchasing a clear prompt with time to act. Because only newly low items are posted, the message stays short enough to read every day.

What you get out of it

  • Reorder before the sell-out

    Catching stock at 10 units instead of zero leaves room for supplier lead times, so popular products keep selling.

  • Variations aren't missed

    Sizes and colours are checked individually, which matters when one size runs out while the parent product still shows stock.

  • Short, readable alerts

    Products are posted once when they drop low, not every day until restocked, so the channel doesn't become noise.

  • Purchasing is a team job

    Posting in #inventory lets whoever handles suppliers pick it up, without relying on one person checking the admin.

How it works

What happens, step by step

  1. Every morning, ClickRuntime reads the stock levels of your WooCommerce products and their variations.

  2. It picks out anything with fewer than 10 in stock.

  3. It skips items it already reported that haven't been restocked since, so each product is posted once.

  4. It posts the list of newly low items, with their stock counts, to #inventory in Slack.

Before it runs live

  • Connect Slack, then invite the app to the channel (type /invite @ClickRuntime there)
  • Connect WooCommerce

What you get

RunsOn a schedule
Get a daily Slack list of products running lowtoday, 9:00Succeeded
Slack · #inventoryRunning low: • Northwind Mug – Blue: 4 left • Acme Tote – Large: 7 left

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

  • Run it at a different time, more or less often, or only on weekdays
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Google Sheets
  • Combine it with other Slack and WooCommerce 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.
low_stock_alerts_to_slack.pyexample
from clickruntime import on_trigger, credentials, http, state, notify

STORE = "https://shop.example.com/wp-json/wc/v3"
THRESHOLD = 10

@on_trigger
def run(event):
    auth = (credentials.secret("WOO_KEY"), credentials.secret("WOO_SECRET"))
    low = {}
    for p in http.get(f"{STORE}/products", auth=auth, params={"per_page": 100, "status": "publish"}).json():
        items = [p]
        if p["type"] == "variable":
            items = http.get(f"{STORE}/products/{p['id']}/variations", auth=auth, params={"per_page": 100}).json()
        for i in items:
            if i.get("manage_stock") and (i.get("stock_quantity") or 0) < THRESHOLD:
                name = p["name"] + (" – " + " / ".join(a["option"] for a in i.get("attributes", [])) if i is not p else "")
                low[str(i["id"])] = (name, i.get("stock_quantity") or 0)
    seen = set(state.get("reported") or [])
    new = {k: v for k, v in low.items() if k not in seen}
    if new:
        notify.slack("Running low:\n" + "\n".join(f"• {n}: {q} left" for n, q in new.values()), channel="#inventory")
    state.set("reported", list(low))
    return {"low": len(low), "new": len(new)}

FAQ

Common questions

Which products are checked?
Products and variations with stock management turned on in WooCommerce. Products without a stock count are skipped.
Can different products have different thresholds?
Yes. Store a threshold in a product's custom field or keep a list of exceptions, and ask your AI assistant to use it instead of a single number.
When will a product be posted again?
Once it's been restocked above the threshold and then drops low again.
What permissions does it need?
Woo read; 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 runs (on a schedule). Checks that find nothing to do 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 daily Slack list of products running low” from your assistant

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