Every 5 minutes
Post new Freshservice tickets to your IT channel
Every new ticket appears in your IT chat channel within a few minutes, so nobody has to refresh the queue.
- Runs
- Every 5 minutes
- Apps
- Freshservice
- AI
- Not needed
- Access
- agent read
Send this to your assistant
Create a ClickRuntime automation: every 5 minutes, check Freshservice for new tickets and post the subject, requester and priority of each one to #it-helpdesk in Slack with a link to the ticket.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
IT support often runs through Freshservice while the rest of the company lives in Slack. A new ticket for a locked-out executive or a broken laptop sits in the portal until an agent happens to refresh it. On a quiet afternoon that can be an hour, and the requester has no idea whether anyone has seen their problem.
New tickets are checked every 5 minutes. The run lists tickets updated since the last check, keeps only IDs it has not posted before, and sends each one to a Slack channel such as #it-support with its subject and requester. The latest position is saved so the next run starts from where this one ended.
It is especially handy for two- or three-person IT teams that do not sit next to each other and want to hear about tickets without keeping the Freshservice tab open. Anyone on call can also see the same alerts on their phone.
What you get out of it
First response gets faster
An agent sees the ticket in Slack within minutes of creation, and a quick acknowledgment is often enough to stop the requester from sending a second email or walking over to the desk.
Urgent requests do not wait for a refresh
Tickets about locked accounts or broken equipment are visible right away on the phone, so someone covering from home can pick them up without logging into the portal. Speed here is often what separates a happy requester from a frustrated one.
Every agent sees the same queue
Posting to a shared channel prevents two people working the same ticket in silence and lets teammates claim one with a quick reaction or reply. That cuts duplicated effort across the team considerably.
No ticket is announced twice
Saving which IDs have been posted keeps the channel clean even though the check looks at recently updated tickets, so people continue to trust that a message means something new.
Lightweight alternative to a heavy integration
A small team gets ticket visibility in the tool they already use without installing a marketplace app or granting broad Slack permissions to a third party. Setup takes minutes and needs no extra software license.
How it works
What happens, step by step
Every 5 minutes, ClickRuntime checks Freshservice for tickets it hasn't seen before.
Each new ticket is posted to your IT Slack channel with its number, subject, requester, priority and a link.
It remembers which tickets it has posted, so none appears twice.
Before it runs live
- Connect Freshservice
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 Freshservice steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, state, notify, report_fetched
DOMAIN = "northwind"
PRIORITY = {1: "Low", 2: "Medium", 3: "High", 4: "Urgent"}
def fs(method, path, **kw):
resp = http.request(method, f"https://{DOMAIN}.freshservice.com/api/v2/{path}",
auth=(credentials.secret("FRESHSERVICE_API_KEY"), "X"), **kw)
resp.raise_for_status()
return resp.json()
@on_trigger
def run(event):
last_id = state.get("last_id")
tickets = fs("GET", "tickets", params={"include": "requester", "order_type": "desc", "per_page": 50})["tickets"]
new = [t for t in tickets if last_id is not None and t["id"] > last_id]
report_fetched(len(new))
if last_id is not None and not new:
return {"summary": "Nothing new"}
for t in sorted(new, key=lambda t: t["id"]):
r = t.get("requester") or {}
notify.slack(f"#{t['id']} {t['subject']}\nFrom {r.get('name', 'unknown')} · {PRIORITY.get(t['priority'])}\n"
f"https://{DOMAIN}.freshservice.com/a/tickets/{t['id']}", channel="#it-helpdesk")
state.set("last_id", max([t["id"] for t in tickets] + [last_id or 0]))
return {"new": len(new)}FAQ
Common questions
Why does it check tickets updated since the last run?
Can it alert only on high priority tickets?
What does each Slack message include?
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
Sort new tickets by category and priority
Incoming tickets get a category and priority set from what the requester wrote, before an agent picks them up.
See how it worksGet a morning count of open and overdue tickets
Each morning you see how many tickets are open and how many are past due, broken down by group.
See how it worksSee new job listings as they're posted
Jobs that match your keywords show up in a Slack channel, each one only once.
See how it worksKeep exploring
Set up “Post new Freshservice tickets to your IT channel” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
