-
Enable Tickets on the dashboard. Open the dashboard, choose the server and switch Tickets to Enabled on the Services page. Until it is on, every ticket command answers "❌ Tickets is not enabled for this server." and panel buttons answer "The Tickets service is not enabled." Tickets then has a menu of its own: Home and Inbox, the three steps of a ticket under "Set up" (1 Opening, 2 Answering and 3 Closing), the tools (Saved replies, Help articles and Automations), then History and Settings. "Find a setting", on top of that menu, searches every Tickets setting and takes you to it.
-
Pick the fast path or the manual path. While the server has no panel, Home shows a "Run setup" button. It opens the Setup page, whose "Run setup" uses what the server already has and makes what is missing, in one go. Ticket categories: a category named Support Tickets, Tickets or Open Tickets for new tickets and one named Closed Tickets or Archived Tickets for closed ones, else it makes "Support Tickets" and "Closed Tickets", hidden from @everyone. A channel to open tickets from: a text channel named support or one with open-a-ticket or create-ticket in its name, else it makes #open-a-ticket; either way @everyone can read that channel but not type in it. A log channel: the one you already set, else a channel with ticket-log or support-log in its name, else a new #ticket-logs that is hidden from @everyone and only lets the bot in, so give your staff access to it in Discord. A team, when the server has none: "Support Staff", built from roles whose names contain mod, admin, staff, moderator, support or helper and that hold kick, ban, manage messages or manage server. A first panel, when the server has none: "General Support" (title "Need Help?", button "Open Ticket"). Setup then posts the panel in the channel to open tickets from. The bot needs the Manage Channels permission; without it setup stops before it changes anything. "Run setup again" keeps your panels and teams, makes a deleted category or channel again and posts your first panel (A to Z by name) again as a new message, so delete the older message in Discord. If you take this path, continue at step 7.
-
Build a panel on 1 Opening ("New panel"). A panel is the message members click. Give it a "Name" and pick what to "Start from": "Blank", "Support" or "Applications". Its editor then opens, in these sections. "The message": the title, the text and the colour members see, plus an image, a thumbnail, a footer and an author if you want them. "Buttons": up to 25. Each has a label, an emoji and a colour. Each can send tickets to its own team, ask its own questions and open in its own place. "Members pick from" there turns the buttons into "A menu", one dropdown list on the panel message. "Dropdown menu": options members pick from after a click, up to 10 levels deep. "Where tickets open": each ticket opens as a "Private channel" in a category you pick, a "Private thread" under a channel you pick or an "Application", which opens no channel at all: staff accept or reject the answers in a review channel. The same section names each ticket (default "ticket-{number}") and titles it. Its "Closed tickets and pinning" part sets where closed tickets go, their name and "Pin the first message when a ticket opens". "Who answers by default": the team, the questions asked first and the response target. Under the editor come the panel's own rules: "Who can open tickets, and what they can do" (who may open tickets from the panel or from one button, what the member and staff may do in a ticket, whether the member can still read a closed ticket and the roles that can read every ticket), "When this panel takes tickets", "The first message in a new ticket" and "Help articles before the ticket opens". "Advanced" holds the review channel and replies for applications, the panel's limits, the default button, "Name, short name and note", "Copy this panel" and "Delete this panel". The rest of a panel's settings sit on the other pages: pick the panel under "Settings for" on 2 Answering ("Taking a ticket", "Staff thread" and, under Advanced, "Roles as a ticket moves" and "Passing a ticket on"), on 3 Closing ("Who can close", "Ask for a reason to close" and "Keep a copy of the conversation") and on Settings ("This panel's log channel").
-
Create a team and pick it on the panel. On 2 Answering, the "Who answers" card lists your teams and its "New team" button opens the Teams page. Give the team a name and add people by user ID or pick a role. Pick a "Ping role" if the team should be pinged on new tickets. Then pick the team on the panel, under "Who answers by default" on 1 Opening. A button or a menu option can send its tickets to another team. Team members get access to every ticket channel opened for their team and count as staff for claim, close, note and the other staff commands. "How new tickets are handed out" stays "By hand" until you pick "In turn" or "Fewest first", which claim each new ticket for one member of the team. Without a team, a new ticket is opened to the roles with Manage Server, unless its button or menu option routes it to a role, so tickets are never invisible to staff.
-
Put the panel in Discord. On 1 Opening, pick the panel. A bar on top of its editor says "Not in Discord yet": pick a channel and press "Post in Discord". The channel needs Send Messages and Embed Links for the bot. From then on the bar says whether members see your latest changes: button changes reach Discord by themselves, while text and look changes wait for "Update in Discord". You can do this from Discord too. /tickets panel opens a private builder: make a panel, change its text, its buttons, its team and where its tickets open, then press "Post in Discord" and pick a text or announcement channel. With a panel and a channel the command posts that panel straight away; the bot first checks that it has View Channel, Send Messages and Embed Links there. /tickets setup creates a "🎫 <panel name>" category and a "<panel slug>-tickets" channel where members can view but not type, then posts the panel there. /tickets setup needs Manage Server. /tickets panel needs Manage Server or the manager role on the dashboard's Access page.
- Members can also reach your team without clicking a panel, by writing to the bot in a direct message. That is Tickets by DM, and it is off until you turn it on. In the "Every panel" view of 1 Opening, find the "Tickets by DM" card, switch on "Members can open a ticket by writing to the bot" and pick a panel under "A ticket by DM opens under". The panel has to be on and open a private channel or a private thread. A panel that opens tickets as threads also needs a channel for the threads, and a panel that takes applications cannot be picked. The panel does not have to be posted in Discord. A ticket by DM uses that panel's team, category, limits and hours. It skips the panel's questions and its dropdown menu. "What staff write in the ticket" decides how your team answers. "Goes to the member" (the default) sends every message your team types in the ticket to the member by DM. "Stays with staff" sends only replies made with /ticket respond or from the dashboard. Only managers can save the card. If that panel is turned off or deleted later, members can no longer open a ticket by DM. The dashboard and the /tickets panel builder tell you so right away, and the card says it until you turn the panel on again or pick another. On a server that runs its own bot, members write to that bot, not to the shared one.
- The Modmail template does these steps for you. On Settings, under "Load a setup", find it under "Templates" and press "Use this template". It adds a panel called Modmail with a Contact mods button that opens a private channel, a Moderators team and one saved reply. It also turns Tickets by DM on under that panel, with "Goes to the member". The review screen says "Tickets by DM: on" before anything is saved, and "Load this setup" saves it. The panel is not posted and the team has no members yet. Add your moderators to the team: until you do, its tickets open to the roles with Manage Server. Post the panel when you want the button in a channel. On a server that already made its own choice on the card, the template adds the rest and leaves that choice alone: "Tickets by DM was not loaded: this server already has its own choice."
-
Set the log channel on the Settings page. In the "Logs" card, "Post the log in" picks the channel: use a staff-only one. By default the bot posts there when a ticket closes: the transcript card, with the transcript as a web page file and a "View transcript" button, plus the files kept from the ticket. "What gets logged" in the same card switches 17 events on or off, in two groups. "Ticket changes": Ticket opened, Ticket claimed or assigned, Ticket unclaimed, Close requested, Ticket closed, Ticket reopened, Ticket renamed, Moved to another team, Ticket escalated, Member left the server, Ticket deleted and Transcript saved. "Team work and ratings": Priority changed, Someone added or removed, Staff note added, Rating received and Response target missed. Only Ticket closed and Transcript saved are on by default. Event posts never ping anyone. To give one panel a log channel of its own, pick it under "Settings for" on the same page ("This panel's log channel"). To send transcript cards and files to a channel of their own, use "Post transcripts in" under "Transcripts" on 3 Closing. Without any log channel, transcripts still reach History on the dashboard, but staff get no Discord post. The other everyday choices sit on the three steps. 1 Opening, "Rules for every panel": how many tickets each member can have open (1 unless you change it) and open in a day. 2 Answering, "Keep the member posted": DMs "When their ticket opens", "When staff claim it in Discord" and "When staff reply and the ticket waits on them", all off until you turn them on. A ticket by DM never sends the first and the third: the member already has the bot's receipt, and each answer reaches them by DM itself. 3 Closing: "Who can close a ticket" ("Staff and the member" unless you pick "Staff only"), "Staff must claim a ticket before closing it" and, under "After it closes", whether a closed ticket's channel is kept or deleted.
-
Open a first ticket yourself. Click one of the panel's buttons or pick from its menu. Members can also run /ticket new in any channel. The bot first applies the rules under "Who can open tickets from this panel"; members with Manage Server always pass. Then it checks, in order, the blocked list, the opening hours, the panel's wait between tickets, the panel's limit of open tickets, the panel's own limit for each member, the daily limit and your open ticket limit. A block lasts until someone lifts it. One given a number of days under "For how long" ends by itself. Members with Manage Server and the "Roles that can open tickets at any time" skip the hours check, and the "Roles that skip these limits" skip the wait and the limits. Outside the hours, the choice under "Outside these hours" decides: no ticket opens and the member sees the closed message, or the ticket opens with a "🕒 Outside support hours" notice saying when the team is back. If the click leads to the panel's dropdown menu, a private picker asks "Select a category to open your ticket:". If the ticket has questions, they open in a Discord pop-up, 5 to a page; between pages a private message such as "✅ Page 1 of 2 done. Click Continue for the next questions." carries a Continue button. On a panel that opens private channels, the ticket's channel is then created, hidden from @everyone and visible to you, the bot, the team, a role the button or menu option adds and the roles under "Who else can read every ticket". The bot posts a message that mentions you, with the ticket card and its Claim, Close and Note buttons. Up to 3 matching help articles may follow, because "Suggest help articles when a ticket opens" on 1 Opening is on by default. When the panel has "Give each new ticket a private staff thread" on (2 Answering), the bot also opens a private staff thread inside the channel; the member who opened the ticket is never added to it. You get a private confirmation, "✅ Your ticket has been created! Head to #channel", which disappears after 5 seconds because "Remove them once the ticket opens" (1 Opening, Advanced, "Clean up the question messages") is on by default.
- With Tickets by DM on, try that way in too: write to the bot in a direct message. Nothing is sent yet. The bot answers once, with a question and two buttons, Send and Cancel: "Send this to the <server> team? They will answer you here." When the panel has several buttons you may use, the menu "What is it about?" takes the place of Send. A pick from it sends. When you share several servers that take tickets by DM, the bot first asks "Which server is this for?". What you write while the question is open is kept, up to 10 messages for 30 minutes. It goes into the ticket in order when you send. Cancel throws it away. Send runs the same rules and checks as a click on the panel. A refusal shows above the question in the same words, and you can try again. The ticket then opens for your team only. You are not added to its channel or thread and no help articles are suggested there. The question turns into a receipt: "Sent to the <server> team (ticket #<number>). Write here to add more. Their answers arrive here." Each message that went in gets a ✅. While that is your only open ticket by DM, you are still in its server and no other server you share with the bot takes tickets by DM, everything you write to the bot goes straight into it until it closes. Otherwise the bot does not guess where a message belongs. It asks "Which conversation is this for?" and keeps what you write until you answer, as it does for the first question. Its menu lists your open tickets first, each as "<server>, ticket #<number>", then every other server that takes your DMs as "<server>: a new ticket". Pick a ticket and what you wrote goes into it. Pick a new ticket and the same message becomes that server's question, as for a first message. Your open ticket is not touched. The bot remembers your answer for 15 minutes after your last message that went into that ticket. While you have two conversations open, an answer from the other team makes it ask again before your next message goes anywhere. If you use Discord's Reply on one of the team's answers, your message goes into that answer's ticket without a question. A ticket on a server you have left takes no more of your messages and does not stand in the way of a new one.
- If the bot does not answer your first message at all, no server you share with it takes tickets by DM. Check that the card is on, that its panel is on and that you wrote to the bot that runs this server. The bot keeps quiet there on purpose. Only someone who had a ticket by DM before is told, at most once a day: "I can't pass this on: no server we share takes tickets by DM. Open a ticket in the server instead."
-
Work the ticket as staff. Claim it with the Claim button or /ticket claim, reply in the channel, add private notes with /ticket note and close it with the Close button or /ticket close. On the dashboard, the Inbox lists every ticket under "Needs a reply", "Mine", "All open" and "Closed". A ticket's own page shows the conversation, and managers can reply there, pick one of the "Saved replies", "Send as the team", add a "Staff note", claim the ticket, set its priority, hand it to a team, rename it, move it to another panel and close it. The close form takes an optional reason; the reason is required when the ticket's panel has "Ask for a reason to close" on. When "Staff must claim a ticket before closing it" is on, staff need the ticket claimed first; the member who opened it never does. /ticket add brings in another member or a role, /ticket transfer hands the ticket to another team and /ticket escalate moves it to another panel.
- A ticket by DM is worked the same way, with one difference: the member is not in its channel or thread. Its first post is a card for your team. It starts "📨 Opened by DM by <member>." and says when the account was created, when the member joined the server and how many tickets they opened here before. The member's messages follow as posts by the bot. Each message starts with the member's name in bold. One that is too long for a single post goes on in more posts, which do not repeat the name. Their files come with the message, on its last post.
- With "Goes to the member", every message a person types in the ticket is sent to the member by DM. Its first line names who wrote it and the server. While "Start replies as the team" is on it names the team instead of the writer. Files are attached again. A file over 8 MB goes as a link. A ✅ on your message means it arrived. A ⚠️ means it did not, and the bot's reply under the first message that failed says why, for example "Not delivered: <member> does not accept DMs from this server. They can still read this ticket and its answers on their My tickets page: <link>". The marks are reactions, so the bot needs the Add Reactions permission. A panel that opens private channels needs it for the whole server. A panel that opens threads needs it and Read Message History in the channel its threads open in. Without it the answers still arrive. The bot says once in the ticket that it cannot add the marks, and from then on it says there every time a message does not arrive. The Setup Check on the dashboard's Bot page lists the permission while Tickets by DM is on.
- With either choice the member also gets by DM every reply made with /ticket respond or from the dashboard. What an automation posts for them goes by DM too: "Post a message" and "Post a canned response" of a rule that runs on "No staff reply after the member writes or the ticket opens", "No reply from the member after staff write" or "Time after the ticket opens". Such a post goes out under the team's name, or the server's when the ticket has no team. It gets the same ✅ or ⚠️. With "Stays with staff" these are the only answers that reach the member. What a person types stays in the ticket, and the bot says so under the first message typed in each ticket. Never sent: notes made with /ticket note, the staff thread, what "Ping the ticket's team" posts, what a rule posts when "The member who opened it leaves the server" and anything else a bot posts in the ticket. Editing a message changes the member's copy when it went out as one DM and the new text still fits in one. Otherwise the copy stays as it was and the bot says so under the message. Deleting a message removes its copy. Messages deleted several at a time, as a clean-up bot does, are not followed. Reactions and typing are not carried. Neither are the member's own edits and deletes. On the dashboard such a ticket has a "By DM" chip in the Inbox and on its page. Its reply box says "Goes to <member> by DM".
-
Find the results. Every saved transcript is on the History page, newest first and 50 a page, each with "Preview", "Open" and downloads as HTML or text. History's "Insights" tab has the volumes, the reply times, the ratings and the comments members left. The closed ticket's first message shows a Reopen button, plus 🗑️ Delete and 📜 Transcript buttons for staff. Every close posts the same transcript card to the log channel when one is set, whether it came from Discord, the dashboard, a close request or an automation. The member receives a DM asking for a rating from 1 to 5 stars, unless "Ask members to rate their support" under "Rating" on 3 Closing is off or the member ran /ticket dms off. Members find their own tickets with /ticket mine and on the "My tickets" page of the website (/my/tickets), where a closed ticket shows the conversation as they saw it. When the server deletes closed ticket channels, the channel goes once the ticket has a saved transcript. Open tickets are worked from the Inbox.
- The member of a ticket by DM cannot see its channel, so every close sends them one close message by DM: the rating request when one goes out, otherwise a short close notice, whatever "Send a close notice while ratings are off" and /ticket dms off say. A ticket that closes because someone deleted its channel by hand sends a shorter one: it says the ticket was closed and asks for no rating. While the server still takes tickets by DM and the member is still in it, the message ends with "Write here again to open a new ticket." A ticket thread that someone deletes by hand is not noticed: its ticket stays open until someone closes it, or until the member writes again and is told it is gone. On "My tickets" a ticket by DM shows the conversation while it is still open too, so a member whose DMs are closed can read the answers there. It shows the conversation only: their own messages and the replies sent to them, never notes, the card for your team or what staff wrote among themselves. Insights also says how many tickets came in by DM. They are not clicks on a button, so the table of buttons leaves them out.
Tickets
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.
Set it up
1 optional features with their own switch
- Log channel: ticket log
How it works
- Run setup. The wizard creates the channels, builds a Support Staff team from your moderator roles and posts a panel.
- 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.
- 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.
- 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.
Permissions the bot needs
GeneratedThe invite link grants these. If one is missing the service page in the dashboard shows a re-grant banner, and the affected commands say what they cannot do instead of failing silently. The Setup Check on the Bot page, or /yourbot check in Discord, lists everything the bot is missing across your services.
Every Tickets feature is included for every server, on the shared bot and on custom bots. A subscription adds a custom bot identity and marketplace access, not features here.
| Feature | Included |
|---|---|
| Overview | Yes |
| Ticket Queue | Yes |
| Ticket Detail | Yes |
| Panel Builder | Yes |
| Staff Teams | Yes |
| Intake Forms | Yes |
| Transcripts | Yes |
| Ticket Analytics | Yes |
| Canned Responses | Yes |
| Settings & SLA | Yes |
| Limits | |
| Ticket Panels | Unlimited |
| Canned Responses | Unlimited |
| Command | What it does | Who by default |
|---|---|---|
| /kb | ||
/kb search | Search this server's help articles | Everyone |
/kb browse | Browse this server's help articles by category | Everyone |
| /ticket | ||
/ticket claim | Claim the current ticket | Moderator roles |
/ticket close | Close the current ticket | Moderator roles |
/ticket reopen | Reopen the current ticket | Moderator roles |
/ticket note | Add an internal staff note | Moderator roles |
/ticket dms | Choose whether this server's ticket updates reach you by DM | Everyone |
/ticket mine | List your own tickets on this server | Everyone |
/ticket respond | Post one of your server's canned responses in this ticket | Moderator roles |
/ticket priority | Set ticket priority | Moderator roles |
/ticket assign | Assign ticket to a staff member | Moderator roles |
/ticket status | Show this ticket's current status | Everyone |
/ticket rename | Rename this ticket | Moderator roles |
/ticket add | Add a member or a role to a ticket | Moderator roles |
/ticket remove | Remove a member or a role from a ticket | Moderator roles |
/ticket transfer | Transfer this ticket to another team | Moderator roles |
/ticket closerequest | Request ticket close with a countdown | Moderator roles |
/ticket transcript | Generate a transcript for this ticket | Moderator roles |
/ticket survey | Rate your support experience | Everyone |
/ticket delete | Delete this ticket's channel (an open ticket is closed first) | Moderator roles |
/ticket open | Open a ticket for a member | Moderator roles |
/ticket escalate | Escalate this ticket to another panel | Moderator roles |
/ticket new | Open a ticket | Everyone |
| /tickets | ||
/tickets panel | Create, edit and post ticket panels | Server managers |
/tickets blacklist add | Block a member or a role from opening tickets | Server managers |
/tickets blacklist remove | Let a blocked member or role open tickets again | Server managers |
/tickets blacklist list | Show who is blocked from opening tickets | Server managers |
/tickets search | Search tickets by keyword or number | Moderator roles |
/tickets setup | Auto-create Discord channels for a ticket panel | Server managers |
/tickets stats | Your team's ticket numbers for the last 7, 30 or 90 days | Moderator roles |
/tickets leaderboard | Staff ranked by the tickets they closed | Moderator roles |
| Start ticket | ||
Start ticket | Right-click a message and pick Apps, then Start ticket. | Moderator roles |
Everything it does
Panels and entry points
A panel is the message with the buttons. You can run several, each with its own rules.
{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}./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.Intake forms
Ask the questions up front so the first staff reply is useful.
Working a ticket
Most of the bookkeeping happens without anyone touching a status.
/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.Teams, hours and access
Who answers, when, and who is not allowed to ask.
/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.Knowledge base and canned responses
Answer the common questions before a ticket is even needed.
/kb search returns the top five matches and /kb browse lists a category. Open to everyone./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.
{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.Transcripts, ratings and the web chat
The record of each ticket, and the ways staff can work it without opening Discord.
/ticket survey, and one switch turns the survey off.Backup and reuse
Build the setup once and carry it to the next server.
TKT-XXXXX-XXXXX, or start from one of the platform's ready-made templates.In the dashboard
/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./kb search and /kb browse: articles with keywords, categories and drafts. Trigger words let an article answer matching messages in the channels you pick.Runs on its own
Limits
| What | Value | Notes |
|---|---|---|
| Buttons per panel | 25 | Discord's limit for one message. |
| Category menu depth | 10 levels | |
| Questions per form | 25 | Five to a page of the Discord pop-up. Questions filled in for the member do not count. |
| Open tickets per member | 1 to 20 | Default 1. Bypass roles skip the count. |
| Tickets per member per day | 0 to 100 | 0 turns the daily cap off. |
| Open tickets per panel | 0 to 500 | 0 means unlimited. |
| Cooldown between a member's tickets | up to 7 days | Per panel. |
| Attachments per ticket | 10 files, 8 MB | Kept with the transcript. |
| Messages held for a ticket by DM | 10 | For up to 30 minutes, until the member answers the bot's question or cancels. |
| Files in a ticket by DM | 8 MB each | Up to 10 files and 24 MB on one message. Anything over goes as a link. |
| Inactivity before a close request | 0 to 720 hours | 0 turns it off. |
| Close countdown | 1 to 168 hours | Default 24. |
| Closed channel retention | 0 to 365 days | A new server starts at 0, which keeps channels until someone deletes them. |
| Intake cleanup delay | 0 to 30 s | Default 5. |
| SLA warning | 30 minutes before breach | |
| Support hours windows | 6 a day | Per weekday, plus up to 100 closed dates. |
| Automation rules | 10 | Per server, each waiting 5 minutes to 30 days. |
| Escalation targets | 25 | Panels one panel can escalate to. |
| Delete after close | up to 7 days | Or right away. The transcript is saved first. |
| Roles per list | 25 | Access rules, observer roles and the roles given or taken on a ticket. The welcome message can ping up to 10 roles. |
| Channel renames | 2 per 10 minutes | Discord's limit. A rename past it is skipped with a note in the ticket. |
| Config export | 2 MB JSON | Up to 20 panels, 20 forms, 25 teams, 10 SLA policies, 200 canned responses, 500 articles and 10 automation rules. |
What it watches
GeneratedThe Discord events Tickets reacts to while it is enabled. It does not read history from before it was turned on.
Safety
/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./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.What it does not do
- 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.
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.