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:

Set the category permissions so @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

1

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.

Add SUPREO to Discord
2

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.

3

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.
4

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.

5

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.
Write the descriptions for someone who does not know how your server is organised. "Something is broken in the game" routes people better than "Technical".
6

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.

7

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 @everyone cannot see it.
  • The correct staff role was pinged.
  • Staff can reply with /ticket reply, and the member sees it.
  • Closing with /ticket close archives 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:

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.

Auto-close, support hours, team analytics, webhooks, attachments, and unlimited ticket history are part of Premium; DM tickets need the Whitelabel Bot add-on as well, since members message your own bot. Ticket panels, transcripts, staff roles, satisfaction ratings, internal notes, and ten canned responses are on the free plan — see pricing.

When something does not work

Four problems account for almost every failed setup.

Still stuck? Join the SUPREO support server and describe what you are seeing — it is the fastest way to get an answer, and most setup problems take one message to diagnose.

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.