Hourly
Hear about low Etsy reviews within the hour
Any new review under 4 stars is posted to Slack with the rating and text so you can respond quickly.
- Runs
- Hourly
- Apps
- Etsy
- AI
- Not needed
- Access
- read (public endpoint, API key)
Send this to your assistant
Create a ClickRuntime automation: check my Etsy shop reviews every hour and send any new review below 4 stars to #shop-feedback in Slack with the rating, the review text and the listing.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A two-star review on an Etsy listing sits in front of every shopper who opens it, and buyers comparing similar items read the most recent feedback first. Most sellers only find out when they happen to open the shop manager, which can be days after a buyer wrote that the print arrived bent or the engraving was misspelled. By then the review has already cost sales and the window for a friendly public reply has passed.
Every hour, ClickRuntime asks Etsy for the reviews created since the last check, keeps the ones below the rating you set, and posts the star rating, the buyer's text and the listing it belongs to into your chosen channel. Good reviews pass quietly, so the alert only appears when something needs an answer.
It suits solo sellers who handle customer service between packing orders, and small teams where one person owns replies.
What you get out of it
Reply while the buyer is still listening
A buyer who just left two stars is usually still checking email. An hourly alert lets you apologize publicly and offer a replacement within the same day, which often leads the buyer to edit the rating upward.
Spot a product defect early
Three reviews mentioning a loose clasp in one week point to a supplier problem, not bad luck. Seeing each low rating as it arrives lets you pause the listing before dozens more orders ship with the same flaw.
Protect conversion on top listings
A single low rating on your best-selling listing drags down its average for every visitor. Knowing within the hour lets you respond fast, so the one complaint is visibly handled instead of left unanswered.
Stop checking the shop manager
You no longer open the reviews page just in case. The alert arrives where you already read messages, so attention stays on making and shipping while bad news still finds you quickly.
Keep a trail of complaints
Each alert includes the buyer's wording, giving you a running list of what customers dislike. Reviewing it monthly shows whether sizing, packaging or shipping time generates most of the criticism.
How it works
What happens, step by step
Every hour, ClickRuntime checks your Etsy shop for reviews posted since the last check.
It keeps only the low-rated ones.
Each one is posted to your #shop-feedback Slack channel with the stars, the item and what the buyer wrote, so you can respond quickly.
Before it runs live
- Connect Etsy
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 Etsy steps into one automation
Under the hood
The code that runs this automation
import time
from clickruntime import on_trigger, credentials, http, state, notify, report_fetched
SHOP_ID = "12345678"
API = "https://openapi.etsy.com/v3/application"
@on_trigger
def run(event):
headers = {"x-api-key": credentials.secret("ETSY_API_KEY")}
since = state.get("since") or int(time.time()) - 3600
reviews = http.get(f"{API}/shops/{SHOP_ID}/reviews", headers=headers,
params={"min_created": since + 1, "limit": 100}).json()["results"]
report_fetched(len(reviews))
if not reviews:
return {"new": 0}
for r in reviews:
if r["rating"] < 4:
listing = http.get(f"{API}/listings/{r['listing_id']}", headers=headers).json()
notify.slack(f"{'★' * r['rating']}{'☆' * (5 - r['rating'])} on *{listing['title']}*\n"
f"> {r.get('review') or '(no text)'}\n{listing['url']}", channel="#shop-feedback")
state.set("since", max(r["create_timestamp"] for r in reviews))
return {"new": len(reviews)}FAQ
Common questions
What rating counts as a bad review?
Does it alert on reviews I have already seen?
Can it post to a different channel than Slack?
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
Post every Etsy sale to Slack for packing
Each new Etsy receipt appears in a Slack channel with the buyer and items, so whoever packs knows what to send.
See how it worksGet an email before an Etsy listing sells out
A daily email names the active listings with fewer than 3 left, before Etsy deactivates them.
See how it worksList paid Etsy orders that still need shipping
Each morning you get the paid, unshipped orders sorted oldest first with how many days each has waited.
See how it worksKeep exploring
Set up “Hear about low Etsy reviews within the hour” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.