Handling a ticket
Everything staff need day to day is on the welcome message the bot posted at the top of the ticket. The commands exist for the rest.
Statuses
| Status | Set when |
|---|---|
| Open | The ticket is created, or reopened |
| In progress | Someone claims it |
| Waiting on user | Staff reply from the dashboard |
| Waiting on staff | The opener replies from the dashboard |
| Escalated | Someone escalates it |
| Closed | It is closed, or its channel is deleted |
The two waiting statuses only move when the reply is sent from the dashboard. Messages typed in Discord are recorded on the ticket's timeline, but they do not change the status. If your team answers in Discord, treat Open and In progress as your working states and lean on claiming.
Claiming
Claim Ticket marks the ticket as yours and sets it to In progress. Two staff clicking at the same moment cannot both win: exactly one claim goes through and the other is told who got it.
Claiming requires one of the panel's support roles when the panel has any. When it has none configured, nothing is checked and anyone in the channel can claim, which is one more reason to fill that field in.
A claimed ticket cannot be claimed by someone else, and there is no button to hand it back. The one thing that moves a claim is escalation, below.
Escalating
Escalate is for handing a ticket to someone with more authority, and it is staff only. Pick a user or a role from the two dropdowns. The target is given access to the channel (including adding reactions), the status becomes Escalated, and the ticket posts a card that pings them, with your reason if you gave one.
Who ends up owning the ticket depends on what you picked:
- A user: the claim is transferred to them. The ticket is now theirs.
- A role: the ticket is assigned to that team, and the existing claim is released, unless the person who held it is a member of the role you escalated to.
Escalating again to a different target removes the previous target's access.
Pulling someone into a ticket
Sometimes a ticket needs a third party: the member who was reported, a moderator from another team.
/ticket add userand/ticket add rolegive them access./ticket remove userand/ticket remove roletake it away.
Support staff only, and the ticket author can never be removed this way. Each change posts a short notice in the channel, and is recorded on the dashboard timeline so it survives the channel being deleted. The ticket's dashboard page can add and remove members too, though not roles.
Asking the member to close
/ticket request-close posts a card pinging the ticket author with a Close
Ticket button and a Decline button. Add a reason and it is shown in the
card.
Only the author can answer it. Accepting runs the normal close flow. Declining opens a short form where they explain why they want to keep it open, between 5 and 500 characters. The request stays valid for a week.
Private staff notes
Every ticket can have a private thread for staff talk the member never
sees. It is created on the ticket channel as a private thread named
📋 Staff notes, and the panel's support roles are pinged into it. The opener
is not a member of it and cannot open it.
Notes go both ways: what you type in the thread appears on the ticket's dashboard page, and a note written on the dashboard is posted into the thread. Either way, the note is stored, so it is still readable after the Discord channel has been deleted.
The panel decides when the thread is created:
- Automatic: on every new ticket.
- On demand: on the first dashboard note, or when a staff member picks Create staff notes thread in the ⋯ menu.
- Off: notes stay on the dashboard only.
Creating the thread needs the Create Private Threads permission. Without it, nothing breaks, notes simply stay on the dashboard.
Inactive tickets
Inactivity Settings watch tickets nobody is talking in. Set a threshold between 1 and 720 hours and choose what happens. The timer restarts on every human message in the ticket.
- Send reminder posts a message in the ticket asking the member to reply if they still need help. It never closes anything.
- Auto-close posts a notice in the ticket saying it was closed for inactivity. Be aware that the closing itself is currently not going through, so the ticket stays open behind that notice. Until that is fixed, use the reminder and close by hand.
- None disables it.
Letting the assistant answer first
Platinum servers can put an AI assistant in front of their support team. It is being rolled out gradually, so the AI Assistant card may not be on your panel page yet.
The rule that makes it usable: it only answers from the knowledge base you give it. When your entries do not cover the question, it says nothing at all, and the ticket looks exactly like one without an assistant. It never invents an answer, never promises a refund or a ban, and every reply carries a notice saying it is automated and that a human will follow up. It replies in the language the member wrote in, even when your entries are written in another one.
The knowledge base is a list of question and answer pairs, the question up to 500 characters and the answer up to 4000, that you edit on the panel page. Entries can be switched off without deleting them, and each one shows how many times it was actually used to answer, which tells you what is dead weight. General instructions (up to 8000 characters) is a free text box for what is not a question: your tone, your opening hours, what your server is about.
When it replies is up to you:
- Right away, answering the reason the member typed when opening. A panel that never asks for a reason gives it nothing to work with, so pair this mode with Ask for reason.
- On a button click: an Ask the assistant button is added to the ticket. The member gets a real reply; a staff member clicking it instead gets a private suggested draft that nobody else sees.
- If no staff replies in time, between 1 and 1440 minutes after opening. It reads the reason plus everything the member has written since. Any human message from someone other than the opener cancels it.
It posts at most one public reply per ticket, whichever mode you use.
What the member does with it: the reply carries Helpful and Not helpful buttons, and only the ticket author can press them. Two optional follow-ups, both on by default: marking it helpful can add a Close ticket button, and marking it not helpful can ping your support roles so a human takes over.
What staff do with a wrong answer: the Staff answer button on the reply opens a form. What you write is posted as the correct answer, and it is saved into the knowledge base paired with the reason the member gave when opening. A panel that does not ask for a reason has nothing to pair it with, so on those panels the answer is only posted, not learned.
Learning from closed tickets: when a ticket closes, the assistant writes a short summary and a category for it (both visible on the dashboard), and if the conversation contained a genuine question answered by a human, it proposes that pair as a new entry, stripped of names and personal details. You choose how those proposals are handled:
- Review here: they wait as suggestions on the panel page.
- Review in a Discord channel: they are posted to a channel you pick with Accept and Refuse buttons, for staff to decide.
- Apply automatically: they go straight into the knowledge base, no review.
A proposal is never made twice for a question you already have or already refused. The Detect duplicates button finds near-identical entries that crept in and offers to merge them.
Everything the assistant does draws on a daily token budget shown right under the settings. When it runs out, the assistant simply stops answering until the next day, and tickets carry on as normal.
