A Discord ticket system gives each member a private channel with your support team, opened by clicking a button on a panel. To set one up you need three things: a bot that creates the channels, a staff role that can see them, and a place for finished tickets to be archived. This guide explains how to plan each part, then walks through a complete setup in Better Tickets.
Why servers use ticket systems
Answering support questions in a public channel stops working once a server grows. Questions get buried, private details such as payment problems or harassment reports end up in public, and there's no record of what was decided. A ticket system fixes that:
- Privacy. Only the member, the staff you choose and anyone you add can see the ticket.
- Focus. Each conversation has its own channel, so nothing gets lost between messages.
- Accountability. You can see who handled each ticket and keep a transcript of what was said.
Plan your ticket system before you build it
A few decisions up front save a lot of reconfiguring later.
Decide which categories you need
A category is one type of ticket, with its own button, staff and questions. Common ones are general support, player reports, appeals and partnerships. Only split a category off when it needs a different team or different questions; otherwise members have to guess which button to press.
Choose who handles tickets
Create a role for each team that answers tickets, such as Support and Moderators. Give tickets to roles rather than to individual people, so you can add or remove staff by changing their roles.
Decide what to ask up front
A short form when the ticket opens means staff don't have to ask the same questions every time. Keep it to what staff need to start helping, such as "What's your in-game name?" or "Describe the problem". Two or three questions is usually plenty.
Decide what happens when a ticket closes
Most servers delete the channel and keep a transcript (a saved copy of the conversation) in a staff-only channel. Some prefer to keep closed channels for a while in case the member comes back. Decide which fits, and where transcripts should go.
Set up a ticket system with Better Tickets
This setup takes about five minutes. It creates one support category with a staff role, a short form and transcripts. The quickstart has the same steps in a shorter form.
Invite the bot
Invite Better Tickets to your server. You need the Manage Server permission.
Create the category
In the dashboard, open Tickets → Panels, click New category and name it support.
Set staff roles and channels
Click Configure. Under Roles, add your support role as a staff role and, if you want staff notified, as a ping role. Under Channels, pick the Discord category where ticket channels should be created and a transcript channel for finished tickets.
Add questions
On the Questions tab, add up to five questions. Each can be short or long text, a number, a select menu, a user, role or channel picker, or a file upload. Members answer them in a pop-up form before the channel opens.
Set limits
On General, set the per-member ticket limit to 1 so nobody opens duplicates. Optionally turn on the avatar check to block accounts with no profile picture.
Send the panel
Use Send panel on the category page, or build a richer message with the message builder, and post it in a channel such as #support.

What happens when a member opens a ticket
- The member clicks the panel button and fills in the form.
- Better Tickets creates a private channel, posts their answers and pings the ping roles.
- A staff member runs
/claim(or clicks Claim) so everyone knows who's handling it. - Staff can
/addanother member,/renamethe channel or/escalateit to another category. /closeruns the category's close behavior: by default it saves a signed HTML transcript to the transcript channel and deletes the ticket channel.
Every step is covered in how Discord tickets work in Better Tickets.
Guides to each ticket action
- How to close a Discord ticket, including close reasons and who can close
- How to add someone to a ticket, or remove them
- How to transfer or escalate a ticket to another team
- How to reopen a closed ticket
- How to auto-close inactive tickets
- Voice channels for tickets
- Ticket claiming explained and ticket transcripts
Useful extras once it's running
- Per-button permissions. Decide exactly who can claim, close, delete or reopen tickets, separately for each button. See ticket settings: buttons.
- Support hours. Only allow new tickets while your team is online, with a message explaining when to come back. See schedule.
- Auto-close. Close tickets automatically when the member leaves the server or stops replying. See automation.
- Voice channels. Let staff or the member request a temporary voice channel for the ticket. See voice.
- Transcript verification. Anyone can download a transcript and run
/verifyon the file to check it hasn't been edited since it was created.
Common mistakes to avoid
- Giving tickets to people instead of roles. When a staff member leaves, you have to reconfigure every category. Use roles.
- Too many categories. Five near-identical buttons confuse members. Merge categories that have the same staff and questions.
- No per-member limit. Without one, a frustrated member can open ten tickets in a minute.
- No transcript channel. Once a channel is deleted, the conversation is gone unless you kept a transcript.
- Letting everyone see the transcript channel. Transcripts can contain private details. Keep that channel staff-only.
Frequently asked questions
What is a ticket system on Discord?
A ticket system lets a member start a private conversation with your staff by clicking a button. A bot creates a channel only that member and your support roles can see, and when the issue is solved the channel is closed and usually saved as a transcript.
Can I make a ticket system without a bot?
Not a practical one. You could create private channels by hand, but a bot is what creates the channel when a member clicks, sets the permissions, pings staff and archives the conversation. Without it, every ticket is manual work for an admin.
How many ticket categories should I have?
Start with one or two, such as general support and reports. Add another only when it needs different staff, different questions or different rules. Too many categories make members guess which button to press.
What are ticket transcripts for?
A transcript is a saved copy of the conversation. It lets you review how staff handled a case, settle disputes later, and keep a record after the channel is deleted. In Better Tickets, transcripts are signed so /verify can prove one wasn't edited.
Should members be able to see who is handling their ticket?
Yes. Claiming shows everyone which staff member owns the ticket, which stops two people answering at once and tells the member someone is on it. See Discord ticket claiming explained.
How do I stop people spamming tickets?
Limit how many open tickets each member can have (one is common), ask a required question so empty tickets aren't possible, and optionally restrict who can open tickets with required or denied roles.
Related tools and guides
- Ticket bot quickstartGet a working ticket panel into your server in five steps.
- Discord ticket claiming explainedWhy tickets get forgotten and how claiming fixes it.
- Best Discord ticket bots comparedHow the popular ticket bots differ, feature by feature.
- Discord embed generatorDesign the message that sits above your ticket panel.