Weekly
Get weekly store numbers compared to last week
A Monday post gives revenue, orders, average order value and best sellers, each against the week before.
- Runs
- Weekly
- Apps
- WooCommerce
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every Monday at 8am, Slack me last week's WooCommerce revenue, order count, average order value and top 5 products, with the change from the week before.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Plenty of WooCommerce owners look at revenue when a payment lands or when the accountant asks, not on a fixed rhythm. That makes drift easy to miss. Average order value can slide a few dollars a week after a shipping-fee change, or a best seller can quietly fall out of the top five, and neither shows up in a single day's dashboard glance.
Every Monday, the previous week's sales report and top-selling products are pulled from WooCommerce. They are compared against the numbers stored from the week before, and one Slack message goes out with revenue, order count, average order value, the percentage change on each and the best sellers.
It suits small teams that want a standing Monday number to open the week with, and founders who have never had time to build a proper reporting sheet.
What you get out of it
Order value drift is caught
A slow fall in average order value after a free-shipping threshold change is easy to miss day to day but obvious when this week sits next to last week in the same message.
Best sellers are tracked weekly
If the product that carried the store for months drops down the ranking, you see it within seven days and can check stock, price or a competitor's offer. The comparison also shows whether a lost sale was a one-off or the start of a pattern.
Promotions get a fair test
Running a discount code for one week and reading the revenue and order change on Monday gives you a straight answer on whether it earned more than it cost. Because both weeks come from the same report, the result is comparable and not skewed by definitions.
Everyone quotes the same figures
Posting to a shared Slack channel means marketing, operations and the owner argue about decisions rather than about whose export of the numbers was right. That matters most for owners whose freelancers, partners and investors all ask the same questions.
No spreadsheet to maintain
The week-over-week comparison comes from stored values, not a sheet someone has to paste into, so the report does not stop the first time the person who built it goes on leave.
How it works
What happens, step by step
Once a week, ClickRuntime pulls the week's sales report and top sellers from your WooCommerce store.
It compares revenue, orders and average order value with the numbers it saved last week.
The figures are posted to your #sales Slack channel with the change against last week next to each one.
Before it runs live
- Connect WooCommerce
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
- 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 Slack
- Combine it with other WooCommerce steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, state, notify
STORE = "https://yourstore.com/wp-json/wc/v3"
def change(now, before):
return f" ({(now - before) / before:+.0%})" if before else ""
@on_trigger
def run(event):
auth = (credentials.secret("WC_CONSUMER_KEY"), credentials.secret("WC_CONSUMER_SECRET"))
sales = http.get(f"{STORE}/reports/sales", auth=auth, params={"period": "last_week"}).json()[0]
top = http.get(f"{STORE}/reports/top_sellers", auth=auth, params={"period": "last_week"}).json()[:5]
revenue, orders = float(sales["total_sales"]), int(sales["total_orders"])
aov = revenue / orders if orders else 0
prev = state.get("last_week") or {}
lines = [f"Revenue: ${revenue:,.2f}{change(revenue, prev.get('revenue'))}",
f"Orders: {orders}{change(orders, prev.get('orders'))}",
f"Average order: ${aov:,.2f}{change(aov, prev.get('aov'))}",
"Top products: " + ", ".join(f"{t['name']} ({t['quantity']})" for t in top)]
notify.slack("*Last week in the store*\n" + "\n".join(lines), channel="#sales")
state.set("last_week", {"revenue": revenue, "orders": orders, "aov": aov})
return {"revenue": revenue, "orders": orders}FAQ
Common questions
What does the Slack message include?
Which orders count toward revenue?
Can it post to a channel the whole company sees?
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
Sort customers into champions, loyal, at-risk and lost
Once a month you see which customers buy often and recently, and which have drifted away.
See how it worksMake follow-up coupons for unfinished orders
Each evening, customers with pending orders get a unique coupon and you get the list to follow up.
See how it worksGet a morning list of low-stock products
Products dropping under your threshold are emailed to you each morning, without repeats of ones already flagged.
See how it worksKeep exploring
Set up “Get weekly store numbers compared to last week” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.