Tickets — Support
Enterprise-grade ticket management for Discord. Build branded panels for tickets, applications, and appeals. Manage staff roles, generate HTML transcripts, and track ticket analytics — all without leaving your server.
Required permissions
The Tickets bot needs these Discord permissions to function. The default invite link grants them automatically — make sure they aren't removed.
- Manage Channels — create ticket channels
- Manage Roles — apply ticket permissions
- Manage Messages — edit and delete messages
- Send Messages — basic functionality
- Embed Links — send rich embeds
- Attach Files — send transcripts
- Read Message History — access old messages
Quickstart
- 1
Run /setup
Creates the Support Tickets category, configures role permissions, sets up your log channel, and prepares the database. You need Administrator permission to run this.
- 2
Configure roles
Pick your Staff roles (moderators who work tickets) and Admin roles (people who can create panels and run /config). Admins do NOT need Discord Administrator.
- 3
Build a panel
Run /panels and choose Tickets, Applications, or Appeals. Walk through the step-based builder to set the title, description, categories, emojis, and target channel.
- 4
Publish & go live
Pick the channel where the panel embed will be posted. Users click a category button and a private ticket channel is created automatically.
Slash commands
/setupConfigure the ticket system. Required before /panels or /config. Admin only.
/configOpen the interactive config menu — log channel, staff roles, admin roles, support roles, reset.
/panelsManage panels — create, edit, or delete Ticket / Application / Appeal panels.
/appealCreate and manage ban-appeal and server-appeal panels with an interactive builder.
/applicationsManage application panels with an interactive builder (staff apps, member apps, etc).
/logs <channel>Set the channel that receives ticket activity logs and transcripts.
/welcomeSend the bot's welcome message to the current channel.
/close [reason]Close the current ticket with an optional reason. Premium feature.
/responseSend a quick canned response in a ticket channel. Staff only.
/mergeMerge two tickets together. Messages from the source are moved to the target.
/myticketsStaff: list your claimed tickets. Users: list your open tickets.
/analytics [period]View comprehensive ticket analytics — volume, response times, top categories, staff stats.
/blacklistManage the ticket blacklist — block users from creating tickets. Premium feature.
/whitelistPer-panel-type access control. Block users from specific panel scopes (tickets / appeals / applications / all). Premium.
/premiumCheck your server's current premium status and active features.
/upgradeGet information about upgrading to premium.
Panels — the core building block
Everything starts with /panels. Choose one of three panel types and walk through a builder that handles the rest.
Ticket panels
Standard support panels. Users click a category button and get their own private channel with staff. Configure up to a maximum number of categories per panel — each with its own emoji, name, target Discord category, and welcome message.
Application panels
Run staff apps, member apps, or any custom intake. Build multi-question forms with required/optional fields and route submissions to a review channel where staff can approve or reject.
Appeal panels
Ban appeals and server appeals with full review workflows. Each appeal category gets its own review channel (or thread, on premium), question set, and optional role ping when a new appeal is submitted. Staff approve or reject right from the review embed.
Category format
Each category in a panel uses a simple emoji name format — for example 🎫 General Support or 💰 Billing Questions. Custom server emojis work too.
How tickets flow
- 1
User opens a ticket
Clicks a category button on a panel. A private channel (or thread, on premium) is created with the user, staff, and configured support roles.
- 2
Staff claim & respond
Staff use the in-channel buttons to claim, respond, or escalate. A claim is visible to other staff so two people don't double-handle.
- 3
Close & transcript
When closed (button or /close), the bot generates a styled HTML transcript with every message and attachment, then posts it to the configured log channel.
Staff workflow
Every ticket channel ships with button controls so staff don't need to memorize commands:
- 🔒 Close — closes the ticket and triggers the transcript.
- 🔗 Merge — merge another open ticket into the current channel via a dropdown picker.
Staff can also use /mytickets to see everything they're currently working, and /response to fire pre-written replies inside a ticket channel.
Roles & access
Staff roles
Moderators who work tickets, applications, and appeals. Can claim, respond, approve/reject, and close.
Admin roles
Manage the bot itself — create panels, run /config, configure advanced settings. No Discord Administrator permission required; just being in an Admin role is enough.
Support roles
Roles that get pinged when a new ticket is created so the right team sees it immediately.
Transcripts & logs
Every closed ticket generates a complete HTML transcript including all messages, embeds, and attachments. Set the destination with /logs #channel. The same channel also receives ticket creation, claim, close, and merge events for full audit visibility.
Analytics
Run /analytics to open an interactive dashboard with:
- Server-wide ticket volume by period
- Per-staff stats — claimed, closed, response time
- Daily ticket creation patterns
- Most popular ticket categories
- Average first-response time per category
Premium features
Premium unlocks the full power of Tickets. Use /upgrade for details, or /premium to check what's currently active.
- • Per-panel custom embed colors and branding
- • Thread-based ticket mode (instead of channels) for high-volume servers
- •
/closewith custom reasons - •
/blacklist— block specific users from creating tickets - •
/whitelist— per-panel-type access control (tickets / appeals / applications / all) - • Per-category role pings on appeal submission
- • Edit existing panels (welcome messages, colors, threads mode)
Troubleshooting
"Setup required" error
Run /setup first. /panels and /config won't work until setup completes.
Bot can't create channels
Check the bot has Manage Channels and Manage Roles, and that its highest role sits above any roles it needs to set permissions on. /setup will try to auto-grant a permissions role if missing — but only if it already has Manage Roles.
Buttons don't respond
Tickets uses persistent buttons that survive restarts — if a button seems dead, it's almost always a permissions issue on the channel where the panel was posted, not the panel itself.
/setup. Use /config anytime to swap log channels, change staff roles, or reset everything from scratch.