More in Setting up a platform

Connect Freshdesk

Connect Freshdesk with an agent's API key, then add two automation rules in Freshdesk. Tickets come in by themselves, and approved replies go back to Freshdesk.

In the appPlatformSettingsTicket system

If your support tickets live in Freshdesk, connect it directly. No code is needed. Freshdesk tells us when a ticket is created or updated. We read the ticket from Freshdesk, using an agent's API key. Approved replies go back into Freshdesk.

Each platform connects one ticket system. See Connect your ticket system for how that works.

Before you start#

You need a Freshdesk admin to make the automation rules. Freshdesk's webhooks in automation rules need the Growth plan or above.

We act as one Freshdesk agent: the one whose API key you paste here. Replies and notes show in Freshdesk as written by them. We can only do what their role allows, and only see the tickets they see. If you want replies to show a name of their own, first add an agent for the AI, such as one named "Cerberius Agent". Give them access to all tickets, or the tickets they can't see won't come in. They must not be a collaborator: a collaborator can't reply.

Connect Freshdesk#

  1. 1

    In Freshdesk, sign in as the agent we should act as. Click the profile picture at the top right, then Profile settings.

  2. 2

    On the right, click View API key, and complete the check Freshdesk shows. Copy the key.

  3. 3

    Here, go to Settings › Ticket system. On the Connection tab, click Connect a ticket system and choose Freshdesk.

  4. 4

    Under Your Freshdesk, fill in the Freshdesk address and the API key. Show me how on our page shows the Freshdesk steps too.

  5. 5

    Choose how Approved replies go back, what happens After a reply, and whether to add the Agent's findings in Freshdesk.

  6. 6

    Click Connect Freshdesk. Then click Check connection.

  7. 7

    Under Which companies, tick the Freshdesk companies whose tickets this platform takes, or leave them all unticked to take every ticket. Click Save.

Then tell Freshdesk about new tickets, as below. Until you do, no tickets come in.

SettingWhat it does
Freshdesk addressThe address you open Freshdesk at, for example https://yourcompany.freshdesk.com. You can also type just yourcompany. Only a freshdesk.com address is accepted, so your API key only ever goes to Freshdesk. Freshdesk doesn't take API calls at your own domain, even if your help desk uses one.
API keyThe agent's API key, from View API key in their Profile settings. Once saved, it is never shown again. Type a new one to replace it.
Check connectionShows once Freshdesk is connected. It asks Freshdesk whose key it is, and says whether that worked and whose name replies will show. It also says if the agent sees only some tickets.
Webhook addressShows once Freshdesk is connected, with Copy. You paste it into Freshdesk. Keep it private.
Secret headerShows once Freshdesk is connected, to people who may change settings: a line such as X-Cerberius-Secret: 3f9a…. Freshdesk can't sign its calls, so each call carries this header instead, and we refuse calls without it. Paste it, as it is, into the webhook's custom headers. Make a new secret makes another one: the old one stops at once, so change it in both rules straight away.
Last heard from FreshdeskWhen Freshdesk last called the webhook address. Never yet means it hasn't called: check the steps. If a call was refused, it says when and why, such as wrong signature.
The webhook's contentShows once Freshdesk is connected, with Copy. You paste it into Freshdesk's webhook action. Only the ticket's number is used: we read everything else from Freshdesk ourselves.
Which companiesShows once Freshdesk is connected: your Freshdesk companies, read from Freshdesk. Tick the ones whose tickets come to this platform, the customers whose systems this platform can look into. With none ticked, every ticket comes here. With some ticked, a ticket with no company doesn't come here. A company that another of your platforms takes from the same Freshdesk can't be ticked, and says which platform takes it. If Freshdesk can't be read, the reason shows here instead. Tickets already here stay here.
Approved repliesSend it as a reply: Freshdesk emails it to the requester straight away, as from the agent whose API key this is. Add it as a private note: your team reads it in Freshdesk and sends it themselves.
After a replyThen set its status to: Open, Pending or Resolved, or Leave it as it is. For example, Pending shows you are waiting for the requester. It only changes once nothing else on the ticket waits here, such as a fix. If Freshdesk refuses the change, the reply still counts as sent. Off at first.
Agent's findings in FreshdeskWhen on, a private note with what the agent found goes on the Freshdesk ticket as soon as a reply is ready to approve. Only your Freshdesk agents see it. Off at first.

Once Freshdesk is connected, change anything here and click Save at the bottom.

If the agent resets their API key, or leaves, Freshdesk stops taking the old key. Paste a new key here.

Let Freshdesk tell us about tickets#

Freshdesk tells us about tickets through automation rules that trigger a webhook: they call our address. You need two rules: one for new tickets, and one for updates. You set both up once. Our page shows the same steps under Let Freshdesk tell us about tickets.

Both rules use the same webhook action:

  • Request type: POST.
  • URL: the Webhook address from our page.
  • Requires authentication: off.
  • Add custom headers: on. Paste the Secret header from our page, as it is, on one line.
  • Encoding: JSON. Content: Advanced, then paste The webhook's content from our page.
  1. 1

    The rule for new tickets. Go to Admin › Workflows › Automations. Open the Ticket Creation tab and click New rule. Give it a name, such as "Tell Cerberius Agents".

  2. 2

    Add one condition that every ticket meets: Priority is Low, Medium, High or Urgent.

  3. 3

    Under the actions, add Trigger webhook, and fill it in as above. Click Preview, then Save and enable.

  4. 4

    The rule for updates. Open the Ticket Updates tab and click New rule. Give it a name.

  5. 5

    Under When an action performed by, choose Agent or Requester. Under Involves any of these events, add Reply is sent, Note is added and Status is changed.

  6. 6

    Add the same Priority condition, and the same Trigger webhook action. Click Preview, then Save and enable.

  7. 7

    Try it. Create a test ticket. It shows under Tickets here within a minute, and our page says Last heard from Freshdesk with the time.

Rules for new tickets run in order

Freshdesk can run every matching rule on the Ticket Creation tab, or only the first one that matches. If it runs only the first, our rule runs only when no rule above it matches. Change it to run all matching rules, so ours runs as well as yours.

Freshdesk sends at most 1,000 webhook calls an hour. If a call fails, Freshdesk tries again every 30 minutes and emails your account admins.

What happens with a Freshdesk ticket#

  • A new ticket in Freshdesk reaches the agent, with its files. Who asked comes from Freshdesk's own contact record, never from what the ticket says. Anything the requester added before we read the ticket is part of it.
  • A reply or public note from the requester in Freshdesk reaches the agent as a follow-up, with its files. Your team's replies and private notes, and replies from people on copy, are skipped.
  • Resolving or closing it in Freshdesk, deleting it, or marking it as spam stops the work on it here.
  • Closing it here sets it to Resolved in Freshdesk. In Freshdesk, an agent resolves a ticket once they have given the answer. Closed is for once the requester agrees it is solved, so we leave that to your team or to your own Freshdesk rules.
  • A deleted or spam ticket can't take a reply. The reply here says it failed. Restore the ticket in Freshdesk first, or reply to the requester there.

Only tickets that came from Freshdesk go back to Freshdesk. Other tickets on the same platform, from the log watcher for example, don't.

Tickets opened in Freshdesk before you connected don't come in by themselves. Importing older tickets works for Halo only for now.

One Freshdesk, a platform per customer

An IT company often runs one Freshdesk for all its customers, and each customer's systems are their own platform. Connect each customer's platform to the same Freshdesk, and under Which companies tick that customer's company. Each platform has its own Webhook address: add its Trigger webhook action to both rules in Freshdesk. Two platforms never take the same company's tickets.

Stop#

Click Disconnect… at the top of the Connection tab, and confirm. New tickets from Freshdesk stop coming in, and replies stop going back to it. The webhook address stops working at once. Tickets already here stay.

Then, in Freshdesk, delete the two automation rules, or remove our webhook from them. To stop the API key working too, the agent can reset it in their Profile settings.