How to Set Up a Discord Ticket Bot (Complete 2026 Walkthrough)
How to set up a Discord ticket bot step by step: permissions, panels, categories, staff roles, transcripts, and the one setup step most servers skip.
Dani, Founder, AI Ticket Bot
8 min readUpdated
Most ticket bot setups fail in the same two places: permissions that look right but are not, and a panel nobody can find. This walkthrough covers both.
What you need before you start
- Manage Server permission on the Discord server, or the owner doing the invite for you.
- A rough idea of your categories. Two or three is plenty to start. "General help", "Report a player", "Billing" beats a single catch-all.
- A staff role that already exists. Do not create a new one for the bot; use the role your team already has.
Step 1: Invite the bot with the right permissions
The permissions that actually matter for a ticket bot:
| Permission | Why it is needed |
|---|---|
| Manage Channels | To create and delete ticket channels |
| Manage Roles | To grant the opener access to their own ticket |
| View Channel, Send Messages | To post the panel and reply |
| Embed Links, Attach Files | Panels and transcripts are embeds |
| Read Message History | To build a transcript on close |
| View Audit Log | Only if you plan to connect a second ticket bot |
The common mistake is inviting with a stripped permission set to be cautious, then spending an hour debugging why tickets do not open. Grant the set above, and restrict by channel afterwards if you want to.
Our permissions guide covers each failure by symptom if something is already broken.
The shortcut: one command instead of steps 2 to 4
Before the manual walkthrough, the short version. On AI Ticket Bot, /setup builds the whole thing in one go: a panel, sensible categories, the staff role wiring and the permissions, then tells you what it created and links you straight to it.
- /setup
- Builds a working ticket system in one command: panel, categories, staff wiring, permissions
- /panel
- Creates or edits a panel by hand if you want to build it yourself
- /ai train
- Teaches the brain a fact about your server, in plain language
- /ai ask
- Tests what it learned, phrased the way a member would ask
- /staff roles
- Sets what each of your staff roles may do, from fourteen permissions
Two things happen when that panel goes live that are worth knowing in advance. Members can immediately open tickets, and your server's 14 days of Premium start, automatically, with no payment method at any point. It ends by itself and the server drops back to the free plan with nothing deleted.
The rest of this guide is the manual version, which is also what you want if you are setting up a different bot.
Step 2: Create your ticket panel
A panel is the message with the button members press. Put it somewhere obvious. The two placements that work:
- A dedicated #support or #open-a-ticket channel, near the top of your channel list.
- Pinned in your existing #help channel, if you already have one members use.
What does not work: burying it in a rules channel nobody scrolls, or a channel only members with a specific role can see, when the people who need support are usually the ones without roles.
You also choose channel mode or thread mode. Channel mode creates a private channel per ticket and is what most servers want; it is familiar and staff can scroll back. Thread mode keeps things tidier in large servers, but threads archive.
Step 3: Add categories
Categories are the buttons on your panel. Each one can route to different staff and behave differently.
Keep the list short. Every extra button is a decision you are asking a confused member to make before they can ask their question. Three is usually right, five is the ceiling.
Use the description on each category to pre-answer the first question in it. A "Billing" category whose description reads "refunds within 14 days, have your order ID ready" removes the first two round trips from every billing ticket even when a human still handles it.
One thing worth knowing: routing is deterministic. The member picks a category and that decides which staff role gets involved. The AI does not silently re-route tickets somewhere else, which means what you configure is what happens.
Step 4: Wire your staff roles
Give your existing staff role access, then set what it can actually do. Granular permissions matter more than they look:
On AI Ticket Bot that is fourteen permissions in four groups, and /staff roles opens the whole thing on one card. Four ready-made sets get a role working in one tap, so you only go permission by permission when you want to.
Per-role permissions worth setting deliberately
- Claim tickets
- Lets a staff member take ownership so two people do not answer at once
- Close tickets
- Not everyone who can read tickets should be able to close them
- Read transcripts
- Every closed conversation in the server, not just the ones they handled
- Teach the AI
- Decides who can teach the brain. Keep this tight, because a wrong fact taught here gets repeated to every member who asks
The four that are worth thinking about hardest are the ones that reach beyond a single ticket: reading transcripts, seeing stats, teaching the AI, and managing the blacklist. A new role gets none of them by default.
There is a role hierarchy guard on unclaiming, so a junior staff member cannot yank a senior's claimed ticket.
Step 5: Turn on transcripts
Transcripts save the conversation when a ticket closes and give you a link. Turn them on before you need them, not after an argument about what someone was told.
Retention is plan-bound: 90 days on the free plan and 730 days on every paid plan. If you ever need to audit a support conversation, that number is the one to check, not whether transcripts exist. There is also a server-wide switch to turn transcripts off entirely, on every plan, if your community would rather nothing were retained. Our transcripts guide covers the privacy side.
Step 6: Open a test ticket yourself
Do not skip this. Open a ticket from a second account, or ask a staff member to.
What to check in the test ticket
- The ticket channel actually appears, and the opener can see it
- Your staff role can see it too
- The welcome message and buttons render properly, not as blank embeds
- Closing works and produces a transcript link
- The AI, if enabled, actually replies rather than sitting silent
Five minutes here saves a week of members quietly failing to get help.
The step most servers skip
If your ticket bot has AI, teach it before you announce it. A bot that has been told nothing will politely escalate every single ticket to your staff, which is worse than no bot at all, because now there is an extra step.
With AI Ticket Bot this is the /ai train command. You state the answer in plain language, or paste a URL, which it crawls through the site's sitemap rather than reading a single page, or attach up to ten files per message. Five minutes of feeding it your most repeated answers is the difference between a bot that resolves tickets and a bot that files them.
"Our refund window is 14 days from purchase. After 14 days we do not refund"
Specific, checkable, and the bot can answer with it directly
"We have a refund policy"
Too vague to answer with, so the bot hedges or escalates
"The download link is pinned in #releases. It is members-only, get the role in #roles"
Answers the question and the follow-up question in one fact
"Downloads are in the downloads channel"
The member still cannot find it, so the ticket continues
Start with the five questions your staff are sick of answering: your refund window, your rules, how to get a role, your hours, where the download link is. We wrote a full guide to training that covers what makes a fact usable versus useless.
How long should this take?
About ten minutes for the mechanical setup, plus however long you spend on categories and training. With a one-command setup it is closer to two. Any bot claiming a thirty-second setup is describing the invite, not the configuration.
Common setup mistakes
- Panel in a channel new members cannot see
- Check it with a fresh account, not with your owner account. The people who need support usually have no roles
- No staff role wired
- Escalations ping nobody and tickets sit unread. The bot never invents a role you did not create
- Too many categories
- Members pick the wrong one and get routed to staff who cannot help
- AI enabled but untrained
- Produces confident escalation on everything, and the conclusion that AI does not work
- Transcripts off
- Discovered during a dispute, which is the worst possible time
- Bot role below the staff role
- Tickets open and nobody can see them. Always check position, not just permissions
Keep reading
Frequently asked questions
About ten minutes for the mechanical setup: invite, panel, categories, staff role, transcripts and a test ticket. On AI Ticket Bot a single /setup command builds the panel, categories and staff wiring in one go, which takes that down to a couple of minutes. Add a few more minutes to train the AI, which is time well spent because an untrained AI escalates everything.
Manage Channels and Manage Roles to create tickets and grant access, View Channel and Send Messages to operate, Embed Links and Attach Files for panels and transcripts, and Read Message History to build a transcript on close. View Audit Log is only needed if you connect a second ticket bot. Do not grant Administrator instead.
In a dedicated support channel near the top of your channel list, or pinned in an existing help channel members already use. Verify it with a fresh account with no roles, since the people who need support are usually the ones without roles.
Three is usually right and five is the ceiling. Every extra button is a decision you are asking a confused member to make before they can ask their question, and wrong picks route them to staff who cannot help. Use the category description to pre-answer the first question in that category.
Yes, and it is the step most servers skip. An AI that has been told nothing will escalate every ticket to your staff, which adds a step rather than removing one. Feeding it your five most repeated answers takes about five minutes and is the difference between a bot that resolves tickets and one that files them.
On AI Ticket Bot, yes: publishing your first panel starts 14 days of Premium automatically. There is no payment method at any point, so it cannot become a charge and there is nothing to cancel. It ends by itself, the server drops back to the free plan, and nothing is deleted. It is one per server, permanently.
It’s not just an AI, it’s your AI.
See it on your own server.
Add the bot free, teach it a few of your most common answers, and watch it clear the repeat tickets on its own.
Free plan, no card. Your first panel starts 14 days of Premium.
Keep reading.
All articlesDiscord Ticket Logs: Four Events, Four Channels, One Blind Spot
Ticket log channels are free on every plan and set per event, so opens, claims, closes and transfers can each land somewhere different. What each one carries.
9 min read
How to Open a Ticket in Discord (and What Decides If It Opens)
Members open a ticket by pressing a button on a panel. Behind that press sit five steps in a fixed order, and five routes in that do not all pass them.
9 min read
Discord Ticket Panel Design: What You Can Change, and What Discord Decides
The ticket panel is designable on every plan. What you can change, the two layouts, how members pick a category, and the rules Discord imposes on all of it.
9 min read