Guide · 10 minutes
How to set up a Discord ticket bot
A ticket bot turns "can someone help me?" in a busy channel into a private conversation with your staff that has a beginning, an end, and a transcript. This walks through the whole setup in SUPREO, from invite to first resolved ticket.
Before you start
You need three things, and two of them you probably already have:
- The
Manage Serverpermission on the Discord server you are setting up. The dashboard uses this to decide which servers you can configure. - A staff role — whoever should be able to see and answer tickets. Create one now if support is currently "whoever is around"; every ticket bot needs a role to grant access to.
- An empty Discord category for ticket channels to be created in. Name it something like
Ticketsand hide it from@everyone.
@everyone cannot view it. The bot grants access per ticket to the person who opened it and to your staff roles, so anything visible by default leaks every ticket.The setup, step by step
Invite the bot to your server
Open the invite link and choose your server from the dropdown. Discord will show the permissions being requested — leave them as they are. A ticket bot cannot work without Manage Channels and Manage Roles, because opening a ticket means creating a channel and giving specific people access to it.
One thing worth doing straight away: in Server Settings → Roles, drag the bot's role above your staff roles. Discord will not let a bot manage roles positioned higher than its own, and this is the single most common reason a ticket bot half-works.
Sign in to the dashboard
Sign in with Discord. You will see every server where you have Manage Server and the bot is present; the rest are listed as invitable. Pick your server to open its configuration, which opens on Overview — empty for now, and the place your ticket counts and ratings will appear once things are running.
Turn the ticket system on
Go to Ticket Setup and enable Enable ticket system. Then, under Routing, choose the Discord category where new ticket channels should be created — the one you made earlier.
Two other switches on this card are worth a moment:
Allow users to open multiple tickets at once— leave this off. One open ticket per person keeps conversations in one place and stops duplicates when someone gets impatient.Ask for a satisfaction rating when a ticket is closed— turn this on. It costs the member one click and gives you the only honest measure of whether your support is any good.
Decide who your staff are
On the Staff & access card, set two things. Close ticket — required role controls who can close a ticket; leave it empty and anyone can, which is usually not what you want once a server grows. Dashboard ticket access — roles controls who can read and answer tickets from the dashboard rather than from Discord.
These are separate from the role that gets pinged for a given ticket, which you set per category in the next step. A small server points all of them at one staff role; a larger one gives each queue its own team.
Build your first panel
A panel is the message members interact with: an embed with a dropdown of categories. Go to Ticket Panels and click Use a template. There are five — General support, Bug reports, Player reports, Partnerships and Billing — and each arrives with the embed text, three or four categories, and the questions worth asking before a channel opens, written in your server's ticket language. Most servers want General support first.
Then set the two things no template can guess. Open each category and pick the Role to ping when a ticket of that kind opens and the Discord category channel its tickets are created in. The panel list flags any category still missing one, so nothing gets posted half-configured.
Everything else is optional polish: rename a category, change its emoji, or edit its questions — each category can ask up to five, as text fields, dropdowns, checkboxes or an image upload, and the answers land in the ticket's first message so staff start with context instead of asking for it. The Panel / Form / Ticket preview on the right shows exactly what members and staff will see as you go.
Prefer to start from nothing? New panel gives you a blank embed and one empty category. Keep the list short either way — three or four categories that people understand beat ten that they guess at:
- General help — the catch-all, and it will be most of your volume.
- Bug report — routed to whoever can actually fix things.
- Report a member — moderators only, in a category the rest of staff cannot read.
- Partnership or business — routed to owners, and usually the quietest queue.
Post the panel to a channel
Save, then open the panel's Publish tab, pick the channel members will use — #support or #help — and post. The bot posts the embed and its dropdown, and that message is your ticket system as far as your community is concerned. When you change the panel later, the same tab offers Update message, which edits the posted message in place rather than posting a second copy.
Lock the channel so nobody can post in it. A panel channel with conversation in it stops working as a panel, because the panel scrolls away.
Open a test ticket before you announce it
Use a second account, or ask a member of staff who is not an admin — admins see everything, so testing as one proves nothing about permissions. Then check the whole loop:
- The ticket channel is created in the right category, and
@everyonecannot see it. - The correct staff role was pinged.
- Staff can reply with
/ticket reply, and the member sees it. - Closing with
/ticket closearchives the channel and produces a transcript. - The satisfaction prompt appears, and the rating lands on your
Overview.
Now announce it.
The commands your team needs
Everything staff do day to day lives under /ticket. Send them this list once and you will not be asked again:
/ticket reply— reply to the member, optionally with a file attached./ticket close— close the ticket and archive the transcript./ticket alert— nudge the member when a ticket is waiting on them./ticket note add— leave a private note for other staff. Never shown to the member; use/ticket note listand/ticket note removeto manage them./ticket tags send— send a saved canned response by name, with/ticket tags listto see what is available./ticket move— move a ticket to a different category when it was opened in the wrong one./ticket management rename— rename the channel to something searchable./ticket blacklist add— block someone who is abusing the ticket system.
Once it is running
The setup above is a working ticket system. These are the things worth adding in the first month, roughly in the order they start to matter.
Canned responses
Save your standard answers and send them with /ticket tags send. They support {user} and {agent} placeholders, so a saved reply still reads as though a person wrote it. If your team answers the same question twice a day, this is the highest-value ten minutes you can spend. The free plan includes ten.
Auto-close
Set inactive tickets to close on their own after a few days, with a reminder sent first. Without this, every server eventually accumulates dozens of abandoned channels that nobody wants to be the one to close.
Support hours
If your team is not awake around the clock, say so. Support hours stop tickets being opened outside the window you set, server-wide or per panel, and tell people when you are back — which is far better than silence until morning.
Team analytics
Once you have a few weeks of tickets, Team Analytics shows per-agent volume, replies, median time to first reply, and average rating. It is how you find out that one queue takes eleven hours to get a first reply while the rest take twenty minutes.
When something does not work
Four problems account for almost every failed setup.
- The bot cannot create the ticket channel. Either its role sits below the roles it needs to manage, or the target Discord category has hit the 50-channel limit. Move the bot's role up, or clear out closed tickets.
- Staff cannot see tickets. The staff role is not set on the panel category or in
Staff & access. Fix it and open a fresh ticket — permissions are applied when the channel is created, so existing tickets keep the old ones. - The panel did not post. The bot lacks
Send MessagesorEmbed Linksin that specific channel. Channel overrides beat server-wide permissions. - Nobody gets pinged. The category has no
Role to pingset, or the role is set to not allow mentions.
Frequently asked questions
What permissions does a Discord ticket bot need?
It needs Manage Channels to create and delete ticket channels, Manage Roles to give the right people access to them, and the usual messaging permissions — send messages, embed links, attach files, read message history, add reactions, and use external emojis. The invite link requests exactly this set, so keep the defaults rather than trimming them.
Where should ticket channels be created?
In a dedicated Discord category that only your staff roles can see. Discord caps a category at 50 channels, so busy servers should close tickets promptly or split panels across several categories. Auto-close handles this for you if tickets tend to be abandoned rather than resolved.
How many ticket panels do I need?
Start with one. A single panel with three or four categories — general help, bug report, appeal, partnership — covers most servers and is easier for members than choosing between panels. Add a second panel only when a queue genuinely needs different staff, a different channel, or different hours.
Why can my staff not see the ticket channels?
Almost always the staff role is not set on the panel or in Staff & access, or the bot's own role sits below the role it is trying to grant access to. Discord will not let a bot manage a role higher than its own, so drag the bot's role above your staff roles in Server Settings, then open a fresh test ticket.
Can members open tickets by DM instead?
Yes. DM tickets let a member message the bot directly and have the conversation relayed into a private staff channel, which suits reports and appeals. Because the member is messaging your bot, it needs the Whitelabel Bot add-on on top of Premium, and is configured once from the server that owns the support setup.
How long does setup take?
About ten minutes for a working panel: a couple of minutes to invite the bot and sign in, a minute or two to start a panel from a template and point its categories at your roles, and the rest to test it properly before you announce it. Writing a panel from scratch takes longer only because you have to decide what to ask.
Set yours up now
Invite the bot, sign in with Discord, and follow the seven steps above. Ten minutes and a template to a working ticket system.
Coming from another bot? Read SUPREO vs Ticket Tool for how the two compare and how to switch without disrupting your server.
