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.
Figure 1: Support tickets list showing all tickets with filtering, search, status, priority, and assigned staff
Overview
The ticket system enables:
- Centralized Support — Track all customer issues in one place
- Email Integration — Automatically create tickets from customer emails
- Collaboration — Multiple staff can work on tickets together
- Knowledge Base — Link FAQs to common issues for faster resolution
- SLA Tracking — Monitor ticket age and response times
- Customer Portal — Customers can view and respond to their tickets
- 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:
- Navigate to Support → Tickets
- Click Create Ticket
- 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)
- 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:
- Manual Assignment — Click "Assign" and select staff member
- Auto-Assignment — Automatically assign based on rules (future feature)
- Reassignment — Transfer tickets between staff members
- 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:
- Open the ticket
- Click Add Update or reply to the ticket
- Enter your message
- Use @username to mention and notify specific staff members (e.g., "@john can you help with this?")
- Choose visibility:
- Customer Visible — Customer will see this update
- Internal Only — Private note for staff
- 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:
- Click Attach Files button
- Select files (max 10MB each)
- Files are uploaded and linked to ticket
- 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:
- Add final update explaining resolution
- Change status to Resolved
- Customer receives notification
- Customer can reopen if issue persists
- 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.
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:
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:
- Email Received — Email arrives at support address
- Parse Email — Extract sender, subject, body, attachments
- Identify Customer — Match sender email to contact
- Create or Update — Create new ticket or add to existing thread
- Notify Staff — Alert assigned staff or team
- Send Confirmation — Confirm receipt to customer
Email Headers Used:
From— Customer email addressSubject— Ticket title (with ticket number if reply)In-Reply-To— Thread tracking for responsesMessage-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:
- Login — Authenticate to customer portal
- Navigate — Go to "Support" or "My Tickets"
- View Tickets — See all their tickets and status
- View Details — Read full ticket history (customer-visible updates only)
- Reply — Add responses to open tickets
- Attachments — View and download attachments
- 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:
- Open ticket
- Click Subscribers section
- Click Add Subscriber
- Select user or contact
- Click Add
Remove subscribers:
- Click X next to subscriber name
- Confirm removal
- 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
Quick Search
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:
- Apply Filters — Set your desired filters
- Save Filter — Click "Save Filter" button
- Name Filter — Give it a descriptive name
- 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:
- Select Service — Choose from customer's services
- Service Context — View service details in sidebar
- Quick Actions — Manage service from ticket
- Service History — See related tickets and changes
Service Quick Actions
From ticket sidebar:
Add Ons:
- Click Add On button
- Addons modal opens
- Select packages to add
- Confirm and apply
- Service updated automatically
Delete Service:
- Click Delete button
- Confirmation dialog appears
- Confirm deletion
- Service is removed
- Ticket updated with action
Edit Service:
- Click Edit Service button
- Full service modal opens
- Make changes to service configuration
- Save changes
- Return to ticket
Best Practices
Ticket Creation
- Descriptive Titles — Clear, concise summary of issue
- Detailed Description — Include all relevant information
- Correct Priority — Set based on actual impact
- Link Service — Always link to affected service if applicable
- Add Tags — Use consistent tags for categorization
Ticket Management
- Timely Updates — Update tickets regularly, even if "no progress"
- Status Accuracy — Keep status current (don't leave resolved tickets open)
- Customer Communication — Keep customers informed of progress
- Internal Notes — Document troubleshooting steps internally
- Resolution Documentation — Clearly state what fixed the issue
Knowledge Transfer
- Link FAQs — Reference or create FAQs for common issues
- Document Solutions — Add resolution details for future reference
- Tag Appropriately — Makes finding similar tickets easier
- Share Learnings — Discuss complex resolutions with team
Customer Experience
- First Contact — Respond quickly to acknowledge receipt
- Set Expectations — Tell customer when to expect resolution
- Professional Tone — Maintain courtesy and professionalism
- Clear Language — Avoid technical jargon with customers
- 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