Skip to content

On a schedule

Set type, priority and tags on new tickets

New tickets arrive already sorted as bug, billing or how-to, with an urgency.

Runs
On a schedule
Apps
Freshdesk
AI
Yes, uses the built-in AI allowance
Access
read+write

Send this to your assistant

Create a ClickRuntime automation: for each new Freshdesk ticket, decide whether it is a bug, billing or how-to question and how urgent it is, then set the ticket's type, priority and tags.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

Support queues fill up with tickets that arrive with no category and no priority: a billing question, a bug report, a feature request and an angry outage message all sit together with the same default settings. An agent has to open each one, read it, set the type and priority, and only then does the right person see it. Meanwhile an urgent ticket from a large customer waits behind a password reset, and the customer's first response time suffers.

On a regular schedule, ClickRuntime fetches the new Freshdesk tickets, uses its built-in AI to read each one and choose a type and an urgency, then updates the ticket with those values. It remembers which ticket IDs it has handled so none are processed twice.

It is useful for teams where agents spend too much time sorting and too little time answering.

What you get out of it

  • Get urgent tickets to the front

    An outage report tagged urgent rises above routine questions in the queue. The customer with the real problem hears back first, which protects the relationship. Faster first responses protect satisfaction.

  • Save agents the sorting step

    Reading each ticket to set its type takes a minute or two. Across a few hundred tickets a week, that is hours that agents can spend resolving issues. The time adds up quickly across a busy month.

  • Route work to the right group

    Once tickets have a type, Freshdesk rules can assign them to billing, technical or sales staff. Tickets reach the right person without a coordinator reading them first. That also lowers the chance of misrouted tickets.

  • Improve reports with consistent labels

    Types set the same way every time make ticket reports reliable. You can see how many billing issues arrived last month rather than relying on inconsistent manual tagging. Good data leads to better staffing decisions.

  • Meet response-time targets

    Priority drives SLA timers in Freshdesk. Accurate priority from the start means urgent tickets get the faster targets they deserve, and breaches become less frequent. Fewer breaches also mean fewer escalations.

How it works

What happens, step by step

  1. Every 5 minutes ClickRuntime checks Freshdesk for tickets created since its last check, so none is handled twice.

  2. AI reads each ticket's subject and description and decides whether it is a bug, a billing question or a how-to, and how urgent it is.

  3. The ticket is updated in Freshdesk with that type and priority and tagged "ai-triaged", so your team sees it already sorted.

Before it runs live

  • Connect Freshdesk

What you get

RunsOn a schedule
Set type, priority and tags on new ticketstoday, 9:00Succeeded
Freshdesk · Ticket #5833Type: Billing · Priority: High · Tags: ai-triaged

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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
  • Change what the AI looks for, or how it writes the result
  • 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

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
ai_triage_of_new_tickets.pyexample
from datetime import datetime, timezone
from clickruntime import on_trigger, credentials, http, state, ai, report_fetched

DOMAIN = "acme"
SCHEMA = {"type": "object", "properties": {
    "type": {"enum": ["Bug", "Billing", "How-to"]}, "urgency": {"enum": ["low", "medium", "high", "urgent"]}},
    "required": ["type", "urgency"]}
PRIORITY = {"low": 1, "medium": 2, "high": 3, "urgent": 4}

@on_trigger
def run(event):
    key = credentials.secret("FRESHDESK_API_KEY")
    base = f"https://{DOMAIN}.freshdesk.com/api/v2"
    since = state.get("since") or datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
    tickets = [t for t in http.get(f"{base}/tickets", params={"updated_since": since, "include": "description"},
                                   auth=(key, "X")).json() if t["created_at"] > since]
    report_fetched(len(tickets))
    if not tickets:
        return {"summary": "Nothing new"}
    for t in tickets:
        label = ai.generate(f"Classify this support ticket.\nSubject: {t['subject']}\n{t['description_text'][:2000]}",
                            json_schema=SCHEMA, max_output_tokens=40).json
        http.put(f"{base}/tickets/{t['id']}", auth=(key, "X"), json={
            "type": label["type"], "priority": PRIORITY[label["urgency"]], "tags": t["tags"] + ["ai-triaged"]})
    state.set("since", max(t["created_at"] for t in tickets))
    return {"triaged": len(tickets)}

FAQ

Common questions

Can agents override the AI's choice?
Yes. The AI sets initial values and agents can change them in Freshdesk at any time. Many teams read the first week's choices to check accuracy and adjust the instructions if the AI misjudges a category.
Which types and priorities does it use?
The ones in your Freshdesk setup. You tell the assistant your ticket types, such as Billing or Bug, and it chooses among them along with Freshdesk's priority levels of low, medium, high and urgent. Custom types are fine.
What if a ticket is unclear?
The AI picks the closest type and a normal priority, or leaves the ticket unchanged if you ask it to. Short messages like 'help' can be left for an agent, and you can have those flagged in an email.
What permissions does it need?
read+write. Nothing else in your accounts is used.
Does it need AI?
Yes. It uses ClickRuntime's built-in AI, so you don't need an OpenAI or Anthropic key. Every plan includes a monthly AI allowance.
How many runs does it use?
One run each time it checks. Checks that find nothing new and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Set type, priority and tags on new tickets” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.