Open source · self-hosted

Every question
gets its own ticket.

OpenTicket is a Discord bot you run yourself — host it on your own server, point it at your own database, and it turns a single click into a private channel routed to the right category, claimed by the right person, and closed with a full transcript.

unlimited ticket categories
MIT licensed
Node.js + MongoDB
SUPPORT
DESK
Ticket
#0427
OPEN
CategoryTechnical Support
SubjectBot offline in EU region
Opened by@rivi_x
Claimed by@staff_marco
channel created in 0.4s Close Ticket
What you get

Built for the moment someone needs help.

It's source code, not a service — every ticket is its own private channel on infrastructure you control, scoped, permissioned, and logged automatically.

Routing

One panel, six categories

Members pick General, Billing, Technical, Sales, Abuse, or Partnership — each one opens in its own Discord category, so staff only see what's relevant to them.

Intake

Subject & message, upfront

Before a channel is even created, a quick form asks for a subject and a message. Staff walk in already knowing what they're dealing with.

Ownership

Claim, close, reopen

Anyone on the support team can claim a ticket with one click. Closing generates a full transcript, DM'd to the member and logged for staff.

Control

Your bot, your config

Everything lives in a config file and .env — categories, roles, colors, copy. Edit it, restart the process, it's yours.

Limits

One open ticket per member

Keeps the queue honest. Configurable per server, so it scales from a 50-person community to a busy storefront.

Records

Transcripts that don't disappear

Every closed ticket is archived with a full transcript — searchable history for disputes, training, or just peace of mind.

The flow

From click to closed, in four stubs.

This is the whole journey a ticket takes — no extra steps, no manual sorting.

01 · Select

Pick a category

A member chooses from the panel's dropdown — each option maps to its own Discord category behind the scenes.

02 · Describe

Fill the form

A short popup asks for a subject and a message before anything is created — so the ticket arrives with context.

03 · Resolve

Claim & respond

Staff claim the ticket, chat in a private channel only they and the member can see, and close it when it's done.

04 · Archive

Transcript & log

Closing sends a transcript to the member's DMs and a staff log channel, then the channel quietly winds down.

Premium · Coming soon

A dashboard that looks like your server, not ours.

The bot itself is free, self-hosted source code. Premium adds an optional hosted web dashboard for it — and you can customize it. Your colors, your logo, your layout for the categories that matter to you. Manage ticket settings from a browser instead of editing config files.

Customizable dashboard — theme, branding, and layout, your call
Edit categories, support roles, and panel copy from a browser, no redeploy
Ticket analytics: response times, volume by category, staff load
No spam — just one message when Premium ships.
Plan
Premium
$3
/ month
Custom dashboard theming
Drag-and-drop category builder
Analytics & staff leaderboard
Priority support
Boarding soon

Run it on your own infrastructure.

Clone the repo, drop in your bot token and config, and you're hosting your own ticket system. No managed service, no recurring fee for the base bot.

Get the source on GitHub