Support Tickets
The support ticket system allows your customers to submit and track support requests directly within the panel. Administrators and moderators can manage tickets, assign staff, set priorities, and track SLA compliance.
Enabling the Ticket System
Navigate to Admin > Settings > Features and enable the Support Tickets toggle. Once enabled, a "Support" section appears in the customer sidebar and an "Admin > Support" section becomes available to staff.
Ticket Categories
Categories help organize tickets by topic. Navigate to Admin > Support > Categories to manage them.
Each category has:
- Name -- The display name (e.g., "Server Issues", "Billing Questions").
- Slug -- A URL-safe identifier, auto-generated from the name.
- Description -- Optional text explaining what the category covers.
- Color -- A hex color code used for visual identification in the ticket list.
- Icon -- An icon name from the Lucide icon set (e.g.,
server,credit-card). - Display Order -- Controls the sort order in the category selector.
- Active -- Inactive categories are hidden from the ticket creation form.
Departments
Tickets are also classified by department. The available departments are: General, Technical, Billing, Sales, and Abuse. Departments are fixed and cannot be created or deleted, but customers select one when submitting a ticket.
Ticket Workflow
Tickets progress through the following statuses:
- Open -- Newly submitted by the customer.
- Awaiting Reply -- Waiting for staff to respond.
- In Progress -- Staff is actively working on the issue.
- On Hold -- Ticket is paused (e.g., waiting for external action).
- Waiting on Customer -- Staff has replied and is waiting for the customer's response.
- Waiting on Staff -- Customer has replied and is waiting for staff.
- Resolved -- The issue has been resolved. The customer can reopen if needed.
- Closed -- The ticket is closed and no further replies are accepted.
Staff members update the status manually via the ticket detail page.
Priority Levels
Each ticket has a priority that influences SLA timers:
- Low -- Non-urgent issues with no immediate impact.
- Medium -- Standard issues affecting normal usage.
- High -- Significant issues requiring prompt attention.
- Urgent -- Critical issues causing service outage or data loss.
Customers select a priority when creating a ticket. Staff can adjust it at any time.
SLA Configuration
Service Level Agreement settings define response time targets per priority level. Configure SLA settings under Admin > Support > Settings:
- Set the target response time in minutes for each priority level.
- When the SLA timer expires, the ticket is flagged as SLA Breached.
- SLA timers pause automatically when the ticket is in "On Hold" or "Waiting on Customer" status.
The SLA due date and breach status are visible on each ticket.
Auto-Close Settings
Configure automatic ticket closure under Admin > Support > Settings:
- Auto-Close After -- Number of days of inactivity before a resolved ticket is automatically closed.
- Tickets in "Resolved" or "Waiting on Customer" status are eligible for auto-close.
- Customers are notified before auto-closure.
Internal Notes
Staff can add internal notes to a ticket that are not visible to the customer. Use internal notes to document investigation steps, coordinate between staff members, or record decisions. When replying to a ticket, toggle the Internal Note checkbox to mark the message as staff-only.
File Attachments
Both customers and staff can attach files to ticket messages. Each attachment records the original filename, file size, and MIME type. Attachments are stored on the panel server and accessible via a secure download URL. Configure maximum file size limits in the panel settings.
WHMCS Sync
If you use WHMCS for billing, BadgerPanel can synchronize tickets between the two systems. Enable WHMCS sync under Admin > Support > Settings and configure the WHMCS API credentials. When enabled:
- Tickets created in BadgerPanel are mirrored to WHMCS.
- Replies and status changes are synchronized bidirectionally.
- The
whmcs_ticket_idfield tracks the linked WHMCS ticket.
Synchronization runs periodically and can also be triggered manually from the ticket detail page.