Skip to main content

Support Ticket System

The OmniCRM Support Ticket System provides a comprehensive platform for managing customer support requests, tracking issues, and maintaining detailed communication history with customers.

See also: FAQs <support_faqs> for self-service knowledge base, Customer Care <customer_care> for impersonation and troubleshooting, Customers <basics_customers> for customer management.

Support Tickets List View Figure 1: Support tickets list showing all tickets with filtering, search, status, priority, and assigned staff

Overview

The ticket system enables:

  1. Centralized Support — Track all customer issues in one place
  2. Email Integration — Automatically create tickets from customer emails
  3. Collaboration — Multiple staff can work on tickets together
  4. Knowledge Base — Link FAQs to common issues for faster resolution
  5. SLA Tracking — Monitor ticket age and response times
  6. Customer Portal — Customers can view and respond to their tickets
  7. Audit Trail — Complete history of all ticket interactions

Key Features

Ticket Management

  • Create Tickets — Manual creation or automatic from email
  • Update Tickets — Add comments, change status, reassign
  • Attachments — Upload files (images, documents, logs)
  • Tags — Categorize tickets for reporting and filtering
  • Search — Full-text search across tickets, updates, and attachments
  • Filtering — Filter by status, priority, assignee, customer, service
  • Real-Time Views — Track who is currently viewing each ticket
  • Last Activity — See when tickets were last viewed or updated

Communication

  • Email Notifications — Automatic notifications on ticket updates
  • In-App Notifications — Real-time notifications in the OmniCRM interface
  • @Mentions — Mention staff members with @username to notify them
  • Subscribers — Add staff and contacts to ticket notifications
  • Customer Visibility — Control which updates customers can see
  • Internal Notes — Add private notes not visible to customers
  • Email Threading — Automatic email thread tracking
  • Active Viewers — See who is currently viewing the ticket in real-time

Service Integration

  • Link to Services — Associate tickets with specific customer services
  • Service Context — View service details, usage, and history from ticket
  • Quick Actions — Top-up, view addons, edit service directly from ticket

Ticket Lifecycle

1. Ticket Creation

Via Web UI:

  1. Navigate to Support → Tickets
  2. Click Create Ticket
  3. Fill in ticket details:
    • Title (required)
    • Description (required)
    • Customer (optional, can be assigned later)
    • Service (optional, links to specific customer service)
    • Priority (Low, Medium, High, Urgent)
    • Status (Open, In Progress, On Hold, Resolved, Closed)
    • Tags (for categorization)
  4. Click Create

Via Email:

Customers can create tickets by emailing your support address. The system automatically:

  • Creates a ticket from the email subject and body
  • Links to customer if sender email matches a contact
  • Adds email attachments to the ticket
  • Sends confirmation to customer

Via API:

POST /crm/ticket/

Request:

{
"title": "Cannot access voicemail",
"description": "Customer reports voicemail not working since yesterday",
"customer_id": 290,
"service_id": 167,
"priority": "High",
"status": "Open",
"tags": "technical,voicemail"
}

2. Ticket Assignment

Tickets can be assigned to support staff for handling:

  1. Manual Assignment — Click "Assign" and select staff member
  2. Auto-Assignment — Automatically assign based on rules (future feature)
  3. Reassignment — Transfer tickets between staff members
  4. Unassigned — Tickets can remain unassigned in queue

When a ticket is assigned:

  • Assigned staff receives email notification
  • Staff is automatically subscribed to ticket updates
  • Ticket appears in their "My Tickets" view

3. Working on Tickets

Adding Updates:

  1. Open the ticket
  2. Click Add Update or reply to the ticket
  3. Enter your message
  4. Use @username to mention and notify specific staff members (e.g., "@john can you help with this?")
  5. Choose visibility:
    • Customer Visible — Customer will see this update
    • Internal Only — Private note for staff
  6. Click Submit

@Mentions:

When you mention a staff member using @username in a ticket update:

  • They receive an in-app notification
  • They are automatically subscribed to the ticket
  • The notification includes a link directly to the ticket
  • Works in both customer-visible and internal updates

Attaching Files:

  1. Click Attach Files button
  2. Select files (max 10MB each)
  3. Files are uploaded and linked to ticket
  4. Supported formats: PDF, images, documents, archives

Changing Status:

  • Open — New ticket, awaiting initial response
  • In Progress — Staff is actively working on the issue
  • On Hold — Waiting for customer response or external dependency
  • Resolved — Issue has been fixed, awaiting confirmation
  • Closed — Ticket is complete and archived

Setting Priority:

  • Urgent — Critical issue affecting service (SLA: 1 hour)
  • High — Important issue, service degraded (SLA: 4 hours)
  • Medium — Standard issue (SLA: 24 hours)
  • Low — Minor issue or inquiry (SLA: 48 hours)

4. Ticket Resolution

When resolving a ticket:

  1. Add final update explaining resolution
  2. Change status to Resolved
  3. Customer receives notification
  4. Customer can reopen if issue persists
  5. After confirmation, change to Closed

Ticket Details View

When viewing a ticket, you see the complete conversation thread with all updates, attachments, and a comprehensive sidebar showing customer and service information.

Ticket Detail View Figure 2: Ticket detail page showing the conversation thread, updates, and ticket metadata

Ticket Details Sidebar

Each ticket displays a comprehensive sidebar with customer information, service details, and quick actions:

Ticket Sidebar Figure 3: Ticket sidebar with customer info, service details, assigned staff, and quick action buttons

The sidebar includes:

Customer Information

  • Customer Name — With link to customer profile
  • Contact Email — Primary email where responses are sent
  • Edit Customer — Quick edit customer assignment

Service Information

When a service is linked:

  • Service ID — Unique identifier
  • Service Name — Descriptive name
  • Service Dates — Start and end dates
  • Auto-Renew — Renewal status
  • Service Status — Active, Inactive, Suspended
  • Service Type — Mobile, IPTV, Internet, VoIP
  • Quick Actions:
    • Add On — Add packages/features to service
    • Delete — Remove service (with confirmation)
    • Edit Service — Full service management modal

Ticket Metadata

  • Ticket Number — Unique reference (e.g., TKT-2026-00042)
  • Created Date — When ticket was opened
  • Last Updated — Most recent activity timestamp
  • Assigned To — Current owner of ticket
  • Priority Level — With color coding
  • Current Status — With status badge
  • Tags — Categorization labels

Subscribers

List of users and contacts receiving notifications:

  • Auto-subscribed — Creator and assignee
  • Manual subscriptions — Other staff or contacts
  • Add/Remove — Manage subscriber list

Email Integration

Inbound Email Processing

The system processes incoming support emails:

  1. Email Received — Email arrives at support address
  2. Parse Email — Extract sender, subject, body, attachments
  3. Identify Customer — Match sender email to contact
  4. Create or Update — Create new ticket or add to existing thread
  5. Notify Staff — Alert assigned staff or team
  6. Send Confirmation — Confirm receipt to customer

Email Headers Used:

  • From — Customer email address
  • Subject — Ticket title (with ticket number if reply)
  • In-Reply-To — Thread tracking for responses
  • Message-ID — Unique message identifier

Outbound Notifications

Staff updates trigger email notifications to:

  • Customer — If update is marked customer-visible
  • Subscribers — All subscribed staff and contacts
  • Assignee — When ticket is assigned or reassigned

Email Template Variables:

  • {{ticket_number}} — Ticket reference
  • {{customer_name}} — Customer name
  • {{update_text}} — Update content
  • {{staff_name}} — Name of staff who added update
  • {{ticket_url}} — Direct link to ticket

Customer Portal Access

Customers can view their tickets through the self-care portal:

  1. Login — Authenticate to customer portal
  2. Navigate — Go to "Support" or "My Tickets"
  3. View Tickets — See all their tickets and status
  4. View Details — Read full ticket history (customer-visible updates only)
  5. Reply — Add responses to open tickets
  6. Attachments — View and download attachments
  7. Status — See current ticket status and priority

Customer View Restrictions:

  • Customers only see their own tickets
  • Internal-only updates are hidden
  • Staff-only attachments are not accessible
  • System changes (assignments, status) are summarized

Subscribers and Notifications

Auto-Subscription

Automatically subscribed when:

  • Creating a ticket — Ticket creator
  • Assigned to ticket — Current assignee
  • Mentioned — Staff @mentioned in updates using @username syntax

Manual Subscription

Add subscribers:

  1. Open ticket
  2. Click Subscribers section
  3. Click Add Subscriber
  4. Select user or contact
  5. Click Add

Remove subscribers:

  1. Click X next to subscriber name
  2. Confirm removal
  3. They will no longer receive notifications

Notification Preferences

Staff receive notifications through multiple channels:

  • In-App Notifications — Real-time notifications in the notification dropdown
  • Email Notifications — Configurable email notifications for ticket updates
  • @Mention Notifications — Immediate alerts when mentioned in ticket updates
  • Frequency — Immediate, hourly digest, daily digest
  • Types — Which events trigger notifications (new tickets, updates, assignments, mentions)

Searching and Filtering

Global search bar searches:

  • Ticket titles and descriptions
  • Ticket numbers
  • Customer names
  • Update content
  • Attachment names

Advanced Filtering

Filter tickets by:

  • Status — Open, In Progress, Resolved, etc.
  • Priority — Urgent, High, Medium, Low
  • Assigned To — Specific staff member or unassigned
  • Customer — Specific customer
  • Service — Specific service
  • Tags — One or more tags
  • Date Range — Created or updated within dates
  • Has Attachments — Tickets with/without files

Saved Filters

Create and save custom filter combinations:

  1. Apply Filters — Set your desired filters
  2. Save Filter — Click "Save Filter" button
  3. Name Filter — Give it a descriptive name
  4. Quick Access — Appears in filter dropdown

Common Saved Filters:

  • "My Open Tickets" — Assigned to me, status Open or In Progress
  • "Urgent Queue" — Priority Urgent, status Open
  • "Needs Response" — Status On Hold, awaiting customer
  • "Recently Closed" — Closed in last 7 days

Reporting and Analytics

Ticket Metrics

Track support performance:

  • Total Tickets — Created, resolved, closed
  • Average Resolution Time — Time to resolve by priority
  • First Response Time — Time to first staff update
  • Tickets by Status — Distribution across statuses
  • Tickets by Priority — Urgent vs High vs Medium vs Low
  • Tickets by Staff — Workload per staff member
  • Tickets by Tag — Common issue categories

SLA Compliance

Monitor service level agreement adherence:

  • Within SLA — Tickets resolved within target
  • SLA Breached — Tickets exceeding target times
  • At Risk — Tickets approaching SLA deadline
  • Average Response — Actual vs target response times

Customer Insights

Analyze customer support patterns:

  • Top Ticket Creators — Customers with most tickets
  • Repeat Issues — Customers with recurring problems
  • Service-Related — Tickets by service type
  • Resolution Success — First-contact resolution rate

Integration with Services

Linking Services to Tickets

When a ticket relates to a specific service:

  1. Select Service — Choose from customer's services
  2. Service Context — View service details in sidebar
  3. Quick Actions — Manage service from ticket
  4. Service History — See related tickets and changes

Service Quick Actions

From ticket sidebar:

Add Ons:

  1. Click Add On button
  2. Addons modal opens
  3. Select packages to add
  4. Confirm and apply
  5. Service updated automatically

Delete Service:

  1. Click Delete button
  2. Confirmation dialog appears
  3. Confirm deletion
  4. Service is removed
  5. Ticket updated with action

Edit Service:

  1. Click Edit Service button
  2. Full service modal opens
  3. Make changes to service configuration
  4. Save changes
  5. Return to ticket

Best Practices

Ticket Creation

  1. Descriptive Titles — Clear, concise summary of issue
  2. Detailed Description — Include all relevant information
  3. Correct Priority — Set based on actual impact
  4. Link Service — Always link to affected service if applicable
  5. Add Tags — Use consistent tags for categorization

Ticket Management

  1. Timely Updates — Update tickets regularly, even if "no progress"
  2. Status Accuracy — Keep status current (don't leave resolved tickets open)
  3. Customer Communication — Keep customers informed of progress
  4. Internal Notes — Document troubleshooting steps internally
  5. Resolution Documentation — Clearly state what fixed the issue

Knowledge Transfer

  1. Link FAQs — Reference or create FAQs for common issues
  2. Document Solutions — Add resolution details for future reference
  3. Tag Appropriately — Makes finding similar tickets easier
  4. Share Learnings — Discuss complex resolutions with team

Customer Experience

  1. First Contact — Respond quickly to acknowledge receipt
  2. Set Expectations — Tell customer when to expect resolution
  3. Professional Tone — Maintain courtesy and professionalism
  4. Clear Language — Avoid technical jargon with customers
  5. Confirm Resolution — Ensure customer satisfied before closing

Notification System Integration:

  • Added in-app notification support for ticket events
  • @mention functionality to notify specific staff members
  • Integration with Notification API for external systems
  • Real-time notification delivery

Real-Time Collaboration:

  • Active viewer tracking - see who is currently viewing each ticket
  • Last activity timestamps for tickets
  • Real-time updates when multiple users work on same ticket

Enhanced Communication:

  • @mentions automatically subscribe mentioned users
  • Improved notification preferences with multiple channels
  • Better integration between email and in-app notifications

See also: Notification API <integrations_notifications> for details on sending notifications from external systems.

API Reference

Create Ticket

POST /crm/ticket/

Required Permission: create_ticket

Get Ticket

GET /crm/ticket/ticket_id/{ticket_id}

Required Permission: view_ticket

Update Ticket

PATCH /crm/ticket/ticket_id/{ticket_id}

Required Permission: update_ticket

Delete Ticket

DELETE /crm/ticket/ticket_id/{ticket_id}

Required Permission: delete_ticket

Add Ticket Update

POST /crm/ticket/ticket_id/{ticket_id}/updates

Upload Attachment

POST /crm/ticket/ticket_id/{ticket_id}/attachments

Required Permission: upload_attachment

Subscribe to Ticket

POST /crm/ticket/ticket_id/{ticket_id}/subscribe

Required Permission: subscribe_ticket

Troubleshooting

Issue: Emails not creating tickets

  • Solution: Check email integration configuration
  • Solution: Verify sender email matches a customer contact
  • Solution: Review email processing logs

Issue: Customer not receiving notifications

  • Solution: Verify contact email is correct
  • Solution: Check update is marked "customer visible"
  • Solution: Confirm email not blocked/spam

Issue: Cannot upload attachments

  • Solution: Check file size (max 10MB)
  • Solution: Verify file type is allowed
  • Solution: Check uploads directory permissions

Issue: Service quick actions not working

  • Solution: Verify service is properly linked to ticket
  • Solution: Check user has required service permissions
  • Solution: Confirm service data loaded successfully