CRMconnect Azuvio · Docs

Workflow: Support Ticket Lifecycle

Modules involved: Support Tickets · Email Pipe · Spam Filters · Knowledge Base · Surveys
Who uses it: Support team, Customer success agents, Clients (portal)
Typical duration: Hours – days (depends on issue complexity)

Overview

The complete lifecycle of a support ticket: from opening (automatic email, client portal, or manually by an agent) through to resolution and feedback. Includes spam filtering, department routing, reply tracking, and optionally feeding the Knowledge Base with solutions found.


Flow Diagram

TICKET SOURCES
  │
  ├── [EMAIL → PIPE.PHP]
  │     │  email received at department address
  │     │  → spam filter → new ticket OR reply to existing
  │     │  (max 10 tickets / 15 min / sender — rate limiting)
  │
  ├── [CLIENT PORTAL]
  │     │  client opens ticket from their account
  │
  └── [MANUAL — by agent]
        │  agent creates ticket from `/admin/tickets`
        │
        ↓
[NEW TICKET]
  │  status: configurable (e.g. New → In Progress → Answered → Closed)
  │  priority: Low / Medium / High / Urgent
  │  department: assigned based on destination email address
  │
  ├── AGENT REPLIES
  │     │  reply added → status updated
  │     │  client receives email with the reply
  │     │  ↓ Client replies from email → reply added automatically via pipe
  │
  ├── PREDEFINED REPLY
  │     │  agent selects standard reply from library
  │
  └── ESCALATION
        │  priority increased or ticket transferred to another department
        │
        ↓
[TICKET RESOLVED]
  │  status → Answered / Closed
  │  ↓ optional: Knowledge Base article created from solution
  │  ↓ optional: satisfaction survey sent to client
  │
[TICKET CLOSED ✓]

Step by Step

1. Opening the Ticket — Entry Sources

A. Email Pipe (automatic)

How it works:

  1. An email arrives at the department address (e.g. support@company.com)
  2. The mail server forwards the message to /pipe.php in the CRM
  3. The system checks the spam filter (see below)
  4. If the subject contains [Ticket ID: 123] → adds as a reply to the existing ticket
  5. If not → creates a new ticket with the sender's details

Rate limiting: Maximum 10 new tickets / 15 minutes per email address — prevents flooding.

Configurable options in email pipe:

Option Description
email_piping_only_registered Accept tickets only from emails registered as clients
email_piping_only_replies Accept only replies to existing tickets (does not create new tickets)
email_piping_default_priority Default priority for tickets from email
default_ticket_reply_status Default status when a reply is added (default: 3 = Answered)

Department routing:
The ticket's department is determined automatically by the To: address in the email — each department has a unique address configured in settings.

B. Client Portal

The logged-in client fills out the ticket form in their portal:

  • Subject + description
  • Department (dropdown)
  • Priority (if selection is permitted)
  • Attachments

C. Manual by Agent

From /admin/ticketsAdd Ticket — the agent fills in all fields including the associated client.


2. Spam Filtering

Where: /admin/spam_filters/view/tickets

Before the ticket is created from email, the system checks three types of filters:

Filter type Field checked Examples
sender Sender email address spam@domain.com
subject Email subject *promotional*, *unsubscribe*
phrase Message content Spam keywords

Automatically blocked subjects (hardcoded in pipe.php):

  • Mail delivery failed
  • failure notice
  • Returned mail
  • Undelivered Mail

If a filter is active and matches → the email is ignored (no ticket is created).


3. Ticket Structure

Key fields (tbltickets):

Field Notes
ticketid Unique ID
subject Issue title
message Initial description
status FK → tbltickets_status (user-configurable)
priority FK → tbltickets_priorities
department FK → tbldepartments
userid / contactid Associated client
email / name External sender (if not a registered client)
admin Assigned staff member
service Service category (optional)
lastreply Timestamp of last reply — for informal SLA measurement
adminread / clientread Read/unread flags for each party

Statuses: Fully configurable from /admin/tickets/statuses. Common examples:

Typical status Description
New New ticket, unassigned
In Progress Being worked on by an agent
Answered Agent has replied — awaiting client
On Hold Suspended (waiting for external information)
Closed Resolved and closed
Spam Manually marked as spam

Priorities: /admin/tickets/priorities

Value Priority
0 Low
1 Medium
2 High
3 Urgent

4. Ticket Management — Replies and Escalation

Adding an agent reply

Where: From the open ticket → reply field

  • The agent writes the reply or selects a Predefined Reply from the library
  • Can attach files
  • Selects the status after sending (e.g. Answered, On Hold)
  • The client automatically receives the email with the reply

Predefined reply (/admin/tickets/predefined_replies):
A library of standard replies for common situations — agents insert them with a single click, saving time and ensuring communication consistency.

Client reply (from email)

The client replies to the received email → pipe.php identifies [Ticket ID: X] in the subject → automatically added as a reply to the ticket → agent notification.

Client reply (from portal)

The client enters the portal → views the ticket → adds a reply → agent notification.

Escalation

There is no automatic SLA, but the agent can:

  • Change the priority (Low → Urgent)
  • Change the department (re-route)
  • Change the assigned agent
  • Add an internal note (visible to staff only, not to the client)

5. Closing and Leveraging the Ticket

Marking as Closed

The agent changes the status → Closed. The client receives a closure notification.

Creating a Knowledge Base Article

If the solution found is valuable for other users → Add to Knowledge Base button from the resolved ticket.

Where it is published: /admin/knowledge_base — articles are indexed and searchable by all users or portal clients (per visibility configuration).

Satisfaction Survey (optional)

When the ticket is closed → automatic trigger via Workflow Automation → survey sent to the client (from the Surveys module).

Example automation:

Trigger: Ticket status → Closed
Wait: 1 hour
Action: Send "Support Satisfaction" survey to client's email

What Is Created Automatically

Event Created automatically
Email received at department address New ticket with department, priority, and client detected automatically
Email with [Ticket ID: X] in subject Reply added to the existing ticket
Agent reply sent Client notification email with reply content
Client reply received Agent notification; lastreply updated; adminread = 0
Ticket closed Client notification; optional survey trigger

Before activating email pipe, configure:

  1. Departments/admin/tickets/services — including a dedicated email address per department
  2. Statuses/admin/tickets/statuses — with distinctive colors
  3. Priorities/admin/tickets/priorities
  4. Predefined Replies/admin/tickets/predefined_replies — top 10-20 common situations
  5. Spam Filters/admin/spam_filters/view/tickets — known addresses and phrases
  6. Email pipe — configure forwarding on the mail server to pipe.php

Points Where the Flow Can Block

Problem Likely cause Solution
Emails do not create tickets Pipe.php not connected or CRON inactive Check email forwarding + CRON job for pipe
New ticket goes to wrong department To: address does not match any department Update email addresses in /admin/departments
Client receives email loop Department address = CRM reply address Verify that sending and receiving addresses are different
External replies do not attach to ticket [Ticket ID: X] removed from subject by email client Instruct clients to keep the subject; or enable matching by sender email
Too many spam tickets Spam filters not configured Add senders and phrases in /admin/spam_filters
Agent cannot see ticket Ticket is in a different department without access Check department permissions in the agent's role

Relevant Reports

  • Knowledge Base Report/admin/reports/knowledge_base_articles — articles by views
  • Ticket Audit/admin/utilities/pipe_log — pipe.php log with all processed emails
  • Ticket Statistics — volume by department, priority, status, response time

Modules Involved — Detailed Documentation

← Back to Workflows