Triage, escalate, resolve.

Members open a ticket from a panel button or a right-click on a message, answer an intake form if you want one and land in a private channel with the right staff team already inside. Staff work it from Discord or from the Inbox on the dashboard. Every ticket ends with a transcript unless you set a panel to keep none.

YourBot tickets mascot
3
ticket layouts
25
buttons per panel
11
intake field types
31
slash commands
01

How it works

STEP 1
Run setup
The wizard creates the channels, builds a Support Staff team from your moderator roles and posts a panel.
STEP 2
A member opens a ticket
They click a panel button or right-click a message. A category picker and an intake form can come first. With Tickets by DM on, they can write to the bot in a direct message instead.
STEP 3
Staff work it
In the private channel or on the dashboard: claim, reply, note, set priority, transfer or escalate. The status follows the conversation on its own.
STEP 4
It closes with a record
Close with a reason, or let inactivity or an automation rule do it. A transcript is saved and the member can rate the help. The channel stays until you delete it, or goes right away, a set time after closing or after the number of days you set.
02

Everything it does

The complete list, grouped by what you are trying to do. Every item describes what Tickets does today.

Panels and entry points

A panel is the message with the buttons. You can run several, each with its own rules.

Three layouts per panel. A private channel, a private thread, or a form that goes to a review queue with no channel at all.
Up to 25 buttons on a panel. Each button has its own label, emoji and style and its own rules for who may press it. It can also override the form, team, role, category and channel name.
Nested categories. A dropdown menu up to 10 levels deep, and any level can override the routing and the form.
Channel names from a template. Use {number}, {panel}, {username}, {button} and {category}. {panel_number} counts each panel's tickets on its own, and {number:4} pads a number to four digits, like 0142. Ticket titles can also use {subcategory}.
Start a ticket from a message. Right-click any message, choose Apps, then Start ticket. The message is quoted, and you decide whether everyone, staff or only Manage Server can use it. When staff use it, the ticket can belong to the message's author.
Tickets by DM. Members open a ticket by writing to the bot in a direct message. Nothing is sent until the member confirms your server. The ticket opens in a channel or thread only your team sees, staff answer in it and the bot carries each answer back by DM, with a check mark when it arrived. It is off until you turn it on.
Staff open tickets for members. /ticket open lets managers and the panel's team open a ticket for a member, with an optional reason. It skips the blocklist, support hours, cooldown, limits and form.
Who may press each button. Let only chosen roles in, keep chosen roles out or keep a button for staff, on a whole panel or on one button. A block beats an allow, and the check runs before any form.
Applications with a review queue. A panel set to Application posts the answers to a staff channel with Accept and Reject buttons, an optional role on accept and a DM for each outcome.
Limits per panel and per member. Cap open tickets per panel, add a cooldown between a member's tickets, and set a per-member cap and a daily cap for the whole server, with roles that bypass the counting.

Intake forms

Ask the questions up front so the first staff reply is useful.

Eleven field types. Typed answers (short text, paragraph, number, date), choices (dropdown, multi-select, yes or no), a member, role or channel picked from the server and section headers.
Native Discord pop-ups. Every question opens in a Discord pop-up, five to a page and up to 25 per form. Members click Continue between pages.
Conditional fields. Show a field only when another answer equals, contains or has a value.
Prefilled from Discord. Username, display name, join date, roles, booster status and more, shown for the member to change or filled in without being shown.

Working a ticket

Most of the bookkeeping happens without anyone touching a status.

Six statuses that track themselves. Open, claimed, awaiting user, awaiting staff, close requested and closed. A member's message flips it to awaiting staff, a reply flips it back, and the first reply time is recorded for the SLA.
Claim, priority, notes. Claim or unclaim with a button or a command, set low, normal, high or urgent, and leave internal notes members never see.
Claiming your way. Per panel, a claim can rename the ticket, move it to a claimed category, make it read-only or hidden for other staff, keep actions to the claimer and show who holds it. You can also allow take-overs, and a server rule can make staff claim a ticket before they close it.
Close request with a countdown. Ask to close with a countdown, 24 hours by default. The request comes with Close now and Keep it open buttons, and a reply from the member cancels it.
Move and reshape. Add or remove a member or a role, rename the channel or transfer the ticket to another team, which re-permissions the channel and pings that team.
Escalate to another panel. /ticket escalate or the ticket page moves a ticket to another panel. Each panel can list up to 25 panels to escalate to. It can move and rename the channel, hand it to that panel's team and release the claim, and SLA targets not met yet restart under that panel's policy.
An Awaiting Reply category. Tickets waiting on the member can move to their own category and come back when they answer.
Tidy channels. The category picker and confirmation messages clear themselves after a delay you set, up to 30 seconds, so the panel stays at the top.
A private staff thread. Turn on a private thread inside each ticket channel for staff talk the member never sees. It stays out of the transcript and locks when the ticket closes.
Roles that follow the ticket. Give the member roles or take them away when their ticket opens, is claimed, is unclaimed or closes.
A new name on close. A closed ticket can take a name of its own, like closed-0142, and gets its open name back if it reopens.

Teams, hours and access

Who answers, when, and who is not allowed to ask.

Staff teams. Each team has a ping role, members added by user or role and a way to hand out new tickets: by hand, in turn or fewest first. The number of tickets each member has claimed shows next to their name.
Support hours. Up to 6 windows a day for each weekday, closed dates and a schedule per panel, with roles that bypass it. Out of hours a ticket is refused or opens with a note saying when staff are back. The hours follow the server timezone set on the Bot page unless you give them a zone of their own.
A blocklist. Block a member or role from opening tickets, with a reason only staff see.
Member DMs, opt-in. Three notifications, opened, claimed and staff replied, each a switch. Members can turn all of them off with /ticket dms off. A ticket by DM skips the opened and the staff replied notice: the bot's receipt and the answers themselves arrive by DM.
Observers and closed access. Give roles read-only access to a panel's tickets, and choose whether the member keeps read-only access to a closed ticket or loses it.

Knowledge base and canned responses

Answer the common questions before a ticket is even needed.

Staff-written articles. Title, body up to 4,000 characters, keywords and categories, with drafts and view counts.
Search from Discord. /kb search returns the top five matches and /kb browse lists a category. Open to everyone.
Suggested on open. When a ticket opens, up to three matching articles are posted right after the welcome message. A ticket by DM gets none, because its member is not in the channel.
Canned responses. Reusable replies grouped by category and editable any time, with placeholders, a use counter and one-click copy on the dashboard. /ticket respond posts one as the bot, and a reply can be set to go to the member by DM instead.

Messages and look

Make the bot sound and look like your server.

Messages you write. Rewrite the claimed, unclaimed, closed, reopened, close request and auto-close messages and the DMs members get. Each has a reset, and a blank box keeps the translated default.
Placeholders. Use {member}, {claimer}, {ticket.number}, {reason}, an intake answer with {form:field_key} and a fallback like {claimer|nobody yet}. A message never pings @everyone or @here.
Panel and welcome embeds. Set the colour, title, description, image, thumbnail and footer of each panel's message and its welcome message, and ping up to 10 roles when a ticket opens.
Pin the welcome. Pin the welcome message when a ticket opens, so its details are always in the channel's pins.

Transcripts, ratings and the web chat

The record of each ticket, and the ways staff can work it without opening Discord.

A transcript for every ticket. An HTML transcript styled like Discord, with display names, avatars, replies, embeds, reactions, stickers, date dividers, links and attachment chips, kept in an archive you can view or download as HTML or plain text.
Attachments kept. Up to 10 files and 8 MB per ticket travel with the transcript, and can be DMed to the member on close.
Star ratings. A 1 to 5 star survey by DM when a ticket closes, with an optional written comment. Members can also rate with /ticket survey, and one switch turns the survey off.
Reply from the web. The ticket page mirrors the Discord channel. Staff send, edit and delete their own messages there and attach files up to 8 MB. In a ticket by DM a reply also goes to the member by DM, and the page shows whether it was delivered.
Buttons on a closed ticket. Staff get Reopen, Transcript and Delete on a closed ticket, and Delete asks before the channel goes.
A log that posts what you pick. Choose which of 17 events reach the log channel, from opened and claimed to escalated, deleted and transcript saved, and give a panel its own log channel.

Backup and reuse

Build the setup once and carry it to the next server.

Share codes. Snapshot panels, buttons, categories, forms, teams, SLA policies, canned responses and the knowledge base into a code like TKT-XXXXX-XXXXX, or start from one of the platform's ready-made templates.
JSON export and import. Up to 2 MB, as an alternative to codes, and it carries your automation rules too.
Imports add to what you have. Panels, teams, forms, SLA policies, canned responses and automation rules come in as new ones next to yours, and nothing is deleted. Only a help article or an article category that matches one of yours is replaced, and server settings load only when the server has none saved. You map the source server's channels, roles and users to yours first, and imported panels stay unpublished until you post them.
No IDs leak. Exports strip channel, role and user IDs, so a code is safe to hand to another server.
Duplicate a panel. Copy a panel with every setting, button, category and look, ready to change before you post it.
03

Commands

Every slash command the service registers, and who can run it. Most day-to-day use happens through buttons and the dashboard; commands are the fast path.

CommandWhat it doesWho
/ticket statusShows the current ticket's details.Anyone in the ticket
/ticket closeCloses the ticket, with an optional reason.Staff, or the member if allowed
/ticket reopenReopens a closed ticket.Staff
/ticket closerequestStarts a close countdown, 24 hours by default, with Close now and Keep it open buttons. A member reply cancels it.Staff
/ticket transcriptGenerates the transcript.Staff or the member
/ticket surveyRates the help from 1 to 5 after close, with optional feedback.Ticket creator
/ticket dmsTurns this server's ticket DMs on or off for you.Everyone
/ticket claimClaims the ticket.Staff
/ticket noteAdds an internal note members never see.Staff
/ticket respondPosts a canned response as the bot.Staff
/ticket prioritySets low, normal, high or urgent.Staff
/ticket assignAssigns the ticket to a staff member.Staff
/ticket renameRenames the ticket channel.Staff
/ticket addAdds a member or a role to the ticket.Staff
/ticket removeRemoves a member or a role from the ticket.Staff
/ticket transferMoves the ticket to another team and re-permissions the channel.Staff
/ticket escalateMoves the ticket to another panel and its team, with a reason.Staff
/ticket openOpens a ticket for a member on the panel you pick.Managers and the panel's team
/ticket deleteDeletes the ticket's channel. An open ticket is closed first, with its transcript.Staff
/ticket newOpens a ticket from any channel, for the panel or button you pick.Everyone
/ticket mineLists your open tickets on the server and your latest closed ones, privately, with a link to each one's page.Everyone
/kb searchSearches the knowledge base, top five matches.Everyone
/kb browseLists knowledge base articles by category.Everyone
/tickets panelBuilds, changes and posts your panels in a private builder in Discord.Managers
/tickets setupCreates the Discord channels for a panel.Manage Server
/tickets searchFinds tickets by keyword or number.Manage Server
/tickets statsYour team's numbers for the last 7, 30 or 90 days, privately.Staff
/tickets leaderboardRanks staff by the tickets they closed, with reply times and ratings.Staff
/tickets blacklist addBlocks a member or role from opening tickets.Manage Server
/tickets blacklist removeUnblocks them.Manage Server
/tickets blacklist listLists the blocked entries.Manage Server
Start ticketRight-click a message, choose Apps, then Start ticket. Opens a ticket with that message quoted.Everyone, staff or Manage Server, as you set it
04

In the dashboard

Everything is configured from the web, per server. These are the areas you will find there.

Home
Whether members can open tickets right now and what needs you: the tickets waiting on your team with the longest wait first, the three steps of a ticket in a few sentences, the last 30 days in four numbers, a preview of your panel and the command reference.
Inbox
Every ticket under four tabs: Needs a reply, Mine, All open and Closed. Search by title or number and filter by panel, team, status, priority, claimer, category and opened date. Managers can claim or close several tickets at once. A ticket that came in by DM carries a By DM chip.
Ticket
One ticket's page: the member's answers, the conversation mirrored from Discord, a reply box with your saved replies and Send as the team, staff notes and the activity log. A manager can claim the ticket, set its priority, hand it to a team, move it to another panel, rename it, close it with a reason, reopen it or delete its channel. On a ticket by DM the reply box says that the reply goes to the member by DM, and each reply shows whether it was delivered.
Opening
Step 1, how members open a ticket. Each panel has an editor for its message, up to 25 buttons or one menu, the dropdown menu, the three layouts, name templates, extra categories for when one is full, the default team and questions, who can open tickets, its hours, the first message of a ticket and help articles shown before a ticket opens. You post or update a panel in Discord from here. For every panel it holds Tickets by DM, the limits for each member, the opening hours, the blocked list, tickets started from a message and the clean-up of the question messages.
Questions
The sets of questions a panel, a button or a menu option asks before a ticket opens. Each question has a type, required or not, a hint, help text, number ranges, answer lengths, choices, how many members, roles or channels to pick, an answer filled in from Discord and a rule for when to ask it. Each set shows the pop-up page by page. A set can also give the ticket's first message its own colour, image and footer and change the reply the member gets.
Answering
Step 2, who answers and how fast. Your teams, the response targets for a first reply and for solving a ticket, the three DMs that keep the member posted, replies sent as the team and the messages the bot posts while a ticket is answered. For each panel it holds what a claim changes, a private staff thread, roles given or taken as a ticket moves and the panels a ticket can be passed on to.
Teams
Create teams with a ping role and members by user or role, choose how new tickets are handed out (by hand, in turn or fewest first) and see how many tickets each member has claimed.
Closing
Step 3, how tickets end. Who can close a ticket, claim before close, closing when the member leaves, the close request for quiet tickets, what happens to a closed channel, transcripts and where they post, the rating request, the close notice and the messages the bot posts when a ticket closes. For each panel it holds who can close, a required reason and whether a transcript is kept.
Saved replies
The canned responses your team sends with /ticket respond or from a ticket's reply box, grouped by category, with placeholders, a use count, a copy button and the choice to send one by DM.
Help articles
The knowledge base behind /kb search and /kb browse: articles with keywords, categories and drafts. Trigger words let an article answer matching messages in the channels you pick.
Automations
Up to 10 rules, each for every panel or only the ones you pick, ready-made ideas to start from and what the rules did in the last 30 days.
History
Every saved transcript, newest first and 50 to a page, with a preview, the whole transcript in a new tab and downloads as HTML or plain text.
Insights
A tab of History, over the last 7, 30, 90 or 365 days and for one panel or all of them: average first reply, time to close and rating, tickets opened per day, open tickets at the end of each day, the busiest weekdays and hours, top close reasons, your team's numbers, a row of numbers for each button, how many tickets came in by DM, every rating with its comment and a CSV or JSON download.
Settings
The log channel, the ticket events that post in it and a log channel for one panel. Share codes, backup files and templates, with a step that matches a loaded setup's channels and roles to your server before anything is saved. Deleting old tickets, after you see the count and tick a confirmation.
Setup
The one-click setup and the state of your setup, with a way to run it again. It reuses the categories, channels and team you have and makes what is missing. If the bot can no longer see an existing Support Tickets or Closed Tickets category, it says so and creates new ones instead of failing.
My tickets
The member's own page on the website, outside the dashboard. It lists every ticket they opened on any server. A closed ticket shows the conversation as they saw it, without staff notes. A ticket opened by DM shows the conversation while it is still open too.
05

Runs on its own

SLA watch every 5 minutes. Staff get one warning 30 minutes before a breach, and the policy's breach role is pinged when it happens.
Inactivity to close. A ticket idle past your limit gets a close request with a countdown of 1 to 168 hours. Any member reply cancels it.
Auto-close every 2 minutes. Due close requests are carried out, an auto-closed notice is posted and a transcript archived.
Channel retention. About once an hour, channels of tickets closed longer than the number of days you set are deleted, after a kept transcript is saved. At 0, where a new server starts, they are kept.
Delete after close. Delete a closed channel right away or a set time after closing, up to 7 days, instead of waiting for the retention period. The transcript is saved first, and reopening the ticket cancels the delete.
Automation rules. Up to 10 rules react when staff or the member stop replying, when the member leaves or at a set time after a ticket opens. After a wait of 5 minutes to 30 days they ping the team, post a message or a canned response, start the close countdown, close the ticket or delete it. Applications are never touched.
Orphan repair. A ticket channel deleted by hand closes its ticket, so the member's open-ticket count is freed.
Close on leave. Optionally close a member's open tickets when they leave the server.
06

Limits and plans

The service is included with every subscription tier. These are the fixed limits it works within.

SettingValueNotes
Buttons per panel25Discord's limit for one message.
Category menu depth10 levels
Questions per form25Five to a page of the Discord pop-up. Questions filled in for the member do not count.
Open tickets per member1 to 20Default 1. Bypass roles skip the count.
Tickets per member per day0 to 1000 turns the daily cap off.
Open tickets per panel0 to 5000 means unlimited.
Cooldown between a member's ticketsup to 7 daysPer panel.
Attachments per ticket10 files, 8 MBKept with the transcript.
Messages held for a ticket by DM10For up to 30 minutes, until the member answers the bot's question or cancels.
Files in a ticket by DM8 MB eachUp to 10 files and 24 MB on one message. Anything over goes as a link.
Inactivity before a close request0 to 720 hours0 turns it off.
Close countdown1 to 168 hoursDefault 24.
Closed channel retention0 to 365 daysA new server starts at 0, which keeps channels until someone deletes them.
Intake cleanup delay0 to 30 sDefault 5.
SLA warning30 minutes before breach
Support hours windows6 a dayPer weekday, plus up to 100 closed dates.
Automation rules10Per server, each waiting 5 minutes to 30 days.
Escalation targets25Panels one panel can escalate to.
Delete after closeup to 7 daysOr right away. The transcript is saved first.
Roles per list25Access rules, observer roles and the roles given or taken on a ticket. The welcome message can ping up to 10 roles.
Channel renames2 per 10 minutesDiscord's limit. A rename past it is skipped with a note in the ticket.
Config export2 MB JSONUp to 20 panels, 20 forms, 25 teams, 10 SLA policies, 200 canned responses, 500 articles and 10 automation rules.
07

Safety and permissions

Fails closed. If the bot cannot hide a new ticket channel from everyone, it refuses to create the channel rather than open a public one.
Who counts as staff. Manage Server, membership of the ticket's team, or a route role granted when the ticket opened.
Least privilege. Channel permissions the bot writes are trimmed to what it holds, so a bot with fewer permissions still creates the channel.
Purge is deliberate. Deleting old tickets removes records, transcripts, notes and ratings but never panels, teams, forms, responses or SLA policies. You see how many tickets it deletes and tick a confirmation first.
A DM opt-out for every notification. /ticket dms off stops the opened, claimed and replied DMs and the rating survey for that member. The conversation of a ticket by DM is not a notification: its answers and one close message still arrive.
A direct message goes nowhere unasked. With Tickets by DM, what a member writes to the bot is sent to no server until they confirm which one. With a ticket open, a message goes straight into it only while no other ticket of theirs and no other server could be meant. Otherwise the bot asks which conversation it is for and remembers the answer for 15 minutes after their last message that went into that ticket. The bot keeps quiet when someone who shares no server that takes tickets by DM writes to it. Only someone who had a ticket by DM before is told so, at most once a day. The member's My tickets page and the transcript sent to them hold only that conversation, never staff notes or what staff wrote among themselves.
A transcript before a channel is deleted. Retention cleanup, delete after close, /ticket delete and automation rules all save a transcript before a channel goes. The one exception is a panel you set to keep no transcript.
Every action is logged. Opened, claimed, closed, reopened, priority, assignment, renames, participants, transfers, escalations, deletes, form decisions, blocklist changes, SLA events, automation runs and auto-closes all write to the audit log.
08

What it does not do

Worth knowing before you set it up. If one of these matters to you, the marketplace may have a plugin that covers it.

  • The web chat mirror refreshes by polling, not a live socket.
  • One breach ping per SLA policy. Escalating to another panel is a staff action, never automatic.
  • Text channels and threads only. No voice or video tickets.
  • The knowledge base is searched from Discord. There is no public web help centre.
  • Automation rules react to replies, time and members leaving, not to what a message says.
  • No email or SMS channel.
  • One claimer per ticket. Adding a member grants access but is not a claim.
  • Staff cannot start a ticket by DM. The member writes to the bot first.
  • A member cannot start a second ticket by DM with your server while their first is open.
  • In a ticket by DM, reactions, typing and the member's own edits and deletes are not carried across.
09

Questions

Do tickets use channels or threads?

Your choice per panel: a private channel, which is the default, a private thread, or no channel at all for application-style forms that go to a review queue.

Can members open a ticket from a message?

Yes. Right-click any message, choose Apps, then Start ticket. The message is quoted in the new ticket, and you choose who may use it.

Can members open a ticket by writing to the bot?

Yes, once you turn on Tickets by DM on the Opening page and pick the panel those tickets open under. The Modmail template on the Settings page adds a panel with a Contact mods button and turns Tickets by DM on under it, unless your server already made its own choice. The member writes to the bot in a direct message, the bot asks them to confirm your server and a ticket opens that only your team sees. The bot carries your team's answers back by DM: every message they type in the ticket, or only replies sent with /ticket respond and from the dashboard, as you choose. A member who blocks DMs from your server can still read the answers on their My tickets page.

What happens to closed tickets?

Each one gets an HTML transcript, unless you set its panel to keep none. The channel stays until you delete it. You can also have closed channels deleted right away, a set time after closing or after a number of days, and a kept transcript is saved first.

Can staff reply without opening Discord?

Yes. The ticket page on the dashboard mirrors the channel. Staff can send, edit and delete their messages there and attach files up to 8 MB.

Which timezone do support hours use?

The server timezone from the Bot settings page, which the other services follow too. Give the hours a zone of their own only if your support team keeps different hours from the server.

How do I move my setup to another server?

On the Settings page, make a share code or download a backup file. On the other server, load it from the same page and match its channels and roles to that server before anything is saved. Loading adds to what the server has. Only a help article or an article category that matches one of yours is replaced.

Will members get too many DMs?

Three DMs exist, opened, claimed and staff replied, and each is a server-side switch. Any member can run /ticket dms off to stop all of them, including the rating survey. A ticket the member opened by DM is the exception: its answers and one close message still arrive, because the DM is where that conversation is.

Can closed tickets delete themselves?

Yes, once you turn it on. A closed channel can go right away or a set time after closing, up to 7 days, and a kept channel can go after a number of days you set, up to 365. Until you choose one of them, closed channels stay. Automation rules can also close or delete a ticket when the member goes quiet or leaves. A kept transcript is saved first every time.

Can staff escalate a ticket?

Yes. /ticket escalate or the ticket page moves it to another panel you allow, with a reason. It can move to that panel's category, be renamed with that panel's name template and go to its team, and SLA targets not met yet restart.

Can I change what the bot says?

Yes. The bot's ticket messages and DMs are edited on the Answering and Closing pages, each with a live preview, and every panel sets its own panel message and the first message of its tickets on the Opening page. Placeholders fill in the member, the claimer, the ticket number, form answers and more.

The ten · every service in full
Included with every tier

Turn on Tickets in one click.

Add YourBot to your server, open the dashboard and switch the service on. Settings live on the web, so nothing here needs a command to configure.