Connect Freshdesk with a KB-only agent
Create a knowledge-base-only agent in Freshdesk, paste its API key into TidyKB, and understand what the connection test checks and what each error means.
Updated
TidyKB connects to Freshdesk with an API key, and a Freshdesk API key carries exactly the permissions of the agent it belongs to. So the whole job is to create an agent that can do one thing — read solution articles — and hand TidyKB that agent's key.
Scanning never needs more than that. Changing articles needs a second, separate key, and that is a later, deliberate step.
What you need
- The Freshdesk domain you sign in to, in the form
yourcompany.freshdesk.com. - An API key from an agent whose role is limited to the knowledge base.
- Nothing else. No app install, no marketplace listing, no call.
Not your custom domain
TidyKB asks for the Freshdesk domain, not your help center's public address. If your portal lives at help.acme.com, the domain to paste is still acme.freshdesk.com. Pasting the custom domain is refused with a message saying so. The free public audit is the opposite: it takes the public URL and needs no key at all.
Create a knowledge-base-only agent
- 01
Add a role limited to Solutions
In Admin → Team → Roles (older accounts: Admin → Agents → Roles), create a role such as "KB bot" with the permission to view solution articles, and nothing for tickets, contacts, companies or admin settings. Custom roles are not on every Freshdesk plan. - 02
Add an agent for it
In Admin → Team → Agents, add an agent on a shared mailbox you control, such askb-bot@yourcompany.com, and give it the new role. Leave its groups empty — it has nothing to do with tickets. - 03
Copy the key
Sign in as that agent, open Profile settings and click View API key. The key only appears once the agent's email address is verified.
The full walkthrough, with the permission table and a read-only test call you can run yourself first, is in the Freshdesk API key guide.
Connect it in TidyKB
Open Freshdesk connection in the app, paste the domain and the key, and save.
The key is sealed before it is stored, with a public key that is all the web app holds. The web app can seal a key and never open one again; only the worker that talks to Freshdesk holds the private half. After that, the only part of your key the app can ever show you is its last four characters, and the key is never written to a log.
What the connection test does
Saving queues a connection test. It makes a handful of read-only calls and stores three things on the connection:
| Call | What it settles |
|---|---|
GET /agents/me | The key is a valid agent key |
GET /solutions/categories | The agent's role can actually read the knowledge base |
GET /settings/helpdesk | Your portal's languages, and which one is primary (it falls back to the agent's language) |
Your Freshdesk plan is read from the rate-limit header on those responses — 50 calls a minute means Free or trial, 200 Growth, 400 Pro, 700 Enterprise. TidyKB uses at most half of that budget across all of its jobs and leaves the rest to your agents and other apps.
While the test runs, the connection page says so and refreshes itself.
When the test fails
Expected failures are stored as a code on the connection and explained in place, rather than retried forever:
| What you see | What it usually means |
|---|---|
| Freshdesk rejected the API key | The key was mistyped, the agent was deactivated, or its key was reset |
| The agent's role can't read the knowledge base | The role has no Solutions view permission |
| That Freshdesk domain doesn't answer | A typo, or a custom help-center domain instead of the *.freshdesk.com one |
| Freshdesk didn't respond | A timeout or a 5xx on Freshdesk's side; your key is fine |
| Freshdesk's API limit was reached | Other apps or scripts have used your account's API budget |
| The stored key can't be used any more | Enter the key again; your scan history stays |
Nothing is written to your help center in any of these cases, because the connection test only reads.
Disconnecting and reconnecting
Disconnect deletes both API keys — the read-only one and the edit key, if you added one — immediately. Nothing that could call Freshdesk survives that click.
What stays for 30 days is the working copy: the articles TidyKB read, the findings, and the snapshots that make undo possible. That is deliberate. A disconnect is exactly the moment somebody might want a bulk replace put back, and deleting the snapshots would destroy an undo you still expect. After 30 days it is deleted automatically.
Delete my data, on the same page, removes the connection and everything under it straight away, before those 30 days are up.
Reconnecting the same help center is a resume, not a fresh start: the articles, snapshots and translation baselines under it were never deleted, so the undo you kept is still there. Connecting a different help center purges the old one immediately instead of waiting.
Freshdesk and Freddy are trademarks of Freshworks Inc. TidyKB is an independent product and is not affiliated with, endorsed or sponsored by any company named on this page.
FAQ
Questions, answered
Does TidyKB need an admin API key?
No. A scan needs one permission: view solution articles. Create a dedicated agent whose role has that and nothing else, and use its key. A Freshdesk API key carries exactly the permissions of the agent it belongs to, so a knowledge-base-only role is what keeps TidyKB away from tickets, contacts and settings.
Can I connect my custom help-center domain, like help.acme.com?
No. TidyKB asks for the Freshdesk domain you sign in to the agent portal with, yourcompany.freshdesk.com. A custom portal domain is rejected with “A custom help-center domain won’t work here”. The free public audit is the other way round: it takes the public portal URL, custom domain and all, and needs no key.
Can one workspace connect two Freshdesk accounts?
Not today. TidyKB reads one connection per workspace everywhere in the app, so the effective limit is one Freshdesk account, including on Pro, whose plan line says three. Connecting a second help center asks you to disconnect the first. Pro’s third account arrives with the multi-account screens.
Does a knowledge-base-only agent use a paid Freshdesk seat?
Usually an agent occupies a seat on your plan. Freshdesk’s public documentation does not say whether an agent used only for API access can be an occasional agent instead, so check the agent types on your plan before you add one.
Related
- What TidyKB reads, and what it never reads The exact Freshdesk endpoints TidyKB calls, what it stores about your help center, what it sends to a translation model, and how long any of it is kept.
- Find & replace: preview, confirm, undo How a bulk find and replace runs: the read-only preview, the second Freshdesk key fixes need, the typed confirm, and what one-click undo can and cannot put back.
- Freshdesk API key: read-only, KB-only access Where to find your Freshdesk API key, and how to create a dedicated agent with a knowledge-base-only role so third-party tools can’t touch your tickets.
See your help center’s score.
Paste a URL. No signup, no API key, no call.