On a schedule
Post new Freshdesk tickets to Slack
Each new ticket shows up in Slack with its subject, requester and priority.
- Runs
- On a schedule
- Apps
- Freshdesk
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: when a new Freshdesk ticket comes in, post the subject, requester email and priority to #support in Slack.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Not everyone who needs to know about a customer problem sits in the Freshdesk queue all day. A product manager wants to see bug reports as they come in, a founder wants to read the first messages from new customers, and an on-call engineer wants to know about outage tickets without opening a helpdesk. Without a feed in the tool they already use, those people check the queue now and then, and a serious ticket waits for the next time they remember to look.
Every few minutes, ClickRuntime lists the Freshdesk tickets created since its last run and posts each one to Slack with the subject, the requester and a link, then remembers the time of the newest ticket. Each ticket appears in the channel once, soon after the customer writes in.
It is helpful for small companies where support is shared among many people, not only a dedicated team.
What you get out of it
Give the whole team a view of customer pain
A channel post for each ticket lets engineers, product managers and founders see what customers write about, without needing Freshdesk logins or a habit of checking the queue. Support becomes a shared concern.
Speed up first responses
Agents who live in Slack see a new ticket within minutes. Claiming it with a reaction or a reply stops two people answering the same customer, and the customer hears back sooner.
Spot outages from the first ticket
The first customer message about an outage often arrives before any monitoring alert. Seeing it in a shared channel lets an engineer check the system while only a few customers have noticed.
Keep leadership close to customers
Founders who read the incoming tickets learn what confuses people and what they ask for. That knowledge shapes the product more reliably than quarterly summaries do. Direct contact with customers is a strong habit.
Avoid reprocessing the same tickets
The saved timestamp means a restart or a slow run never repeats old posts. The channel stays readable, and every message is a ticket that has not been shown before.
How it works
What happens, step by step
Every 5 minutes ClickRuntime checks Freshdesk for tickets created since its last check, so each ticket is posted only once.
For each new ticket it picks out the subject, the requester's email and the priority.
Each one is posted to your #support Slack channel as it comes in.
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")
since = state.get("since") or datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
tickets = http.get(f"https://{DOMAIN}.freshdesk.com/api/v2/tickets",
params={"updated_since": since, "include": "requester", "order_type": "asc"},
auth=(key, "X")).json()
new = [t for t in tickets if t["created_at"] > since]
report_fetched(len(new))
if not new:
return {"summary": "Nothing new"}
for t in new:
notify.slack(f"New ticket #{t['id']}: {t['subject']}\nFrom {t['requester']['email']} · {PRIORITY[t['priority']]}",
channel="#support")
state.set("since", max(t["created_at"] for t in new))
return {"posted": len(new)}FAQ
Common questions
Can it post only urgent tickets?
How soon after a ticket arrives will it show in Slack?
Does it include the customer's message?
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 worksGet warned about overdue Freshdesk tickets
Every hour you see which tickets have passed their due-by time.
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 worksKeep exploring
Set up “Post new Freshdesk tickets to Slack” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
