ChromaTickets
Dynamic Discord ticketing, configured from the web
Chroma Tickets is a fully dynamic ticket bot for Discord. Design ticket panels, ticket types, and modal questions in the ChromaLabs web portal — the bot handles opening, claiming, moving, transcripts, and cleanup. External API checks and template conditions let tickets adapt to each member, all backed by a persistent MySQL database.
Dynamic Ticket Panels
Design ticket panels with fully custom embeds and buttons in the web portal, then publish them into any channel with a single command. Every button maps to a ticket type you define — no hardcoded layouts.
- Fully custom panel embeds — title, description, colors, images, footer
- One button per ticket type, with custom labels, emojis, and button styles
- /dynamictickets publishpanel — publish a stored panel into the current channel
- Members can also open tickets directly with /ticket open
- Panels are designed and managed entirely from the web portal
- Unlimited panels and ticket types per server
Ticket Types & Questions
Each ticket type can ask up to five questions in a Discord modal before the ticket opens. Answers are validated, stored, and injected into your ticket's opening message using templates.
- Up to 5 modal questions per ticket type
- Short or paragraph input styles per question
- Optional regex validation on answers
- Answers rendered into the ticket via {answers.x} template variables
- Per-type opening embeds with {author_id}, {ticket.*}, and API template values
- Conditional logic — show content or run checks based on answers
Claiming & Staff Workflow
A complete staff workflow: claim tickets, assign them to teammates, post welcome messages, and track performance with claim leaderboards.
- /claim — claim a ticket, optionally with a welcome message
- Assign a ticket to another staff member on claim
- /ticketstats claimleaderboard — All Time, This Week, This Month, and more
- /ticketstats activeclaimed — see every active claimed ticket at a glance
- /mytickets — list open tickets you own or have claimed
- Add or remove members and roles from a ticket with /ticketutil
HTML Transcripts
Every closed ticket generates a full HTML transcript — messages, embeds, and attachments — posted automatically to the transcript channel configured for its category.
- Automatic HTML transcript on /close
- Per-category transcript channels
- /ticketutil forcetranscript — generate a transcript on demand mid-ticket
- Transcripts preserve embeds, attachments, and formatting
- Close with a reason that is recorded alongside the transcript
Categories, Overflow & Move Rules
Tickets land in dynamic Discord categories with automatic overflow — when a category fills up, new tickets spill into the next one in its overflow group. Staff can move tickets between categories as they progress.
- Dynamic ticket categories managed from the portal
- Overflow groups — full categories automatically roll into the next
- Respects Discord's channel-per-category limits automatically
- /ticketutil move — move a ticket to another category
- Move rules with rename templates and claim resets
- Per-category transcript and staff configuration
Permissions System
Chroma Tickets ships the same trigger-based permission engine as the rest of the ChromaLabs lineup. Grant staff exactly the ticket powers they need — without Discord admin.
- /set permission — grant or revoke a trigger for any role or member
- Triggers: claim_ticket, delete_ticket, move_ticket, force_transcript
- Triggers: claim_leaderboard, active_claimed, guild_admin
- /list_permissions — audit every grant in your server
- Server owner always retains full access
- Permissions also manageable from the web portal
External API Integrations
Call your own APIs when a ticket opens. Verify a purchase, look up a player, or pull account data — then render the response directly into the ticket with template variables.
- Configurable HTTP method, URL, headers, query, and body templates
- Response values available as {api.x.y} in ticket embeds
- Conditional checks — gate or shape ticket content on API results
- Secrets referenced by environment name, never stored in templates
- Configurable request timeouts
Automation
Chroma Tickets keeps your ticket queue clean on its own — closing abandoned tickets and alerting staff when a ticket has gone quiet.
- Auto-close a member's open tickets when they leave or are banned
- Stale ticket alerts — staff pinged when a ticket goes inactive
- DM relay — bot DMs are forwarded to staff threads with reply buttons
- Background queues keep messages and webhooks reliable
Ready to deploy Chroma Tickets?
Follow the setup guide to get the bot online and your first panel published, then use the command reference to master the staff workflow.