Forms & Custom Questions
Ticketo supports pre-ticket forms that collect information from users before a ticket is created. These appear as Discord modals (pop-up forms) when a user clicks a panel button.
How Questions Work
Questions are configured per panel button or select option in the dashboard's Panel Editor. When a user clicks a button to create a ticket, the configured questions appear as a Discord modal form that must be completed before the ticket is created.
Setting Up Questions
Via the Dashboard
Go to Dashboard → Panels
Create or edit a panel
Select a button or select menu option
In the button/option settings, find the Questions section
Add questions with the following properties:
Question text
Yes
The label shown to the user (max 45 characters)
Required
Yes
Whether the user must answer to proceed
Type
Yes
TEXT (long text area) or SHORT (single line)
Placeholder
No
Hint text shown in the empty input (max 100 characters)
Min Length
No
Minimum character count (default: 0)
Max Length
No
Maximum character count (default: 4000)
Default Value
No
Pre-filled text in the input
Example Configuration
A bug report panel might have these questions:
"What is the bug?" — Required, long text, min 10 characters
"Steps to reproduce" — Required, long text, placeholder: "1. Go to... 2. Click..."
"Expected behavior" — Optional, long text
"Your operating system" — Optional, short text, placeholder: "e.g., Windows 11"
Question Limits
Maximum 5 questions per button/option — This is a Discord API limitation (modals support a maximum of 5 action rows)
Question label: max 45 characters
Placeholder: max 100 characters
Answer length: configurable via
minLengthandmaxLength
How Questions Are Presented
When a user clicks a panel button that has questions:
A Discord modal (pop-up form) appears
Each question is displayed as a text input field
Required fields must be filled in before the user can submit
After submission, the ticket creation process continues
[Screenshot placeholder: Discord modal with custom questions]
How Answers Are Stored
Answers are handled in two ways:
1. Displayed in the Ticket
Answers appear as embed fields in the ticket's opening message. Each question-answer pair is shown as:
This is immediately visible to all ticket participants (creator and staff).
2. Saved to the Database
Answers are stored in the QuestionAnswer table with:
The question ID
The ticket ID
The user ID
The answer text
This allows answers to be queried and displayed in the dashboard ticket history.
Topic Prompt
Separate from custom questions, categories can require a topic before creation:
If
requireTopicis enabled on a category and no topic is provided, a modal appears asking the user to enter a topic (5-1000 characters)The topic is stored encrypted on the ticket record
The topic appears in the ticket's opening message and in the dashboard
Managing Questions
Important: Editing questions directly from Discord (in-bot) is no longer supported. The modal shows a message directing users to the dashboard.
All question management must be done through the web dashboard Panel Editor:
Add, edit, reorder, or remove questions
Toggle questions on/off with the
enabledflagPreview how questions will appear
Tips
Keep question labels short and clear — they appear as input labels in the modal
Use placeholders to guide users on the expected format
Set appropriate
minLengthvalues to prevent empty or unhelpful answersMake questions optional if they don't apply to all situations
Remember: the 5-question limit is per button, not per panel — different buttons can have different questions
Last updated