Better Helpdesk

Introduction

What Better Helpdesk is, the four pieces it is made of, and how these docs are arranged.

Better Helpdesk is an open-source (MIT) support inbox, ticketing system and lightweight CRM that you install into your own Next.js app as an npm package, better-helpdesk. It is a library, not a service: nothing runs beside your app, and there is no second login, database or deploy to look after. Your customers write in through a widget on your site, your support team answers them from a page inside your app, and every conversation is stored in the database you already run: Postgres, MySQL, SQL Server or SQLite.

In these docs an agent is a member of your support team. It is never an AI. AI is an optional adapter, and what it produces is a suggestion or a draft that an agent reviews.

The pieces

You add four things to your app, and that is the whole installation.

PieceWhat it isWhere it lives
The handlerOne function from Request to Response, built by buildHelpdesk(), that serves every route of the helpdeskA catch-all route such as app/api/helpdesk/[...slug]/route.ts
The agent UIHelpdeskAdmin, a React component with the inbox, contacts, companies, deals and settingsA page of your app, such as /helpdesk
The widget<helpdesk-widget>, a web component with a React wrapper and a standalone scriptAny page of your site, or a site on another origin
The tablesThe helpdesk's tables, created by better-helpdesk-migrateYour own database

Your app keeps the one thing a helpdesk usually takes from you: identity. A function you write, identify(request), reads your own session and says who is asking and whether they are an agent. Better Helpdesk stores no passwords and no sessions.

Everything else is optional and arrives as an adapter you pass in: sending email, receiving it, storing attachments, AI suggestions and drafts, and searching your own help pages. Background work, such as reminders and outgoing mail, runs when your own scheduler calls it. Leave an adapter out and the feature it powers is not there.

Who it is for

Better Helpdesk suits a team that already has a Next.js app with its own login and database, and wants support to live inside that product rather than next to it. It needs Next.js 15 or newer, Node.js 22.19 or newer, React 19, and PostgreSQL 14, MySQL 8.4 or SQL Server 2022 or newer, or SQLite. On another database, you can write your own adapter. Both interfaces ship in English, German, French and Italian. It is not built for support by phone or on social channels, or for a team that wants a hosted tool with its own logins.

Get started

The pages under Get started are the ones every installation needs, and the comparison for deciding whether it fits. Read them in order the first time; after that, you will mostly be in the topics below.

Topics

Everything after a working installation is arranged by the part of the helpdesk it concerns, not by the kind of page. Within a topic the tasks come first, then the concepts behind them where a topic has any, then the reference you consult while you work. You don't need to read a topic before you need what it covers.

On this page