Daily
Solve pending tickets after 2 weeks of silence
Tickets waiting on a customer who never replied are solved automatically, and you get the list.
- Runs
- Daily
- Apps
- Zendesk
- AI
- Not needed
- Access
- read+write
Send this to your assistant
Create a ClickRuntime automation: every day, solve Zendesk tickets that have been pending with no update for 14 days and email me the list of tickets it closed.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Agents set a ticket to Pending after asking the customer for a screenshot or an order number. Sometimes the customer answers; often they never do. Those tickets stay in Pending for months, bloating the open queue and dragging down reports, because pending tickets still count toward backlog in many views. A team of five can end up with 400 pending tickets nobody plans to touch.
Every day, Zendesk is searched for pending tickets that have not been updated in 14 days. Those are updated to solved in one bulk call, which Zendesk limits to a batch at a time, and an email lists every ticket that was closed so nothing is changed in secret. Customers can still reply and reopen.
Teams who keep their queue lean for reporting and SLA reviews use this most.
What you get out of it
A queue that shows real work
Removing abandoned conversations lets the open count reflect what agents need to handle. Managers stop explaining why 400 tickets are open when only 40 are active. Open queues shrink immediately.
Agents stop sweeping by hand
Closing stale tickets manually is a monthly chore done in a rush. A daily sweep makes the chore invisible and avoids the long list that nobody wants to start. Pending was meant to be a short wait.
Honest backlog metrics
Backlog and resolution figures calculated on pending tickets nobody will answer misrepresent performance. Solving them produces numbers that match reality. Closing happens daily instead of in a rush at quarter end.
Nothing closes without a trace
The emailed list names each ticket that was solved, so an agent who remembers a conversation can find it. Closing is automatic, but never hidden. Honest metrics help staffing talks.
Customers can still come back
A solved Zendesk ticket reopens when the requester replies within the reopen window. Closing a ticket after two weeks of silence does not cut the customer off. The list in the email makes the process transparent.
Less clutter in views
Agents scanning pending views see only conversations that might still move, which makes daily triage faster. Sweeping daily is gentler than a big quarterly purge, because each run only touches tickets that have just crossed the 14-day mark.
How it works
What happens, step by step
Every day, ClickRuntime finds Zendesk tickets that have been pending for two weeks with no reply from the customer.
It marks those tickets as solved.
You get an email listing the tickets it closed.
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
- 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 Zendesk steps into one automation
Under the hood
The code that runs this automation
from datetime import date, timedelta
from clickruntime import on_trigger, http, credentials, notify
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):
cutoff = (date.today() - timedelta(days=14)).isoformat()
tickets = zd("GET", "/search.json", params={"query": f"type:ticket status:pending updated<{cutoff}", "per_page": 100})["results"]
for t in tickets:
zd("PUT", f"/tickets/{t['id']}", json={"ticket": {"status": "solved"}})
if tickets:
notify.email_me(f"Solved {len(tickets)} stale pending tickets", "\n".join(f"#{t['id']} {t['subject']}" for t in tickets))
return {"solved": len(tickets)}FAQ
Common questions
Will customers get a survey or notice when it closes?
Can it exclude tickets from VIP customers?
How many tickets are closed per run?
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 daily Zendesk ticket report
Each morning you see how many tickets came in and got solved yesterday, and what's still open by priority.
See how it worksGet a morning list of tickets open for over 3 days
Each morning you see which tickets have been waiting too long, grouped by assignee.
See how it worksNudge customers on pending tickets
Customers who haven't replied in 3 days get one polite reminder on their ticket.
See how it worksKeep exploring
Set up “Solve pending tickets after 2 weeks of silence” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.