On a schedule
Get a morning Zoho Desk ticket report
One email with yesterday's created and closed tickets and the open count by priority.
- Runs
- On a schedule
- Apps
- Zoho Desk
- AI
- Not needed
- Access
- Desk.tickets.READ
Send this to your assistant
Create a ClickRuntime automation: every weekday at 8am, email me yesterday's Zoho Desk tickets created and closed, and how many are open at each priority.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A support manager running Zoho Desk sets a goal to clear the backlog, but each morning the picture is unclear: how many tickets arrived overnight, how many were closed, and how many remain open? Opening the dashboard and applying filters is a small task that tends to slip. After a few weeks of skipped checks the backlog is bigger, and there is no daily number to blame or praise.
Every morning, ticket counts are pulled from Zoho Desk for tickets created, tickets closed and tickets currently open. They arrive in one email, which gives the team a standing headline for the day and makes any change from the day before easy to see. The report requires no one to log into the Desk dashboard.
Fits managers of small and mid-sized support teams.
What you get out of it
A standing daily headline
Three numbers sent at the same time every morning set the tone for the day. The team knows whether it is ahead or behind before the first ticket is opened, and nobody has to guess.
Backlog growth is caught in days
If created exceeds closed for several mornings in a row, the open count is rising. You can reassign people or ask for help before the pile becomes a crisis that customers can see.
Overnight activity is clear
Teams in different time zones see what arrived while they were asleep. Handoffs between regions start with data, so the morning crew does not spend its first hour working out what happened.
Goals have evidence
When the target is to cut open tickets by 20 percent, the daily open count shows progress. Small wins are visible, and that keeps a team motivated through a long backlog cleanup.
Leadership reporting is simple
Forwarding the morning email gives executives support numbers without a custom dashboard. It replaces repeated requests for ad hoc reports, and it frees the manager from building slides. Slides are never needed.
A record for staffing talks
A month of saved reports shows demand by day of the week. That is the evidence you need when asking for budget or planning holiday cover. Months of reports add up to a clear history.
How it works
What happens, step by step
Every morning ClickRuntime counts the Zoho Desk tickets created yesterday and those closed yesterday.
It also counts the tickets still open at high, medium and low priority.
You get one email with those numbers.
Before it runs live
- Connect Zoho Desk
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 Zoho Desk steps into one automation
Under the hood
The code that runs this automation
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, http, notify
ORG_ID = "712345678"
BASE = "https://desk.zoho.com/api/v1"
@on_trigger
def run(event):
h = {"Authorization": f"Zoho-oauthtoken {credentials.connection('zoho', 'work')}", "orgId": ORG_ID}
y = date.today() - timedelta(days=1)
rng = f"{y}T00:00:00.000Z,{date.today()}T00:00:00.000Z"
def search(**params):
r = http.get(f"{BASE}/tickets/search", params={"limit": 1, **params}, headers=h)
return r.json().get("count", 0) if r.status_code == 200 else 0
created = search(createdTimeRange=rng)
closed = search(status="Closed", modifiedTimeRange=rng)
by_priority = {p: http.get(f"{BASE}/ticketsCount", params={"status": "Open", "priority": p},
headers=h).json()["count"] for p in ("High", "Medium", "Low")}
notify.email_me(f"Zoho Desk {y}", f"Created: {created}\nClosed: {closed}\nOpen: " +
", ".join(f"{p} {n}" for p, n in by_priority.items()))
return {"created": created, "closed": closed, **by_priority}FAQ
Common questions
What counts as a closed ticket in Zoho Desk?
Does the report include tickets on hold?
Can I get the report by department?
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
Post new Zoho Desk tickets to Slack
Every new ticket shows up in Slack with its subject, contact and priority.
See how it worksGet warned when tickets go past due
Each hour, tickets past their due date reach Slack, each one only once.
See how it worksFind tickets with no owner
Tickets left unassigned for over an hour land in your inbox.
See how it worksKeep exploring
Set up “Get a morning Zoho Desk ticket report” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.