Ticketing
Manage support requests with built-in ticketing, SLA policies, and time tracking.
Creating Tickets
Tickets can be created from multiple sources:
- Manual — Click "New Ticket" in the Tickets section
- From an alert — Escalate any alert to a ticket with one click
- From email — Inbound emails automatically create tickets (see Email-to-Ticket)
- From the API — Programmatically create tickets via
POST /api/tickets
Ticket Fields
| Field | Required | Description |
|---|---|---|
| Title | Yes | Short summary of the issue |
| Description | No | Detailed information, steps to reproduce, screenshots |
| Priority | No | low, medium (default), high, critical |
| Category | No | Custom category for ticket classification |
| Agent | No | Link the ticket to a specific endpoint |
| Assigned To | No | Assign to a specific technician |
Ticket Lifecycle
Tickets move through these statuses:
- Open — Newly created, awaiting triage
- In Progress — A technician is actively working on it
- Waiting — Waiting on the end user or a third party
- Resolved — The issue has been fixed
- Closed — Confirmed resolved, no further action needed
Comments
Add comments to tickets for ongoing communication. Comments support two modes:
- Public comments — Visible to all parties including end users (when email notifications are configured)
- Internal notes — Visible only to technicians. Use for private troubleshooting notes or handoff information.
POST /api/tickets/:id/comments
{
"body": "Checked the service logs — the crash was caused by a corrupted config file. Replacing with default.",
"internal": true
} Time Tracking
Log time spent on each ticket for billing and productivity tracking:
POST /api/tickets/:id/time
{
"minutes": 30,
"description": "Investigated crash logs and replaced corrupted config",
"billable": true
} Time entries include the technician who logged them, the duration in minutes, a description, and whether the time is billable.
SLA Policies
SLA (Service Level Agreement) policies define response and resolution time targets based on ticket priority. Configure your SLA under Settings → SLA Policy.
Default SLA Times
| Priority | Response Time | Resolution Time |
|---|---|---|
| Critical | 30 minutes | 4 hours |
| High | 2 hours | 8 hours |
| Medium | 8 hours | 48 hours |
| Low | 24 hours | 7 days |
Response time is measured from ticket creation to the first non-internal comment or status change. Resolution time is measured from creation to the ticket being marked as resolved.
SLA Breaches
View tickets that have breached their SLA at Tickets → SLA Breaches or via the API:
GET /api/sla/breaches Each breach entry includes which SLA was violated (response, resolve, or both).
Contracts
Create service contracts to group billable work for a client. Contracts can be:
- Time-based — A bank of hours (e.g., 20 hours/month)
- Fixed-price — A flat fee for a defined scope of work
Link time entries to contracts for automatic billing calculations.
Invoices
Generate invoices from accumulated time entries and contract terms. Invoices include:
- Line items with descriptions and time logged
- Billable hours and rates
- Contract references
- Total amount
Export invoices as PDF for sending to clients.
Ticket Templates
Create templates for common ticket types (e.g., "New Employee Setup", "VPN Configuration Request") to standardize workflows and pre-fill fields.