Helpdesk & Knowledge Base
The helpdesk has two halves: a knowledge base managed through the
helpdeskKb tRPC router, and tickets that reuse the unified-inbox threads
with a helpdesk overlay. Both are surfaced in the console at /manage/helpdesk.
The helpdeskKb router
Knowledge-base articles and their categories are CRUD-managed through the
helpdeskKb router on the company-manager API, called at
/api/trpc/helpdeskKb.<procedure> with the standard
tRPC conventions:
| Procedure | Purpose |
|---|---|
getArticles |
List articles. |
getArticleById |
Fetch one article. |
createArticle |
Create an article. |
updateArticle |
Update an article. |
deleteArticle |
Delete an article. |
getCategories |
List categories. |
getCategoryById |
Fetch one category. |
createCategory |
Create a category. |
updateCategory |
Update a category. |
deleteCategory |
Delete a category. |
The knowledge base is a clean example of a relational defineEntity — its
articles and categories are entity-backed models with generated CRUD. If you're
building your own relational domain, read Entities and use the
KB as the reference shape.
Tickets
Tickets are not a separate model — they are the existing unified-inbox threads with a helpdesk overlay carrying the ticketing fields:
- priority
- tags
- SLA
- CSAT
The console renders these at /manage/helpdesk alongside the knowledge base.
Because a ticket is an inbox thread underneath, its conversation content flows
through the same inbox surface, and the overlay adds the helpdesk-specific
metadata on top.
Related
- Entities — the
defineEntitypattern the KB is built on - tRPC Procedures — how to call
helpdeskKb.* - Integrations Overview — the two-worlds map