Every 15 minutes
Get alerted about bad satisfaction ratings
When a customer rates a ticket bad, your team sees it with their comment within 15 minutes.
- Runs
- Every 15 minutes
- Apps
- Zendesk
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every 15 minutes, check for new bad satisfaction ratings in Zendesk and post the ticket link and the customer's comment to #support in Slack.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Zendesk sends a satisfaction survey after a ticket is solved, and a customer clicks Bad with a comment like I was told it would be fixed Friday and nothing happened. That rating sits in a satisfaction report that nobody opens until the monthly CSAT review. By then the customer has churned, left a public review, or been handed to a different agent who never heard about the complaint.
Every 15 minutes, new satisfaction ratings with a score of bad are checked since the last look. For each one, a message is posted with the ticket link, the agent who handled it and the exact words the customer wrote. Good ratings are ignored, so the channel stays about problems.
Support managers who own CSAT targets and want to reach unhappy customers while the issue is still fresh will get the most from it.
What you get out of it
A chance to repair the relationship
Reaching out within the hour, while the problem is still on the customer's mind, often turns a bad rating into a thank you. Waiting for a monthly review rarely does. That context shapes a better apology and a faster fix.
Real feedback in the customer's own words
The comment travels with the alert, so the manager sees whether the complaint is about the answer, the wait or the product. That shapes the follow-up before anyone replies. Patterns appear after a handful of alerts, not after a full quarter of data.
CSAT problems traced to causes
Seeing each bad rating as it happens makes patterns visible: the same macro, the same agent or the same product area. Coaching can then target the real cause. Each alert is also a coaching opportunity for the agent involved.
Public damage gets headed off
Unhappy customers who feel ignored take their story to review sites and social feeds. A quick personal response reduces the number who do. A reply from a named person feels more sincere than a generic apology sent weeks later.
A manager does not have to hunt
Nobody needs to refresh a satisfaction dashboard during the day. The alert comes to the team, which keeps CSAT on the agenda without adding another report to check. Another benefit is that the CSAT score becomes a number the whole team can influence.
Fixing root causes
Several bad ratings about the same issue point to a product defect, and the alerts give support a way to flag it to engineering with evidence. Over a quarter the thread of alerts shows which problems recur, giving support leaders concrete examples to bring to product and operations.
How it works
What happens, step by step
Every 15 minutes, ClickRuntime checks Zendesk for new satisfaction ratings.
It keeps only the bad ratings received since its last check.
A message goes to your #support Slack channel with the ticket number and the customer's comment, so someone can follow up.
Before it runs live
- Connect Zendesk
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 Zendesk steps into one automation
Under the hood
The code that runs this automation
import time
from clickruntime import on_trigger, http, credentials, notify, state, report_fetched
ZD = "https://yourcompany.zendesk.com/api/v2"
AGENT_EMAIL = "you@yourcompany.com"
def zd(method, path, **kw):
r = http.request(method, f"{ZD}{path}", auth=(f"{AGENT_EMAIL}/token", credentials.secret("ZENDESK_API_TOKEN")), **kw)
r.raise_for_status()
return r.json() if r.content else None
@on_trigger
def run(event):
since = state.get("since") or int(time.time()) - 900
ratings = zd("GET", "/satisfaction_ratings.json", params={"score": "bad", "start_time": since})["satisfaction_ratings"]
report_fetched(len(ratings))
if not ratings:
return {"bad": 0}
for r in ratings:
notify.slack(f"Bad rating on #{r['ticket_id']}: {r.get('comment') or '(no comment)'}\n"
f"https://yourcompany.zendesk.com/agent/tickets/{r['ticket_id']}", channel="#support")
state.set("since", int(time.time()))
return {"bad": len(ratings)}FAQ
Common questions
Does it alert on ratings without a comment?
Are ratings from customers who changed their mind handled?
Is Zendesk's satisfaction rating feature required?
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 an email when a ticket lands in your urgent view
New tickets in the view you care about reach your inbox within five minutes.
See how it worksGet warned before tickets breach their SLA
Your team hears about a ticket 30 minutes before it misses its first-reply target, not after.
See how it worksCheck suspended tickets so real customers aren't missed
Every hour you get the new emails Zendesk suspended, with the sender and the reason.
See how it worksKeep exploring
Set up “Get alerted about bad satisfaction ratings” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.