Skip to content

Tickets

A full-featured help desk ticketing system for managing customer support requests, incidents, and problems.

The Tickets module provides enterprise-grade support management with SLA policies (7 metric types), multi-channel intake, team collaboration, workflow automation, and satisfaction ratings.

Related Modules:

FieldDescriptionRequired
Ticket NumberAuto-incrementing per organizationAuto
SubjectTicket title (max 500 chars)Yes
DescriptionFull description of the issueNo
StatusCurrent stateYes
PriorityUrgency levelYes
TypeClassificationNo
ChannelSource of the ticketNo
FieldDescription
RequesterPerson who submitted (internal user)
Requester EmailEmail for external/guest requesters
Requester NameName for external/guest requesters
AssigneePrimary agent responsible
OwnerTicket owner (for RBAC visibility)
GroupAssigned team/department
LanguageRequester’s preferred language (ISO 639-1)
FieldDescription
AccountAssociated customer account
ContactAssociated contact person
ProblemLinked problem ticket (for incidents)
Follow-up SourceOriginal ticket (for follow-ups)
Due DateDeadline for task-type tickets
FieldDescription
CC RecipientsAdditional email recipients
BCC RecipientsHidden email recipients
FieldDescription
Reopened CountHow many times the ticket was reopened
Reply CountTotal replies
Public Reply CountPublic replies only
StatusDescription
OpenNew ticket, not yet worked on
In ProgressAgent is actively working on it
PendingWaiting for requester or external action
ResolvedIssue resolved, awaiting closure
ClosedFinal state, conversation complete

When a ticket enters Pending status, a pending reason can be selected (e.g., “Waiting for customer reply”, “Waiting for third party”). Pending reasons are configurable in Settings.

TypeUse Case
QuestionGeneral inquiry from a user
IncidentService disruption or issue
ProblemRoot cause investigation
TaskWork that needs to be done
  • Incidents can be linked to a Problem ticket to track root cause
  • Multiple incidents can reference the same problem
  • Resolving the problem helps track all related incidents

Create a follow-up ticket from a resolved/closed ticket to continue the conversation with full context.

PrioritySLA Impact
LowLongest response/resolution targets
MediumDefault priority
HighFaster targets
UrgentNear-immediate response expected
CriticalHighest urgency, shortest SLA targets

Tickets can arrive from 7 different channels:

ChannelDescription
WebCreated via the web interface
EmailReceived via email
ChatLive chat conversation
PhonePhone call logged as ticket
SocialSocial media message
APICreated via API integration
PortalCustomer self-service portal

Table view with columns for ticket number, subject, status, priority, type, assignee, category, and created date. Supports server-side pagination, sorting, and filtering.

Status-based board with drag-and-drop to update ticket status. Uses cursor-based pagination for infinite scroll within each column.

  • Status, Priority, Type, Category
  • Assignee, Group/Team, Channel
  • Text search on subject

Each ticket has a conversation thread supporting:

  • Rich text formatting (bold, italic, underline, lists, links)
  • File attachments with preview and download
  • Public replies visible to the requester
  • Private notes visible only to agents
  • Agent mentions
  • Nested/threaded replies

Users can follow a ticket to receive notifications without being assigned. Watchers affect ticket visibility - if a user follows a ticket, they can see it regardless of ownership visibility settings.

Service Level Agreement policies define response and resolution time targets based on ticket priority.

The system supports 7 metric types:

MetricDescription
First Reply TimeTime to first agent response
Next Reply TimeTime between requester message and next agent reply
Periodic UpdateRegular update frequency requirement
Pausable UpdateUpdate metric that pauses during “Pending” status
Requester Wait TimeTotal time requester waits (never pauses)
Agent Work TimeActive agent working time (pauses during “Pending”)
Total Resolution TimeTime from creation to resolution

Each metric has separate targets per priority level (Low, Medium/Normal, High, Urgent). Targets are defined in hours, minutes, and seconds.

SLA policies can be configured to count only business hours:

  • Business hours start/end time (default: 09:00-17:00)
  • Business days (default: Monday-Friday)
  • Timezone for calculations
  • Pause - When ticket enters “Pending” status, pausable metrics freeze
  • Resume - When ticket leaves “Pending” status, timers resume with adjusted due dates
  • Breach - When a metric’s due date passes, the ticket is marked as breached
  • Warning - 15 minutes before a breach, a warning notification is sent

Each ticket tracks breach status per metric via a JSON field:

  • Whether each metric has been breached
  • When the breach occurred
  • When the metric was achieved (if resolved before breach)

A background job runs every minute to:

  1. Check all open/in-progress/pending tickets with SLA policies
  2. Detect approaching deadlines (15-minute warning)
  3. Detect breaches when due dates pass
  4. Create in-app notifications for agents
  5. Trigger workflow automation (sla_warning, sla_breached events)
  6. Update per-metric breach tracking

Organize tickets with hierarchical categories:

  • Parent and child categories
  • Custom colors and icons (Lucide icons)
  • Display order control
  • Active/inactive toggle
  • Tickets can be assigned to multiple categories

Pre-written reply templates for quick responses:

  • Name and content (rich text)
  • Optional shortcut trigger (e.g., “/thanks”)
  • Shared with team or personal
  • Category grouping
  • Display ordering

After resolution, requesters can rate their experience:

  • 1-5 star rating
  • Optional comment/feedback
  • Supports both internal and external raters

Tickets can be escalated manually or automatically via SLA breach:

  • Records who escalated and to whom
  • Escalation reason
  • Automatic flag for SLA-triggered escalations
  • Workflow actions can escalate with priority bump, reassignment, and notification

Tickets support the polymorphic tagging system. Tags can be created, assigned, and filtered on.

Tickets support custom fields stored as JSON values. Custom fields can be defined per organization in Settings.

TriggerWhen It Fires
ticket_createdNew ticket created
ticket_updatedTicket modified
ticket_status_changedStatus transition
sla_warningSLA metric approaching deadline
sla_breachedSLA metric deadline passed
ActionDescription
update_ticketChange ticket fields (status, priority, assignee)
escalate_ticketEscalate with priority bump, reassignment, notification

Ticket visibility uses OR logic - a ticket is visible if:

  • User can see the assignee (via department visibility), OR
  • User can see the owner (via department visibility), OR
  • User is a follower/watcher on the ticket

This is different from contacts/deals which use simple ownership-based visibility.

EventDescription
Ticket CreatedNew ticket created
Ticket AssignedTicket assigned to you
Ticket Status ChangedStatus transition
SLA WarningSLA metric approaching breach
SLA BreachedSLA metric breached

Configure ticket-related settings under Settings:

  • Ticket Categories - Create/edit/reorder hierarchical categories
  • SLA Policies - Define response/resolution targets per priority for all 7 metrics
  • Pending Reasons - Configure reasons for pending status
  • Canned Responses - Create quick-reply templates

See Also: