Freshdesk Knowledge Base — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Freshdesk Knowledge Base (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Freshdesk's knowledge base is called Solutions and is organized as a nested, three-level hierarchy. Articles live inside folders, folders live inside categories. Surfacing the right article on a ticket deflects repeat questions and speeds resolution. This skill covers navigating the hierarchy, reading articles, and suggesting articles for tickets through tools named freshdesk_solutions_<action>.
Freshdesk Solutions is a customer-facing knowledge base published to the support portal. Writing internal MSP documentation here exposes it to customers.
those belong in an MSP documentation platform; use hudu-articles or itglue-documents. Never draft an internal procedure into a Solutions article.
hudu-passwords or itglue-passwords; nothing in the Solutions hierarchy is a safe place for them.
replies and notes are freshdesk-ticketing; this skill finds the article, it does not send it.
Category (top level — e.g. "Email & Collaboration")
└─ Folder (grouping — e.g. "Outlook")
└─ Article (the content — e.g. "Fix Outlook disconnected status")| Level | Resource | Parent |
|---|---|---|
| Category | /solutions/categories | — (top level) |
| Folder | /solutions/folders | Category |
| Article | /solutions/articles | Folder |
You traverse top-down: list categories, list the folders within a category, then list the articles within a folder.
GET /api/v2/solutions/categoriesReturns each category's id, name, and description.
GET /api/v2/solutions/categories/{category_id}/foldersReturns each folder's id, name, description, and visibility (which audiences can see it — e.g. all users, logged-in users, or specific companies/agents).
GET /api/v2/solutions/folders/{folder_id}/articlesReturns article summaries within the folder.
GET /api/v2/solutions/articles/{article_id}| Field | Type | Description |
|---|---|---|
id | Integer | Unique identifier |
title | String | Article title |
description | String (HTML) | Body content |
status | Integer | 1 = Draft, 2 = Published |
folder_id | Integer | Parent folder |
category_id | Integer | Parent category |
tags | Array | Labels for retrieval |
hits | Integer | View count (popularity signal) |
Only published articles (status: 2) should be suggested to customers; drafts are internal-only.
Freshdesk's REST API exposes GET /api/v2/search/solutions?term=..., but this plugin cannot reach it. The MCP server registers no knowledge-base search handler — only list/get/create/update/delete over categories, folders and articles (freshdesk-mcp/src/domains/solutions.ts). Tickets, contacts and companies each get a search tool, so search reads as a house pattern; the knowledge base is the one surface that does not have it.
The real path to an article is the walk:
freshdesk_solutions_categories_list — the top level.freshdesk_solutions_folders_list for the category that plausibly ownsthe topic (takes the parent category_id).
freshdesk_solutions_articles_list for that folder (takes folder_id),then freshdesk_solutions_articles_get on the candidates worth reading.
You do the keyword matching yourself, against article title and tags as you walk. The tree is small and changes rarely, so cache it for the session rather than re-listing it per ticket. When a request genuinely needs full-text search across article bodies, say the plugin cannot do it and point the operator at the Freshdesk portal search — do not present a walk as if it were an exhaustive search.
A high-value MSP workflow is matching an incoming ticket to existing knowledge so the agent can resolve faster or deflect entirely:
message; identify keywords (product, error text, action).
the topic and list their articles. There is no KB search tool; see above.
status: 2 articles; ignore drafts.tags keyword matches and higherhits (popularity); break ties by recency.
reply (deflection) or cite it in an internal note as the resolution path.
Ticket: "Outlook shows Disconnected since this morning"
walk: category "Email & Collaboration" -> folder "Outlook" -> articles
candidates (published, ranked by title/tag match + hits):
1. Fix Outlook disconnected status (hits: 1,204)
2. Rebuild the Outlook OST cache (hits: 538)
-> reply with article #1 link, or add internal note citing it| Error | Cause | Resolution |
|---|---|---|
| 404 Not found | Unknown category/folder/article ID | Re-list the parent level to confirm IDs |
| 400 Bad request | freshdesk_solutions_articles_create missing a required field | Supply all of folder_id, title, description, status |
| 403 Forbidden | Folder visibility restricts access | Check folder visibility; the article may be internal |
companies should not be shared more broadly.
tree within a session to reduce request volume.
signals which articles to keep current.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.