On a schedule
Catch chats no agent answered
Chats from the past hour without an agent reply reach your inbox so you can follow up.
- Runs
- On a schedule
- Apps
- LiveChat
- AI
- Not needed
- Access
- chats--all:ro
Send this to your assistant
Create a ClickRuntime automation: every 15 minutes, email me LiveChat chats from the last hour that got no reply from an agent, with the visitor's email if they left one.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A visitor opens the chat widget on your pricing page, types a question and waits. If no agent replies, they leave, and that lost conversation is lost revenue. LiveChat records the chat anyway, but unless someone looks at the archive, nobody learns that a potential customer asked about a bulk discount at 6:40 p.m. and got silence.
On its schedule, ClickRuntime lists the chats archived since its last check, keeps the ones where no agent sent a message and emails you the details, such as the visitor's name or email, the page they were on and what they typed. You can reply by email, so a missed conversation becomes a recovered one.
It matters most for businesses with limited chat hours or with a small team that cannot always answer in real time.
What you get out of it
Lost leads are recovered
A visitor who left a question and an email can still be answered the next morning. Replying turns a missed chat into a conversation, and sometimes a sale. That is revenue you would otherwise never know you lost.
Coverage gaps are measurable
A pattern of missed chats at certain hours shows where you lack staff. That is better evidence for changing schedules than a feeling that the team is stretched. That evidence is what makes a staffing change easier to justify.
Visitors learn you are responsive
A reply to a missed chat shows customers that someone is paying attention. It is a better experience than an empty widget and builds trust with new visitors. That impression often decides whether they return.
Chat settings can be improved
If many missed chats come from visitors outside your hours, you may change the offline message or hide the widget. The alerts supply the evidence for that decision. That is how small changes lead to fewer missed chats.
Agents are not blamed unfairly
The list shows whether a chat was missed because nobody was online or because an agent did not reply. That keeps discussions about performance fair and factual. That keeps reviews calm and based on facts.
How it works
What happens, step by step
Every 15 minutes ClickRuntime looks at the LiveChat chats from the past hour.
It picks out chats where no agent ever replied, and skips any it has already told you about.
You get an email listing the time of each missed chat and the visitor's email, so you can follow up.
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, timedelta, timezone
from clickruntime import on_trigger, credentials, http, state, notify, report_fetched
@on_trigger
def run(event):
since = (datetime.now(timezone.utc) - timedelta(hours=1)).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}, "limit": 100},
headers={"Authorization": f"Bearer {credentials.connection('livechat', 'work')}"}).json()["chats"]
seen = set(state.get("seen") or [])
missed = []
for c in chats:
agents = {u["id"] for u in c["users"] if u["type"] == "agent"}
replied = any(e.get("author_id") in agents for e in c["thread"]["events"] if e["type"] == "message")
if not replied and c["id"] not in seen:
missed.append(c)
report_fetched(len(missed))
if not missed:
return {"summary": "Nothing new"}
lines = [f"{c['thread']['created_at'][11:16]} " +
next((u.get("email", "no email") for u in c["users"] if u["type"] == "customer"), "no email") for c in missed]
notify.email_me(f"{len(missed)} LiveChat chat(s) got no reply", "\n".join(lines))
state.set("seen", list(seen | {c["id"] for c in missed})[-500:])
return {"missed": len(missed)}FAQ
Common questions
What counts as a missed chat?
How soon after the chat do I find out?
Can missed chats from outside office hours be excluded?
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 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.
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 “Catch chats no agent answered” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.