On a schedule
Get a Slack alert for chats rated bad
A bad rating shows up in Slack with the visitor's comment and a link to the transcript.
- Runs
- On a schedule
- Apps
- LiveChat
- AI
- Not needed
- Access
- chats--all:ro
Send this to your assistant
Create a ClickRuntime automation: when a LiveChat chat is rated bad, post the agent's name, the visitor's comment and the transcript link to #chat-quality in Slack.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A customer who rates a LiveChat conversation as bad is telling you that something went wrong: the agent was rude, the answer was wrong or the problem was not solved. In most support teams that signal lands in a report that nobody looks at until the end of the month, by which time the customer has left a review, canceled or told others about their experience.
On its schedule, ClickRuntime lists recent archived chats in LiveChat, keeps only those where the customer's rating is bad and posts them to Slack with the customer, the agent and a link to the transcript. The support lead sees them in time to apologize, fix the problem and coach the agent while the case is still fresh.
It is aimed at support managers who want to react to unhappy customers quickly.
What you get out of it
Unhappy customers get a second chance
A message from a manager the same day, apologizing and solving the problem, can turn a bad experience into loyalty. Waiting weeks removes that chance. That is cheaper than any win-back campaign you could run.
Coaching happens while the chat is fresh
An agent who is shown a bad chat the same day remembers what happened and can learn from it. A review a month later is mostly forgotten and feels like criticism.
Patterns in problems appear
If several bad ratings in a week come from the same issue, such as a billing bug, the channel shows it. That points to a fix in the product rather than in the training.
Reviews and churn are reduced
Customers who feel heard are less likely to post a public complaint or leave. Reaching out quickly protects your reputation online, where one bad experience can reach many people. That protects revenue you might never have known was at risk.
Quality is measured on real feedback
Rather than sampling random chats, you look at the ones customers marked as bad. That focuses your review effort on the conversations that matter most. That makes reviews fairer and far more useful.
How it works
What happens, step by step
Every 15 minutes ClickRuntime checks LiveChat for chats rated bad since its last check, so each one is posted only once.
For each one it picks out the agent who handled it and the visitor's comment.
A message goes to your #chat-quality Slack channel with the agent, the comment and a link to the chat transcript.
Before it runs live
- Connect LiveChat
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 LiveChat steps into one automation
Under the hood
The code that runs this automation
from datetime import datetime, timezone
from clickruntime import on_trigger, credentials, http, state, notify, report_fetched
@on_trigger
def run(event):
since = state.get("since") or datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%S.000000Z")
chats = http.post("https://api.livechatinc.com/v3.5/agent/action/list_archives",
json={"filters": {"from": since, "properties": {"rating": {"score": {"values": [0]}}}}},
headers={"Authorization": f"Bearer {credentials.connection('livechat', 'work')}"}).json()["chats"]
report_fetched(len(chats))
if not chats:
return {"summary": "Nothing new"}
for c in chats:
agent = next((u["name"] for u in c["users"] if u["type"] == "agent"), "unknown agent")
comment = c["thread"].get("properties", {}).get("rating", {}).get("comment", "no comment")
notify.slack(f"Bad rating for {agent}: \"{comment}\"\nhttps://my.livechatinc.com/archives/{c['id']}",
channel="#chat-quality")
state.set("since", max(c["thread"]["created_at"] for c in chats))
return {"posted": len(chats)}FAQ
Common questions
How often does it check for bad ratings?
Does it catch ratings that customers change later?
Can the alert include the full transcript?
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
Catch chats no agent answered
Chats from the past hour without an agent reply reach your inbox so you can follow up.
See how it worksEmail yourself every finished chat
When a chat ends, you get the visitor's details and the whole transcript in one email.
See how it worksGet yesterday's chat numbers each morning
A morning email with total chats, satisfaction and first response time.
See how it worksKeep exploring
Set up “Get a Slack alert for chats rated bad” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.