Daily
Close conversations waiting on the customer for a week
Conversations where the customer went quiet for 7 days are closed, and you get the list.
- Runs
- Daily
- Apps
- Intercom
- AI
- Not needed
- Access
- read+write conversations
Send this to your assistant
Create a ClickRuntime automation: every day, close Intercom conversations where the customer hasn't replied in 7 days and email me the list.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Support agents ask a customer for a screenshot or an order number, snooze the conversation, and move on. The customer never replies. Weeks later the open and snoozed lists are full of conversations that will never go anywhere, and the real backlog is impossible to see. Dashboards show hundreds of open conversations, response metrics look worse than reality, and agents spend time scrolling past dead threads. Nobody has the time to clean that list by hand.
Each day, ClickRuntime searches Intercom for open or snoozed conversations where the customer's last reply is more than 7 days old, closes each of them using Intercom's close message type, and emails you a list of everything it closed. Anyone who replies later simply reopens the conversation.
Teams that ask customers for information before they can help run into this constantly.
What you get out of it
The real backlog becomes visible
With stale threads out of the way, the open list shows only conversations that need work. A manager can tell at a glance how many customers are actually waiting for an answer.
Metrics stop being distorted
Open conversation counts and time-to-close figures are skewed by threads nobody will answer. Closing dead ones keeps reports honest, so staffing decisions are based on what really happened. That keeps first response and resolution reports meaningful, so staffing decisions reflect what actually happened.
Agents spend time on live conversations
Scrolling past hundreds of abandoned threads each morning is a small, constant drain. A clean inbox means an agent opens the list and starts on conversations that need a reply.
Customers can still come back
Closing is not deleting. If a customer replies after the close, the conversation reopens with its whole history, so no one has to repeat what they already told you. The customer's earlier messages and your agent's questions are all still there when they come back.
A written list of what was closed
The emailed list shows which conversations were closed and why. If a customer asks why their conversation disappeared, you can find it in the list and see that it was waiting on them.
How it works
What happens, step by step
Every day, ClickRuntime finds open or snoozed Intercom conversations where the customer has not replied in over a week.
It closes each of them.
You get an email listing the conversations it closed, with links.
Before it runs live
- Connect Intercom
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
- Run it at a different time, more or less often, or only on weekdays
- 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 Intercom steps into one automation
Under the hood
The code that runs this automation
import time
from clickruntime import on_trigger, http, credentials, notify
def intercom(method, path, **kw):
r = http.request(method, f"https://api.intercom.io{path}", headers={
"Authorization": f"Bearer {credentials.secret('INTERCOM_TOKEN')}", "Intercom-Version": "2.11"}, **kw)
r.raise_for_status()
return r.json()
INBOX = "https://app.intercom.com/a/inbox/_/inbox/conversation/"
ADMIN_ID = "YOUR_ADMIN_ID"
@on_trigger
def run(event):
q = {"operator": "AND", "value": [{"field": "state", "operator": "!=", "value": "closed"},
{"field": "statistics.last_contact_reply_at", "operator": "<", "value": int(time.time()) - 7 * 86400}]}
convos = intercom("POST", "/conversations/search", json={"query": q})["conversations"]
for c in convos:
intercom("POST", f"/conversations/{c['id']}/parts", json={"message_type": "close", "type": "admin", "admin_id": ADMIN_ID})
if convos:
notify.email_me(f"Closed {len(convos)} quiet conversations", "\n".join(f"{INBOX}{c['id']}" for c in convos))
return {"closed": len(convos)}FAQ
Common questions
Can I use a different number of days than 7?
Does it send the customer a message when closing?
Will it close conversations that are waiting on my team?
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 weekly support volume and CSAT report
Every Monday you see conversations opened and closed and the average rating, compared with the week before.
See how it worksGet a daily summary of customer conversations
Each evening you get one email on what customers asked about today and what's still open.
See how it worksReview yesterday's closed conversations for quality
Each morning you get the five weakest conversations from yesterday, scored for tone and resolution.
See how it worksKeep exploring
Set up “Close conversations waiting on the customer for a week” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.