Hourly
Hear about 1 and 2 star reviews quickly
Poor product reviews reach you within the hour, with the text, so you can respond.
- Runs
- Hourly
- Apps
- WooCommerce
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every hour, check for new WooCommerce product reviews and Slack me any rated 2 stars or less, with the product name, rating and review text.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A one-star review on a WooCommerce product page sits in public view, and the next shopper reads it before they read anything else. If it complains about a late delivery or a faulty item, the owner usually learns about it by accident when scrolling the admin, if at all. The customer feels ignored, the review stays unanswered, and the conversion rate on that product slips for weeks.
Every hour the automation asks WooCommerce for reviews posted since the last check, keeps those rated one or two stars, and posts them in Slack with the product, the rating, the reviewer and the text. It then saves the position it reached, so the same review is not reported twice.
It suits shops where a reply within a day can turn a bad experience around.
What you get out of it
Reply while the customer is still listening
A quick, polite answer with a refund or replacement offer often leads to the review being updated or deleted by the customer, which a reply a month later never achieves.
Spot a faulty batch
Two low reviews on the same product in one day point to a defect or a bad supplier delivery. You can pause sales before more customers are affected. That kind of early warning protects both customers and your supplier relationship.
Visitors see you care
A public reply to a complaint shows prospective buyers that someone is there, which can soften the effect of the review itself. Visitors reading the thread see both the problem and the fix, which builds trust.
Learn from specific complaints
The review text is posted, so product, packaging and shipping problems reach the people who can fix them, not just the owner. Fixing a repeated packaging problem helps every later customer, not just the one who complained.
No daily review patrol
You stop browsing product pages looking for bad news. The channel stays quiet until there is something to act on. Time goes back to answering customers instead of checking pages for news you hoped not to find.
How it works
What happens, step by step
Every hour, ClickRuntime checks your WooCommerce store for product reviews posted since the last check.
It keeps only the 1 and 2 star reviews.
Each one is posted to your #reviews Slack channel with the rating, the product, the reviewer and what they wrote.
It remembers the last review it saw, so no review is posted twice.
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
- 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 WooCommerce steps into one automation
Under the hood
The code that runs this automation
import html, re
from clickruntime import on_trigger, credentials, http, state, notify, report_fetched
STORE = "https://yourstore.com/wp-json/wc/v3"
@on_trigger
def run(event):
auth = (credentials.secret("WC_CONSUMER_KEY"), credentials.secret("WC_CONSUMER_SECRET"))
since = state.get("last_seen") or "2026-01-01T00:00:00"
reviews = http.get(f"{STORE}/products/reviews", auth=auth,
params={"after": since, "per_page": 100, "orderby": "date", "order": "asc"}).json()
report_fetched(len(reviews))
if not reviews:
return {"new": 0}
for r in reviews:
if r["rating"] <= 2:
text = html.unescape(re.sub("<[^>]+>", "", r["review"])).strip()
notify.slack(f"{'★' * r['rating']} on *{r['product_name']}* from {r['reviewer']}\n> {text[:400]}",
channel="#reviews")
state.set("last_seen", reviews[-1]["date_created"])
return {"new": len(reviews)}FAQ
Common questions
Does it flag reviews I have not approved?
Can it include three-star reviews?
Will it reply to the review for me?
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
Keep WooCommerce products in sync with a supplier feed
Products sent to your link are created when the SKU is new, otherwise their price and stock are updated.
See how it worksSort 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 worksKeep exploring
Set up “Hear about 1 and 2 star reviews quickly” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.