Tickets
Tickets are the core of DuffyBot. When a user needs help, they open a ticket, and DuffyBot creates a private channel where the conversation happens. The AI responds automatically using your knowledge base, and staff can step in at any time.
How Tickets Work
- User clicks "Open Ticket" on the ticket panel in your support channel
- DuffyBot creates a private channel visible only to the user, staff roles, and the bot
- User describes their issue in the ticket channel
- AI responds based on your knowledge base content
- Conversation continues until the issue is resolved or staff take over
- Ticket is closed by staff or the user, and a transcript is saved
The Ticket Panel
The ticket panel is the embed message posted in your support channel with one or more buttons for opening tickets. You customize it from the Embeds page in the dashboard.
You can configure:
- Embed title, description, and color to match your server's branding
- Multiple buttons, each representing a different category (e.g., "Billing", "Technical", "General")
- Button labels, colors, and emojis
Ticket Categories
Categories let users choose what type of help they need before opening a ticket. Each button on the ticket panel can represent a different category.
When a user opens a ticket with a category, that category is:
- Shown in the ticket channel as context
- Passed to the AI so it can tailor its response
- Recorded for analytics (you can see which categories get the most tickets)
Pre-Ticket Forms
Forms let you collect structured information from users before their ticket is created. For example, you might ask for their account email, order number, or a description of their issue.
Setting up forms
- Go to Forms in the dashboard
- Create a new form with up to 5 fields
- Each field can be short text or paragraph text, required or optional
- Assign the form to a ticket panel button
When a user clicks a button with a form assigned, they see a popup modal asking them to fill in the fields. After submitting, the ticket is created with their responses included.
AI in Tickets
By default, DuffyBot responds to every user message in a ticket. The AI:
- Searches your knowledge base for relevant content
- Generates a response in the conversation style you configured
- Shows a confidence level for each response (visible to staff in debug mode)
- Automatically escalates to human staff when it is not confident
For more details on how AI responses work, see AI Responses.
Staff Takeover
Staff can take over a ticket at any time. When a staff member takes over:
- The AI stops responding in that ticket
- The ticket status changes to "staff" (indicating a human is handling it)
- Staff respond manually as usual
/ticket takeoverStaff takes over the ticket. AI stops responding./ticket reopenReopens an escalated ticket so the AI starts responding again.Closing Tickets
Tickets can be closed in two ways:
- Close button: Click the close button on the ticket welcome message. A confirmation prompt appears for 5 seconds.
- Slash command: Staff can use
/ticket close.
When a ticket is closed:
- DuffyBot generates analytics for the ticket (response time, message count, CX score)
- A closure embed is posted in the ticket channel
- A transcript is sent to the transcript channel (if configured)
- A satisfaction survey is DM'd to the user (if enabled)
- The ticket channel is deleted after a brief delay
Transcripts
Transcripts are records of the full ticket conversation. They are posted to a designated channel when a ticket is closed.
To enable transcripts:
- Go to Settings > Transcripts
- Select a channel where transcripts should be posted
- Optionally enable "DM Transcripts" to send a copy to the ticket creator
Staff can also generate a transcript on demand without closing the ticket:
/ticket transcriptGenerates and sends a transcript file for the current ticket.Ticket Limits
To prevent abuse, DuffyBot includes rate limiting:
- Max open tickets: Each user can have a configurable number of open tickets at once (default: 3, max: 10)
- Cooldown: Users must wait a few minutes between creating tickets
- Daily limit: There is a daily cap on ticket creation per user
You can adjust the max open tickets setting in Settings > Tickets.
Blacklisting Users
If a user is abusing the ticket system, you can blacklist them:
/blacklist add @user [reason]Prevent a user from creating tickets./blacklist remove @userRemove a user from the blacklist./blacklist listView all blacklisted users.