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.
- 1Visit betterticket.dev and click Add to Server (or use the invite link from the pricing/dashboard page).
- 2Select the server you want to add the bot to from the dropdown. You must be logged into Discord in your browser.
- 3Review and confirm the requested permissions — these are required for the bot to function correctly (see table below).
- 4Click Authorize. The bot will appear in your server's member list.
Required Permissions
BetterTicket requests the following permissions. Each one is required for specific functionality:
| Permission | Why It's Needed |
|---|---|
| Manage Channels | Create and delete ticket channels automatically |
| Manage Roles | Apply discount roles, temp roles, and permission overwrites on ticket channels |
| Read Messages / View Channels | Read messages in ticket channels and respond to commands |
| Send Messages | Post ticket panels, ticket messages, receipts, and all bot messages |
| Embed Links | Send rich embeds (panels, receipts, transcripts, vouches) |
| Attach Files | Send HTML transcript files as attachments |
| Add Reactions | Used by certain automation and giveaway features |
| Manage Messages | Pin/unpin messages and manage ticket-related messages |
| Read Message History | Generate transcripts by reading channel message history |
| Use External Emoji | Use custom emojis in embeds and buttons |
| Manage Threads | Required for thread-style ticket panels (Premium) |
| Create Private Threads | Required 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.
- 1Go to betterticket.dev/dashboard.
- 2Click Login with Discord and authorize the dashboard to access your Discord account.
- 3After logging in, you'll see a list of your servers. Click Select next to the server you want to configure.
- 4You're now inside your server's dashboard. The left sidebar shows all configuration sections.
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").
- 1In the dashboard sidebar, click Panel Configs.
- 2Click the + New Panel (or Add Panel) button.
- 3Give your panel a name — this is an internal label visible only in the dashboard.
- 4Configure the Panel Embed — this is the message customers see in Discord. Set a title (e.g., "Open a Ticket"), body text, and color.
- 5Set the Button Label (e.g., "Open Ticket") — this is the text on the button customers click.
- 6Set the Ticket Category — the Discord category where open ticket channels will be created.
- 7Optionally set a Closed Category — where ticket channels move when closed (instead of being deleted).
- 8Click Save to save the panel configuration.
Key Panel Fields Explained
| Field | Description |
|---|---|
| Panel Name | Internal name shown only in the dashboard. Not visible to users. |
| Panel Embed | The Discord message with the button. Customizable with title, body, color, author, footer, image, thumbnail, and fields. Supports variables like {server.name}. |
| Button Label | Text on the "Create Ticket" button (max 80 characters). |
| Button Emoji | Optional 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 Category | Discord channel category where new ticket channels are created. |
| Closed Category | If set, closed tickets move here instead of being deleted. Leave blank to delete on close. |
| Support Team Roles | Discord roles that have staff access to all ticket channels for this panel. |
| Ticket Name Template | Format 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
- 1In your panel's settings page, look for the Send Panel section.
- 2Select the Discord channel you want to post the panel to from the dropdown.
- 3Click 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
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.
- 1Go to your panel settings and find the Support Team section.
- 2Use the role dropdown to add one or more Discord roles as support team members.
- 3Save 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:
- 1Creates a new private channel in your configured ticket category, named according to your Ticket Name Template (e.g.,
ticket-john-001). - 2Sets channel permissions so only the ticket opener and your support team can see it.
- 3Posts the Ticket Message embed inside the channel with any configured text, variables, and form answers.
- 4If a form is configured on the panel, a pop-up appears asking the user to fill in their answers before the ticket is created.
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:
- Panel System — Multiple embeds, dropdown panels, attaching sub-panels
- Custom Forms — Collect info from users before the ticket is created
- Message Editors — Customize every bot message
- Permissions — Fine-tune who can do what inside tickets
- Variables Reference — Dynamic placeholders in all message templates
- Integrations — Receipts, vouches, giveaways, AI assistant, Discount Roles, and more
- Premium Plans — Unlock advanced features with a subscription
BETTERTICKET