Hourly
Get warned about overdue Freshdesk tickets
Every hour you see which tickets have passed their due-by time.
- Runs
- Hourly
- Apps
- Freshdesk
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every hour, send me a Slack message listing Freshdesk tickets past their due date, with subject, agent and priority.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Freshdesk gives every ticket a due-by time based on your service level policy, and a ticket that passes it counts as a breach. Breaches hurt more than numbers on a report: a customer on a premium plan was promised a four-hour first response, and nobody answered. Agents are busy with the current queue, and the ticket that quietly turned overdue at 2 p.m. is noticed on Friday when the weekly SLA report arrives.
Every hour, ClickRuntime lists the tickets that are overdue, using Freshdesk's overdue filter or by comparing each ticket's due-by time with the current time, and posts them to your team channel with the subject, the assigned agent and how late each one is.
It helps support managers who are accountable for response targets and need a chance to intervene before another breach occurs.
What you get out of it
Rescue tickets that are already late
An overdue ticket is still fixable. A manager seeing it within the hour can reassign it or answer it directly, and the customer's wait ends sooner than it otherwise would.
Protect contractual commitments
Some customers have response times written into their contracts, with credits for breaches. Catching late tickets quickly reduces the number of breaches that cost you money or renewals. Credits and lost renewals are avoidable.
See who is overloaded
If overdue tickets cluster on one agent, the alert shows it. A manager can rebalance the queue the same day rather than waiting for the weekly review. Fair distribution helps the whole team.
Reduce the end-of-week surprise
Weekly reports tell you what went wrong after it is too late to fix. An hourly list moves the discovery to the day it happens, so reports show fewer breaches.
Build a habit of clearing the late list
A visible channel list makes lateness a shared problem. Teams that see it every hour tend to clear it faster than teams that see it once a week. Shared visibility creates healthy pressure.
How it works
What happens, step by step
Every hour ClickRuntime checks your open Freshdesk tickets against their due-by time.
It picks out the ones that are now past due and skips any it has already warned you about.
For each overdue ticket it looks up the assigned agent and the priority.
You get a Slack direct message listing the ticket number, subject, agent and priority.
Before it runs live
- Connect Freshdesk
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 Freshdesk 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
DOMAIN = "acme"
PRIORITY = {1: "Low", 2: "Medium", 3: "High", 4: "Urgent"}
@on_trigger
def run(event):
key = credentials.secret("FRESHDESK_API_KEY")
base = f"https://{DOMAIN}.freshdesk.com/api/v2"
tickets = http.get(f"{base}/tickets", params={"filter": "new_and_my_open", "per_page": 100},
auth=(key, "X")).json()
now = datetime.now(timezone.utc)
alerted = set(state.get("alerted") or [])
overdue = [t for t in tickets if t["id"] not in alerted
and datetime.fromisoformat(t["due_by"].replace("Z", "+00:00")) < now]
report_fetched(len(overdue))
if not overdue:
return {"summary": "Nothing new"}
agents = {a["id"]: a["contact"]["name"] for a in http.get(f"{base}/agents", auth=(key, "X")).json()}
lines = [f"#{t['id']} {t['subject']} · {agents.get(t['responder_id'], 'unassigned')} · {PRIORITY[t['priority']]}"
for t in overdue]
notify.slack("Past due:\n" + "\n".join(lines), channel="@me")
state.set("alerted", list(alerted | {t["id"] for t in overdue})[-1000:])
return {"overdue": len(overdue)}FAQ
Common questions
Does it use Freshdesk's own SLA settings?
Will it alert again for the same ticket every hour?
Can I include only certain groups or priorities?
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
Find tickets no agent has picked up
Tickets still without an agent after 2 hours land in Slack, each one only once.
See how it worksHear about negative satisfaction ratings fast
A poor rating reaches you within 15 minutes, with the comment, agent and ticket link.
See how it worksPost new Freshdesk tickets to Slack
Each new ticket shows up in Slack with its subject, requester and priority.
See how it worksKeep exploring
Set up “Get warned about overdue Freshdesk tickets” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
