Server management

How to Make a Ticket System on Discord (No Coding, With Transcripts)

Questions in general chat get lost and DMs to moderators don't scale. A ticket system gives every request its own private channel. Here is how to build one from the dashboard in about 10 minutes.

MurFFy Team7 min read
How to Make a Ticket System on Discord (No Coding, With Transcripts)
On this page
  1. How a Discord ticket system works
  2. Step 0. Prepare the server
  3. Step 1. Set the panel options
  4. Step 2. Add a button for each ticket type
  5. Step 3. Send the panel and test a ticket
  6. Closing tickets and transcripts
  7. Ticket commands
  8. Panel layouts you can copy
  9. FAQ

As a server grows, questions for staff start getting lost. Someone asks in #general, someone else DMs a moderator, and a third person waits two days because nobody saw their message. Tickets fix this: every request gets its own private channel that only the member and support can see.

In this guide you will build a Discord ticket system with MurFFy: a panel with buttons, separate ticket types, a support role, ticket claiming and automatic transcripts.

Quick answer: how to make tickets on Discord

  1. Create a category for tickets (for example HELP) and a Support role.
  2. In the MurFFy dashboard, open Tickets → Panels and choose the panel channel.
  3. Add buttons for each ticket type, such as Support, Report a player, Partnerships.
  4. For each button pick the category, support role and transcript channel.
  5. Click Send and the panel appears in your channel.
Discord ticket panel with Support, Report a player and Partnerships buttons sent by the MurFFy bot
A finished panel in #support. Each button opens a different ticket type.

How a Discord ticket system works

  1. A member clicks a button on the panel.
  2. The bot creates a private channel (or private thread) visible only to them and the support role.
  3. The new ticket opens with a welcome message and Close and Claim buttons.
  4. A staff member clicks Claim, so everyone knows who is handling it.
  5. When it's solved, the ticket is closed and the bot saves a transcript.

Nothing gets lost, and staff can see which tickets are open and who owns them.

Step 0. Prepare the server

Before opening the dashboard, do two things in Discord:

  • A ticket category. Create a category such as HELP and take View Channel away from @everyone. New tickets inherit these permissions, so outsiders never see them.
  • A support role. Create a role such as Support and give it to the people who answer tickets.

The bot needs Manage Channels, Manage Roles, View Channel and Send Messages in that category. If something is missing, MurFFy tells you exactly which permission.

Step 1. Set the panel options

MurFFy ticket panel general options: ticket channel name, panel channel, thread mode, dropdown and ticket limit
Ticket channel naming (1), the channel where the panel lives (2), extra options (3) and sending the panel (4).
  1. Ticket channel name: ticket number or username. A number (support-129) is more private and easier to search.
  2. Panel channel: where the bot posts the message with buttons, for example #support.
  3. Panel message: a short note on when to open a ticket. It saves automatically when you stop typing.
  4. Extra options:
    • Thread mode: tickets as private threads instead of channels. Good if you don't want dozens of channels in the list.
    • Dropdown instead of buttons: handy with many ticket types.
    • Limit open tickets: how many tickets one member can have at once. Set it to 1 to prevent ticket spam.

Step 2. Add a button for each ticket type

Every button on the panel is a separate ticket type. Click + Add option, then the edit icon next to a button to configure it.

Editing a ticket button in MurFFy: ticket category, support role, welcome message and automatic transcript
Per button you set where the ticket is created and who sees it (1), what the member reads first (2) and where the transcript goes (3).
  • Styling: label, emoji and button color. Red suits reports, blue suits help.
  • Target category: where the channel is created. You can also set an archive category for closed tickets.
  • Support role: who can see and answer tickets from this button. Report a player can go to moderators, Partnerships only to admins.
  • Roles to mention: who gets pinged when a ticket opens.
  • Channel prefixes: for example support for open tickets and closed for closed ones.
  • Welcome message: the first message in the ticket. Ask for specifics like an in-game name or a screenshot.

Step 3. Send the panel and test a ticket

Click Send in the top right. Open a test ticket from an account without the support role and check that only the author and staff can see it.

A new Discord ticket: welcome message with Close and Claim buttons and a claim notice
A new ticket: the author and support are pinged, followed by the welcome message and staff buttons.

Claim records who is handling the ticket and tells the author Your ticket will be handled by…. Two people never answer the same request.

Closing tickets and transcripts

After Close, the bot asks for confirmation, renames the channel with the closed prefix and offers Delete, Transcript and Archive (if an archive category is set).

A closed Discord ticket with Delete, Transcript and Archive buttons
After closing you can delete the ticket, save a transcript or move it to the archive.

A transcript is a record of the whole conversation. With Auto Create Transcript on, it's posted to a chosen channel (such as #transcripts) with a View online button. You can also browse every transcript in the dashboard under Tickets → Transcripts, which helps with ban appeals and disputes.

Ticket commands

CommandWhat it does
/addAdds someone to the ticket, e.g. a second moderator
/removeRemoves someone from the ticket
/closeCloses the ticket without clicking the button
/transcriptCreates a transcript of the current ticket

Panel layouts you can copy

Gaming server: Tech support, Report a player, Appeal a punishment, Partnerships.

Store or services: Order, Refund, Pre-sale question, each routed to a different role such as Seller and Admin.

Staff applications: a separate Staff applications panel with one Apply button and thread mode. For fixed questions, look at the Forms module in the dashboard.

FAQ

Are MurFFy tickets free?

Yes. Panels, buttons, claiming and transcripts are on the free plan. Premium raises the number of ticket panels.

Can members see other people's tickets?

No. A ticket channel only grants access to the author and the support roles of that button, as long as the category isn't public.

Channels or threads?

Channels are easier for staff to manage and permission. Threads keep the channel list clean and suit lots of short requests.

Why doesn't the bot create a ticket?

Usually it lacks permissions in the ticket category, or the category was deleted. The bot tells you what's missing. Give its role Manage Channels and Manage Roles there.

What's next

Tickets are the backbone of good moderation. Add raid protection and new-account screening, and publish your rules in a clean embed.

Build a ticket panel in MurFFy →

More on the module: Discord ticket bot.

Was this guide helpful?