Tickets · private help in Discord
The Discord ticket bot for an organized support queue.
Let members ask for help from a panel or contact staff through Modmail in their DMs. Your team handles both in Discord, with one support queue and private transcripts.
- Help by button or DM
- Panels and optional Modmail
- One support queue
- Requests reach the right team
- Staff stay in Discord
- Claim, reply and close right there
- Every chat saved
- A transcript for every closed ticket
01Modmail
A direct message to your staff
Members message Guardy and keep the conversation in their DMs. Your team works from a private staff channel.
- Enable Contact staff by DM in Tickets settings and choose an existing ticket type. Its team, questions and limits carry over.
- Members confirm which server they want to contact before Guardy shares their message or attachments.
- Staff use Reply to member to send an answer. Ordinary staff-channel chat stays internal.
- Keep the conversation together: messages, attachments, staff ownership and transcripts use the same support workflow.
An example Modmail ticket in the private staff channel. Maya stays in her DMs; only an explicit reply is sent to her.
02Open
One button to ask for help
Members open a ticket from the panel you post. There is no command to learn.
- Buttons and dropdowns on published panels: one row and an Open button per ticket type, or a dropdown from six types up. The panel also says who can see the ticket and how long it is kept.
- Each type can ask up to five questions first: a short or long answer, a choice, or a member, role or channel picker.
- Guardy makes a private channel or thread, whichever the panel uses, and adds the member to it.
An example panel with two ticket types, and the private reply after Maya presses Open and sends the form.
03Inside a ticket
Everyone can see who has it
A pinned header sits at the top of every ticket and stays up to date.
- The header shows the status, priority and who claimed it, plus the form answers.
- Staff press Claim or Close right there. Each change posts one plain line in the ticket.
- Members find their tickets with /ticket list. You choose if they can close, reopen or add someone.
Commands/ticket list/ticket participant
Example lines Guardy posts in the ticket when Vera claims it and raises the priority, and Maya’s /ticket list reply.
04Staff work
Run the whole queue from Discord
Your staff queues live where the conversation is.
- Claim, assign, and transfer to another team. Set status, priority and tags.
- Run a command inside a ticket and it knows which one you mean. Elsewhere, add the number.
- Agents claim, reply and close. Leads also assign, transfer, tag and set priority. You can give agents more, team by team.
Commands/ticket claimStaff/ticket assignStaff/ticket transferStaff/ticket statusStaff/ticket tagStaff
Example lines Guardy posts in the ticket after /ticket assign, /ticket transfer and /ticket status. The new owner of an assigned ticket is pinged.
05Notes and replies
Internal notes and saved replies
Staff talk among themselves and reuse good answers.
- Internal notes stay with staff. The member never sees them, not even in a shared transcript.
- Saved replies and FAQ answers show a private preview first. Nothing is sent until staff confirm.
- With Ticket AI on Premium, a panel can answer a member’s first message from its own FAQ, always with a Talk to a human button.
Commands/ticket noteStaff/ticket notesStaff/ticket replyStaff
An example saved-reply preview only Vera sees, and an AI answer on a panel with Ticket AI turned on.
06On time
Answer on time, every time
Set response targets, and Guardy warns your team before one is missed.
- Set first-response and resolution targets in business minutes, around your hours, time zone and holidays.
- Your team gets a warning at 80% of the target, and a line if it is missed. The clock pauses while you wait on the member.
- /ticket queue shows Unassigned, Mine, Breached or All open. A queue board keeps counts in a channel, every 15 minutes by default.
Command/ticket queueStaff
An example /ticket queue reply and a queue board. The board shows counts only, never names or messages.
07Close
Every closed ticket keeps its story
Closing freezes the ticket and makes a private transcript.
- The member gets a DM with a private transcript link for 7 days, and how long they have to reopen.
- Every ticket keeps private HTML transcripts to read and a portable JSON record. Each is labelled complete, known gap, or best effort.
- A rating from 1 to 5 is asked once a human has replied. Staff give a reason to close. Both are on by default.
Commands/ticket closeStaff/ticket request-closeStaff/ticket reopen/ticket transcript
An example close DM and rating request. The reopen window is 7 days on Free; Premium picks 1 to 30.
08Set up
You shape the help desk
Build panels, teams and rules on the dashboard. Staff do the talking in Discord.
- Teams with their own roles. New tickets wait for a claim, take turns, or go to whoever has fewest open.
- Automations route, assign, tag, remind, notify or close tickets from your own rules.
- Reports and analytics on volume, response times, targets met and ratings, plus a read-only API and signed outbound webhooks.
An example of three choices on the Tickets dashboard.
Every setting, on the dashboard
There is no reply box on the dashboard: staff answer in Discord. Owners set up and check the work here.
Panels and types
- Ticket types
- Label, emoji, description, team and starting priority.
- Questions
- Up to five per type, asked before the ticket opens.
- Channel name and limits
ticket-{number}by default, open tickets per member, and a wait between tickets.
Teams
- Roles
- Agent, Lead, Ticket admin, or read-only Auditor.
- Extra permissions
- Give agents more, one permission at a time.
- Notifications
- A channel for new tickets. Role pings are off until you turn them on.
Support hours and automations
- Targets
- Reply within 60 minutes and finish within 8 hours to start, or set them by priority. A warning goes out at 80%.
- Opening hours
- Mon to Fri, 9 to 5 to start, in your time zone, with up to 100 holidays.
- Automations
- When a ticket opens, waits, changes, nears or misses a target, closes, or the member leaves: route, assign, set status, priority or tag, post a message, notify, remind, close or send a webhook. Up to 10 conditions each.
Closing and records
- Member rights
- Close and reopen their own ticket (on), add someone (off).
- Transcripts
- 30 days on Free. Premium keeps 30, 90, 180 days or a year.
- Log channel
- Ticket events without any message content.
- API and webhooks
- Read tickets and transcripts. Webhooks are signed with HMAC-SHA256 and carry no message content.
09Commands
Every /ticket command
- Members can use it
- Ticket staff or admins
| Command | What it does | Who |
|---|---|---|
Your tickets/ticket list | Shows the tickets you have open in this server, with a link to each. | Anyone |
Transcript/ticket transcript | A private link to a closed ticket’s transcript. Leave the number out for your latest. | The member who opened it, and staff |
Reopen/ticket reopen | Reopens a closed ticket within its reopen window, up to 3 times. | The member who opened it (on by default), and staff |
Add someone/ticket participant | Adds or removes a member from the ticket. | The member who opened it (off by default), and leads |
Queue/ticket queue | Lists tickets: Unassigned, Mine, Breached or All open. | Ticket staff |
Claim/ticket claim | Takes an open ticket. The Claim button does the same. | Ticket staff |
Unclaim/ticket unclaim | Releases a claimed ticket back to the team. | Agents for their own, leads for any |
Assign/ticket assign | Gives the ticket to a member of staff, who is told. | Leads |
Transfer/ticket transfer | Moves the ticket to another team. | Leads |
Priority/ticket priority | Low, Normal, High or Urgent. | Leads |
Status/ticket status | Open, Waiting on staff, Waiting on requester or Resolved. | Leads |
Tag/ticket tag | Adds or removes one of your tags. | Leads |
Rename/ticket rename | Renames the ticket channel or thread. | Leads |
Note/ticket note | Adds a staff-only note. The member never sees it. | Ticket staff |
Notes/ticket notes | Reads the recent staff-only notes. | Ticket staff |
Saved reply/ticket reply | Previews a saved reply or FAQ answer privately, then sends it when you confirm. | Ticket staff |
Ask to close/ticket request-close | Asks the other side to press Confirm close or Keep open. | Ticket staff, or the member who opened it |
Close/ticket close | Closes the ticket and makes its transcript. Staff give a reason unless you turn that off. | Ticket staff, or the member who opened it (on by default) |
Panel check/ticket-panel | status shows the panels Guardy serves, repair restores a panel message, debug shows diagnostics without content. | Manage Server |
Inside a ticket you can leave the number out. Staff reply in the ticket itself: the dashboard is for setup, the queue, records and reports.
Free vs Premium
Free runs a real help desk. Premium adds room.
| Feature | Free | Premium |
|---|---|---|
| Forms, private channels or threads, staff queues, notes, saved replies, response targets, automations, transcripts and ratings | Included | Included |
| Ticket panels | 1 | Up to 25 |
| Staff teams | 1 | Up to 25 |
| Ticket types | Up to 5 | Up to 100 |
| Open tickets at once, across the server | Up to 10 | Up to 500 |
| Open tickets per member | Up to 2 | Up to 5 |
| Saved replies, tags and FAQ answers | Up to 10 each | Up to 200 each |
| Automation rules | Up to 5 | Up to 50 |
| Response-target policies | 1 | Up to 25 |
| Transcripts kept | 30 days | Up to a year |
| Support reports | Last 7 days | A full year |
| Attachments kept per ticket | 25 MB | 100 MB |
| Webhook endpoints and API tokens | 1 each | Up to 10 each |
| Ticket AI: FAQ answers, suggested replies and summaries | Not included | Included |
Tickets questions
Quick answers.
What owners ask before they turn on Tickets.
01What does a Discord ticket bot do?
It turns a member’s request into a private conversation with your staff. Guardy Bot also keeps the form answers, team, owner, status, priority and transcript together, and shows your staff queues in Discord. Free gives you 1 panel, 1 team and up to 10 open tickets at once. Premium raises that to 25 panels, 25 teams and 500 open tickets.
02How can members create a ticket?
They press Open on a panel you post, or message Guardy when you enable Modmail. For Modmail, they confirm the server before their message is shared with staff. There is no slash command for opening a ticket. A member can have up to 2 open tickets at once on Free, or up to 5 on Premium, and you can set a lower limit per ticket type.
03Can I create custom ticket forms?
Yes. Each ticket type can ask up to five questions before the ticket opens, which is Discord’s own limit for a form. A question can take a short or long answer, a dropdown, choose one, choose several, or a member, role or channel picker. The answers appear in the ticket’s pinned header.
04Can Guardy Bot use private threads as well as channels?
Yes. Each panel opens tickets as either private channels or private threads. With threads, each ticket type needs a parent channel. The choice applies to new tickets, so open ones are not moved. Modmail uses a private staff channel while the member stays in DMs.
05Does Guardy Bot save ticket transcripts?
Yes. A closed ticket gets private HTML transcripts for reading and a portable JSON record. Each says whether the history is complete, has a known gap, or is best effort. Attachments are virus-scanned and stored privately. Transcripts are kept 30 days on Free, and 30 days to a year on Premium. The member’s link expires after 7 days and never shows internal notes.
06Can Guardy Bot track response and resolution targets?
Yes. You set first-response and resolution targets, counted in business minutes around your opening hours, time zone and holidays. The clock pauses while you wait on the member. Guardy warns your team at 80% of a target, posts a line if it is missed, and lists breached tickets in /ticket queue.
07Where does staff reply to tickets?
In the private Discord channel or thread. For Modmail, staff use Reply to member to send a DM; ordinary staff-channel messages stay internal. The dashboard has no reply box: it is for setup, the queue, records, reports and analytics. Integrations get a read-only API and signed outbound webhooks, with no public write API.
Keep the progress
Give every request an owner.
Add Guardy Bot, build your first panel on the dashboard and post it. Members can open a ticket straight away.