Settings reference
Ticket panel, ticket and transcript fields.
| Setting | Type | Default | Meaning |
|---|---|---|---|
title | string | Dashboard initial Support | Public panel embed title. API accepts 1–100 characters. |
description | string | Dashboard support message | Public panel embed description. API accepts 1–2000 characters. |
categoryId | category channel id | Required | Parent category for newly opened ticket channels. |
channelId | text channel id or null | null schema; required on create | Channel where the panel message is posted. |
messageId | message id or null | null | Published panel message id, saved after Discord accepts the post. |
logChannelId | channel id or null | null | Optional close-log channel with a transcript link when available. |
managerRoleIds | JSON string[] | [] | Staff roles. API limit: 25 roles, all must belong to the guild. |
buttonLabel | string | Create Ticket | Public panel button text. Limit: 80 characters. |
embedColor | hex colour | #6366f1 | Panel and opened-ticket embed colour. |
thumbnailUrl | https URL or null | null | Optional small image on the panel/open embed. |
imageUrl | https URL or null | null | Optional banner image on the panel/open embed. |
openTitle | string | 🎫 Ticket Opened | Embed title inside new ticket channels. Limit: 256 characters. |
openMessage | string | Welcome message with {user} | Embed description inside new ticket channels. Limit: 2000 characters; {user} becomes a mention. |
ActiveTicket.status | OPEN or CLOSED | OPEN | Live ticket lifecycle state. |
ActiveTicket.locked | boolean | false | Whether the opener can currently send messages. |
ActiveTicket.claimedById | user id or null | null | Staff member who claimed the ticket. |
TicketTranscript.html / json | strings | Created on close | HTML transcript for dashboard view and raw JSON message array. |
| Transcript message cap | constant | 2000 messages | Maximum messages fetched per transcript. |
Image URL safety
Ticket panel thumbnail and banner URLs must be https:. Non-HTTPS image URLs are rejected by the API.
