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
TitleYesShort summary of the issue
DescriptionNoDetailed information, steps to reproduce, screenshots
PriorityNolow, medium (default), high, critical
CategoryNoCustom category for ticket classification
AgentNoLink the ticket to a specific endpoint
Assigned ToNoAssign to a specific technician

Ticket Lifecycle

Tickets move through these statuses:

  1. Open — Newly created, awaiting triage
  2. In Progress — A technician is actively working on it
  3. Waiting — Waiting on the end user or a third party
  4. Resolved — The issue has been fixed
  5. 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
Critical30 minutes4 hours
High2 hours8 hours
Medium8 hours48 hours
Low24 hours7 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.