Docs
🔍
General Setup

Getting Started with BetterTicket

This guide walks you through everything you need to get BetterTicket up and running in your Discord server — from inviting the bot to creating your first ticket panel and receiving your first ticket. Follow each step in order and you'll be live in under 10 minutes.

Step 1 — Invite the Bot

To add BetterTicket to your server, you need to be a server Owner or have the Manage Server permission.

  1. 1
    Visit betterticket.dev and click Add to Server (or use the invite link from the pricing/dashboard page).
  2. 2
    Select the server you want to add the bot to from the dropdown. You must be logged into Discord in your browser.
  3. 3
    Review and confirm the requested permissions — these are required for the bot to function correctly (see table below).
  4. 4
    Click Authorize. The bot will appear in your server's member list.
📷 Screenshot goes here — Bot invite authorization screen

Required Permissions

BetterTicket requests the following permissions. Each one is required for specific functionality:

PermissionWhy It's Needed
Manage ChannelsCreate and delete ticket channels automatically
Manage RolesApply discount roles, temp roles, and permission overwrites on ticket channels
Read Messages / View ChannelsRead messages in ticket channels and respond to commands
Send MessagesPost ticket panels, ticket messages, receipts, and all bot messages
Embed LinksSend rich embeds (panels, receipts, transcripts, vouches)
Attach FilesSend HTML transcript files as attachments
Add ReactionsUsed by certain automation and giveaway features
Manage MessagesPin/unpin messages and manage ticket-related messages
Read Message HistoryGenerate transcripts by reading channel message history
Use External EmojiUse custom emojis in embeds and buttons
Manage ThreadsRequired for thread-style ticket panels (Premium)
Create Private ThreadsRequired for thread-style ticket panels (Premium)

Missing permissions will cause the bot to fail silently. If ticket channels aren't being created, check that BetterTicket's role is above any roles it needs to manage in your server's role hierarchy.

Step 2 — Log Into the Dashboard

The dashboard is your control center for all bot configuration. Every setting is managed here.

  1. 1
  2. 2
    Click Login with Discord and authorize the dashboard to access your Discord account.
  3. 3
    After logging in, you'll see a list of your servers. Click Select next to the server you want to configure.
  4. 4
    You're now inside your server's dashboard. The left sidebar shows all configuration sections.
📷 Screenshot goes here — Dashboard server selector showing list of servers

Tip: Only servers where you have Administrator or Manage Server permission will appear in the selector, and only servers where BetterTicket has been added.

Step 3 — Create Your First Panel

A panel is the Discord embed message that users click to open a ticket. You can have multiple panels for different purposes (e.g., "General Support", "Purchase Help", "Bug Report").

  1. 1
    In the dashboard sidebar, click Panel Configs.
  2. 2
    Click the + New Panel (or Add Panel) button.
  3. 3
    Give your panel a name — this is an internal label visible only in the dashboard.
  4. 4
    Configure the Panel Embed — this is the message customers see in Discord. Set a title (e.g., "Open a Ticket"), body text, and color.
  5. 5
    Set the Button Label (e.g., "Open Ticket") — this is the text on the button customers click.
  6. 6
    Set the Ticket Category — the Discord category where open ticket channels will be created.
  7. 7
    Optionally set a Closed Category — where ticket channels move when closed (instead of being deleted).
  8. 8
    Click Save to save the panel configuration.
📷 Screenshot goes here — New panel creation form showing embed builder, button label, and category fields

Key Panel Fields Explained

FieldDescription
Panel NameInternal name shown only in the dashboard. Not visible to users.
Panel EmbedThe Discord message with the button. Customizable with title, body, color, author, footer, image, thumbnail, and fields. Supports variables like {server.name}.
Button LabelText on the "Create Ticket" button (max 80 characters).
Button EmojiOptional emoji for the button. You can use any standard emoji (🎫) or a custom emoji from your server by pasting it directly into the field.
Ticket CategoryDiscord channel category where new ticket channels are created.
Closed CategoryIf set, closed tickets move here instead of being deleted. Leave blank to delete on close.
Support Team RolesDiscord roles that have staff access to all ticket channels for this panel.
Ticket Name TemplateFormat for the ticket channel name, e.g. ticket-{author.name}-{ticket.count}.

Step 4 — Send the Panel to a Channel

Once your panel is configured and saved, you need to post it to a Discord channel so users can interact with it. There are two ways to do this:

Method A — Via the Dashboard

  1. 1
    In your panel's settings page, look for the Send Panel section.
  2. 2
    Select the Discord channel you want to post the panel to from the dropdown.
  3. 3
    Click Send. The panel embed will be posted immediately.

Method B — Via Slash Command

Use the /ticket panel command directly in Discord:

/ticket panel panel:Your Panel Name channel:#your-channel
📷 Screenshot goes here — Example panel embed in Discord with create ticket button

Tip: Post your panel in a read-only channel that customers can see but can't send messages in. Set the channel permissions so only BetterTicket can send messages there.

Step 5 — Configure Support Team Roles

Support team roles determine who has staff-level access inside ticket channels. Staff can see all tickets, respond to customers, close tickets, and generate transcripts.

  1. 1
    Go to your panel settings and find the Support Team section.
  2. 2
    Use the role dropdown to add one or more Discord roles as support team members.
  3. 3
    Save the panel. Any user with an assigned support team role will now have access to all tickets created through that panel.

Note: Users with the Administrator Discord permission always have access to all channels and are not restricted by BetterTicket's role settings.

Step 6 — Understand the Ticket Channel

When a user clicks the "Create Ticket" button on your panel, BetterTicket automatically:

  1. 1
    Creates a new private channel in your configured ticket category, named according to your Ticket Name Template (e.g., ticket-john-001).
  2. 2
    Sets channel permissions so only the ticket opener and your support team can see it.
  3. 3
    Posts the Ticket Message embed inside the channel with any configured text, variables, and form answers.
  4. 4
    If a form is configured on the panel, a pop-up appears asking the user to fill in their answers before the ticket is created.
📷 Screenshot goes here — A ticket channel showing the welcome message embed, variables expanded

Step 7 — Optional Configuration

These settings are optional but recommended for a complete setup:

Transcript Channel

Set a channel where a transcript embed (and optional HTML file) is posted when tickets are closed or deleted. Go to Panel Configs → [Your Panel] → Transcripts and select or create a channel.

Logging Channel

Set a channel to receive log entries for ticket events (created, closed, deleted, renamed). Go to Panel Configs → [Your Panel] → Logging.

Receipt / Vouch Channel

Set a channel where vouches and receipts are publicly posted. Go to Dashboard → General Settings → Vouch / Receipt Channel.

Tip: Every receipt you issue adds to a customer's cumulative spend balance. You can use Discount Roles to automatically assign Discord roles when a customer crosses a spend threshold — great for rewarding loyal buyers. See Integrations → Discount Roles.

Ticket Message Customization

Customize the embed shown inside every ticket when it's created. Go to Panel Configs → [Your Panel] → Messages → Ticket Message. You can use variables like {user}, {server.name}, and form answer variables like {create.form.0}.

Quick Tip: After setting everything up, test your panel by opening a ticket in a test server or by using a dummy account. Make sure the channel is created, the welcome message appears correctly, and closing the ticket behaves as expected.

What's Next?

Now that you have a basic panel running, explore these documentation sections to unlock more features: