Tutorials3 min read

Set Up a Discord Ticket System — Panels, SLAs & Transcripts | TeraOne 2026

Multi-type tickets with panels, claim/assign, internal notes, SLAs, hosted transcripts with full-text search, and seven analytics KPIs — entirely free.

Ticket System: A support workflow that actually works

Classic Discord ticket bots are usually either too simple (one channel, one button, done) or too half-finished (no SLA, no transcript viewer, no analytics). The TeraOne Ticket System closes the gap: multi-type tickets with per-type config, hosted transcripts with full-text search, SLA tracking, and 7 analytics KPIs.

What it does

  • Multi-type & multi-panel — any number of ticket types per server, any number of panels (buttons or dropdown). Optional pre-open form with up to 5 fields per type.
  • Channel-per-ticket with auto-overflow — every ticket gets its own channel. When the primary category fills up, an overflow category auto-spawns. Empty categories are cleaned up later.
  • 10 workflow features — claim, assign, priority, tags, internal notes (via private threads), transfer, SLA, add-user, rename, auto-pin live summary. All toggleable per type.
  • Anti-spam — cooldown, max-open per user, manual + auto blacklist, anti-alt integration. All 5 on by default.
  • Transcripts with web viewer — HTML attachment + hosted web viewer with full-text search, filter by author/role/kind, deep-link to message timestamps, signed URLs with expiry, attachment mirror. Plus JSON export.
  • SLA with escalation — per type and priority: first-response and resolution minutes, escalation chain claimer → mod role → lead role. Violations logged.
  • Auto-close — idle warn → auto-close after grace period. Supporters can pause.
  • Close flow with CSAT — confirm + reason (min 30 chars for staff), archive stage with 24h grace, re-open possible, optional CSAT rating, opener self-close.
  • 7 analytics KPIs — volume trend, first-response time, resolution time, supporter leaderboard, category breakdown, heatmap, repeat-opener rate.
  • i18n — complete DE + EN.

How to set it up

  1. Dashboard → Tickets → Setup — pick the primary category, set the mod-log channel.
  2. Create types — e.g. Support, Bug Report, Complaint. Per type: staff roles, welcome embed, workflow toggles, SLA matrix.
  3. Deploy a panel — title, description, display type (buttons or dropdown), assign types, post to a channel.
  4. Fill tags & blacklist.
  5. Optionally enable the anti-alt integration — users in quarantine can't open tickets.
  6. Watch the Live tab, monitor the Analytics tab.

More in the docs.

Tips for better results

  • Pre-open form with 2–3 fields — the sweet spot. 0 = spam-prone, 5 = drop-off too high.
  • Keep SLAs realistic — 15 min first response sounds nice but is impossible at 100+-server scale. 1 h and keeping it is better.
  • Transcripts as a knowledge base — hosted viewers have full-text search. For repeat issues, hand out the link instead of re-explaining.

FAQ

How many ticket types can I create? Unlimited per guild. The Discord channel cap (500 per guild) is the only hard limit; the ticket system checks before every open.

Do transcripts survive bot restarts? Yes. Transcripts are finalized in a durable queue (BullMQ) and written to a persistent volume. A bot restart interrupts nothing.

Can I take the system fully offline? Yes, master toggle per panel and global module toggle. Existing channels remain, new tickets are rejected.


Need help? Join our Discord server.