Novus In-House Ticketing allows Novus to become the primary ticket provider for your Discord server.
Instead of depending on a separate ticket bot for ticket creation and lifecycle management, you can configure your native ticket structure directly through Novus.
The current native ticketing foundation supports provider selection, concurrent ticket limits, transcript configuration, Ticket Categories, handler roles, panel configuration, forms, and the foundation for AI-powered ticket processing.
Before You StartBefore enabling native ticketing, decide how you want your support system organized.
You should already have a basic idea of:
- Which support categories you need
- Which Discord Category will contain created tickets
- Which roles handle each type of ticket
- Where transcripts should be stored
- Whether members should receive transcript copies
- How many simultaneous tickets a member can create
- Which categories need Ticket Forms
- Which Discord channel will contain each ticket panel
Starting with a simple structure is usually easier than creating many categories immediately.
Step 1 — Select the NOVUS Ticket ProviderOpen your server configuration and go to the Ticketing settings.
Choose:
Ticket Provider: NOVUS
The native implementation supports both:
EXTERNAL
and
NOVUS
Existing servers remain on External by default so that enabling new Novus features does not automatically take control of existing third-party ticket systems.
Selecting NOVUS means that your server is being configured to use Novus as the native ticket provider.
Switching From External TicketingIf your server already uses another ticket bot, plan the transition carefully.
Do not immediately delete your existing:
- Ticket panels
- Transcript channels
- Staff roles
- Ticket categories
- Archived ticket records
A safer migration is:
Configure Novus
↓
Create and test native categories
↓
Publish a test panel
↓
Create test tickets
↓
Verify permissions and transcripts
↓
Move members to the new panel
↓
Retire the old panel only when ready
This reduces the risk of disrupting your live support system.
Step 2 — Configure Concurrent Ticket LimitsNovus allows you to configure how many native tickets one member can keep open at the same time.
Current plan boundaries include:
Free
Up to 5 concurrent open tickets per user.
Premium
Up to 10 concurrent open tickets per user.
These are maximum configuration limits.
You do not need to set the maximum.
Recommended Concurrent Ticket SettingFor most support communities:
Concurrent Open Tickets Per User: 1
is a good starting point.
This prevents members from unnecessarily creating:
- Multiple General Support tickets
- Duplicate Technical tickets
- Several tickets about the same concern
Increase the limit only when members genuinely need several independent active cases.
Use Case: Multiple DepartmentsA larger community may allow:
Concurrent Tickets: 3
For example, one member may simultaneously have:
- 1 Technical Support ticket
- 1 Payment ticket
- 1 Application ticket
This can be useful when these concerns are unrelated.
Step 3 — Configure the Default Transcript ChannelChoose a Discord channel where native ticket transcripts should be delivered.
For example:
Default Transcript Channel
#ticket-transcripts
The current implementation uses the same admin-only transcript channel selection logic already shared with other ticket configuration features.
Use a channel that normal members cannot access unless your support policy specifically requires otherwise.
Recommended Discord StructureFor example:
STAFF
- #staff-chat
- #ticket-transcripts
- #support-logs
SUPPORT TICKETS
- Native ticket channels created here
SUPPORT PANELS
- #create-ticket
This keeps active member-facing support separate from internal support records.
Step 4 — Send Transcript to Ticket OwnerNovus includes a setting foundation for optionally sending the ticket transcript to the ticket owner.
Enable this when you want members to retain their own support history.
Possible use cases include:
- Technical troubleshooting
- Application records
- General support history
- Account-related instructions
Consider disabling member transcript delivery when the transcript could contain sensitive internal staff information.
Step 5 — Configure Closed-Ticket Delete DelayNative Novus Ticketing includes a configurable delay before a closed ticket channel is deleted.
The implementation requires a minimum delay of 5 seconds.
The delay gives the system time to finish closing-related operations.
These may include:
- Transcript processing
- AI Summary processing
- Final ticket metadata
- Knowledge review workflow
- Closing messages
Avoid setting an unnecessarily immediate deletion workflow when you still need final processing.
ExampleA server may choose:
Delete Delay: 30 seconds
This provides a short window for final processing before the Discord ticket channel disappears.
The appropriate value depends on your workflow.
Step 6 — Create Your First Ticket CategoryNative Ticket Categories define the different support options available to your members.
For example:
- General Support
- Technical Support
- Payment Support
- Account Support
- Bug Report
- Guild Application
- Streamer Application
The native implementation provides Add, Edit, Delete, and Publish Panel functionality for Ticket Categories.
Example: General Support CategoryA simple category could use:
Name
General Support
Discord Category
Support Tickets
Ticket Prefix
support
Handler Role
Support Team
Welcome Message
Welcome to General Support. Please describe your concern and Novus AI or a member of the support team will assist you.
Ticket PrefixThe Ticket Prefix helps identify the purpose of the created ticket.
For example:
General Support
Prefix: support
Technical Support
Prefix: tech
Payment Support
Prefix: payment
Bug Report
Prefix: bug
This makes active tickets easier for staff to identify.
Avoid Confusing PrefixesPrefer:
tech
instead of:
t
Prefer:
payment
instead of:
p1
A prefix should remain understandable when staff sees the ticket without additional context.
Step 7 — Map the Discord CategoryEach native Ticket Category needs the appropriate Discord location for its generated tickets.
For example:
Novus Ticket Category
Technical Support
Discord Category
TECHNICAL TICKETS
This is a basic form of mapping.
You are telling Novus:
When this type of ticket is created → place it here.
Example Discord Category MappingA larger server could use:
General Support
→ GENERAL TICKETS
Technical Support
→ TECHNICAL TICKETS
Payment Support
→ TRANSACTION TICKETS
Guild / Streamer
→ COMMUNITY APPLICATIONS
This can simplify staff permissions and make ticket organization clearer.
One Discord Category for Multiple Ticket TypesYou do not always need a separate Discord Category for every Ticket Category.
A smaller server can map:
General Support
→ SUPPORT TICKETS
Technical Support
→ SUPPORT TICKETS
Account Support
→ SUPPORT TICKETS
and use ticket prefixes plus handler roles to distinguish them.
This can be easier to maintain.
Step 8 — Assign a Handler RoleEach Ticket Category can use a handler role.
Handler roles are reusable across categories.
For example:
General Support
→ @Support Team
Technical Support
→ @Technical Team
Payment Support
→ @Transaction Team
Streamer Application
→ @Community Manager
This helps ensure the correct staff group can access and handle the ticket.
Example Small-Team MappingIf you only have one support team:
General Support
→ @Support Staff
Technical Support
→ @Support Staff
Account Support
→ @Support Staff
Payment Support
→ @Administrators
There is no need to create unnecessary roles when the same team handles several concerns.
Step 9 — Configure a Welcome MessageEach category can have an optional welcome message.
Use it to explain what happens after the ticket opens.
For example:
Technical Support Welcome Message
Welcome to Technical Support.
Please provide any relevant error message, screenshot, or troubleshooting already attempted. Never share passwords, authentication codes, or other secret credentials.
Novus AI may assist you first, and staff can take over when manual assistance is required.
Keep Welcome Messages ShortAvoid placing your entire support policy in the welcome message.
It should tell the member:
- What the ticket is for
- What information may be useful
- What happens next
- Any important security warning
Detailed procedures should remain in your Knowledge Base or AI instructions.
Step 10 — Add a Ticket Form When NeededNovus native Ticket Categories support optional forms.
Current implementation supports up to 5 form fields with concepts including:
- Short Text
- Long Text
- Dropdown
- Single Choice
- Multiple Choice
Use forms when collecting information before ticket creation saves meaningful support time.
Technical Support Form ExampleField 1
Label: What problem are you experiencing?
Type: Long Text
Required: Yes
Field 2
Label: Issue Type
Type: Dropdown
Options:
- Launcher
- Game Client
- Patch
- Installation
- Connection
- Other
Required: Yes
Field 3
Label: Exact Error Message
Type: Short Text
Required: No
Field 4
Label: What have you already tried?
Type: Long Text
Required: No
Payment Support Form ExampleField 1
Label: Concern Type
Type: Single Choice
Options:
- Payment Pending
- Missing Purchase
- Payment Verification
- Other
Field 2
Label: Transaction Reference
Type: Short Text
Required: No
Field 3
Label: Describe your concern
Type: Long Text
Required: Yes
Do not ask members to submit secret payment credentials, passwords, verification codes, or other authentication information.
Bug Report Form ExampleField 1
Bug Title
Field 2
Description
Field 3
Steps to Reproduce
Field 4
Where Did It Happen?
Options:
- Launcher
- Login
- Game
- Website
- Other
Field 5
Additional Notes
This uses the current five-field maximum efficiently.
Free vs Premium FormsThe native implementation currently defines:
Free
One active Ticket Form across categories.
Premium
Separate forms per category.
For a Free server, create a more general form that can work across several categories.
For Premium, each department can have a more specialized intake form.
Example Free Shared FormA generic shared form could ask:
Concern
Long Text
Type
Dropdown:
- General
- Technical
- Account
- Payment
- Other
Additional Information
Long Text
This avoids needing separate forms.
Step 11 — Configure the Ticket PanelThe native Panel Builder allows you to customize:
- Title
- Content
- Button text
- Button style
- Optional emoji
- Live preview
Panel Title
Need Help?
Panel Content
Create a ticket if you need assistance with your account, game client, technical issue, or general concern.
Choose the appropriate support option so we can assist you faster.
Button Text
Create Support Ticket
Emoji
🎫
Example Application PanelPanel Title
Community Applications
Panel Content
Interested in joining our Guild or Streamer programs? Create an application ticket and complete the required information.
Button Text
Apply Now
Emoji
📝
Step 12 — Choose the Panel ChannelA Ticket Category can have a configured panel destination.
For example:
General Support Panel
→ #support
Bug Report Panel
→ #report-a-bug
Applications Panel
→ #applications
This is another mapping relationship:
Novus Ticket Category → Discord Panel Channel
Single-Panel StrategySmaller servers may prefer one Discord channel:
#create-ticket
with several ticket panel messages.
For example:
Panel 1
General & Technical Support
Panel 2
Payment Support
Panel 3
Applications
This keeps the server navigation simple.
Multi-Panel StrategyLarger communities may use:
#support-center
#payment-support
#applications
Each channel can contain the panel relevant to that department.
Use whichever structure is easiest for members to understand.
Step 13 — Publish the PanelOnce the category and panel settings are ready, publish the panel.
The native implementation can post the actual Discord embed/button and later update the published panel.
After publishing, test it using a normal Discord account.
Do not rely only on an Administrator account because Administrators can bypass many permission issues.
Step 14 — Create a Test TicketSelect the published ticket button.
Verify that the expected workflow begins.
Check:
- Correct panel
- Correct category
- Correct form
- Correct handler role
- Correct ticket location
- Correct ticket naming
- Correct welcome message
- Correct member access
- Correct staff access
If any of these are wrong, fix the configuration before releasing the panel publicly.
Complete Example — Gaming CommunityHere is a practical starter configuration.
Global Ticket Settings
Provider
NOVUS
Concurrent Tickets
1
Default Transcript Channel
#ticket-transcripts
Send Transcript to Owner
Enabled
Delete Delay
30 seconds
Category 1 — General Support
Discord Category
SUPPORT TICKETS
Prefix
support
Handler
@Support Staff
Panel Channel
#create-ticket
Form
Shared General Support Form
Category 2 — Technical Support
Discord Category
SUPPORT TICKETS
Prefix
tech
Handler
@Technical Staff
Panel Channel
#create-ticket
Form
Technical Support Form
Category 3 — Payment Support
Discord Category
PRIVATE SUPPORT
Prefix
payment
Handler
@Transaction Staff
Panel Channel
#payment-support
Form
Payment Support Form
This provides clear separation without creating an unnecessarily complicated structure.
Complete Example — SaaS CommunityNovus In-House Ticketing can also be used outside gaming communities.
For example:
Categories
Billing
→ Billing Team
Technical Support
→ Technical Team
Feature Request
→ Product Team
Account Support
→ Customer Success
Bug Report
→ Engineering
Different forms can collect information relevant to each department.
Planning for Google Sheets MappingIf your Novus deployment later uses Google Sheets integration, your native ticket design should use consistent names now.
For example, avoid changing between:
Tech
Technical
Technical Help
Tech Support
Use one consistent value:
Technical Support
This makes future mappings cleaner.
Example Google Sheets Ticket LogA future or enabled integration could map:
| Novus Source | Sheet Column |
|---|---|
| Ticket ID | Ticket ID |
| Ticket Owner | Member |
| Ticket Category | Category |
| Form: Issue Type | Issue Type |
| Created Date | Created At |
| Handler Role | Team |
| Final Status | Status |
| Resolution Summary | Resolution |
| Closed Date | Closed At |
The important idea is:
Source Field → Destination Column
Example Form-to-Sheet MappingSuppose your Bug Report form contains:
Bug Title
Description
Steps to Reproduce
Area
Then your Google Sheet could contain:
Column A
Ticket ID
Column B
Reporter
Column C
Bug Title
Column D
Description
Column E
Steps
Column F
Area
Column G
Status
Column H
Resolution
This turns ticket intake into structured data instead of requiring staff to manually copy the report.
Planning for Google Drive MappingGoogle Drive is more appropriate for full files and archives.
A future or enabled mapping might use:
Ticket Category: Technical Support
→ /Novus Tickets/Technical/
Ticket Category: Payment Support
→ /Novus Tickets/Payment/
Ticket Category: Bug Report
→ /Novus Tickets/Bugs/
Then each closed ticket could be stored using a consistent filename such as:
ticket-1042-transcript.html
Combining Discord, Sheets, and DriveA more advanced workflow could eventually look like:
Discord Ticket
↓
Novus In-House Ticket
↓
AI + Staff Support
↓
Resolved
↓
Google Sheets
Structured ticket record
↓
Google Drive
Full transcript archive
↓
Knowledge Base
Reusable verified solution when approved
This separates three different types of information:
Sheets
Structured reporting data
Drive
Full historical files
Knowledge Base
Reusable support knowledge
Avoid Sending Everything EverywhereDo not automatically map all ticket content to every integration.
For example, Payment Support may contain more sensitive information than a Bug Report.
Consider separate policies for:
- What gets stored
- Where it gets stored
- Who can access it
- How long it is retained
Integrations should follow the same privacy principles as your Discord support system.
Setup ChecklistBefore making Novus In-House Ticketing available to members, verify that:
- NOVUS is selected as the ticket provider.
- Concurrent ticket limits are configured.
- The default transcript destination is correct.
- Ticket owner transcript behavior is configured.
- Closed-ticket deletion delay is appropriate.
- Ticket Categories are created.
- Discord Categories are mapped correctly.
- Ticket prefixes are understandable.
- Handler roles are correct.
- Staff have access to the mapped Discord Categories.
- Members do not receive unintended access.
- Welcome messages are configured.
- Forms collect only necessary information.
- No form requests passwords or authentication codes.
- Panel channels are correct.
- Panel content is understandable.
- Published buttons work.
- A normal member can create a ticket.
- Staff can access the ticket.
- The correct form appears.
- The ticket appears in the expected location.
- Transcript settings are ready before public launch.
Next Step
After the global native ticket configuration is ready, the next step is building the actual member-facing entry point.
Continue to Creating & Publishing a Native Ticket Panel, where we'll cover panel design, category-to-panel mapping, button configuration, practical multi-panel setups, and real Discord use cases.