...
Excerpt |
---|
|
The Support Manager provides a ticket system where clients and staff can create tickets through email and the web interface. |
Table of Contents |
---|
Table of Contents |
---|
maxLevel | 4 |
---|
minLevel | 2 |
---|
outline | true |
---|
class | toc |
---|
|
|
Description
The Support Manager is a support plugin included with Blesta. It may be installed under [Settings] > [Company] > [Plugins], but is not installed by default. It integrates a ticket system and knowledgebase to allow for clients to request support.
...
The ticket received email template allows for the following tags:
Tags | Description | Notes | Since |
---|
{ticket_hash_code} | A hash code for validating ticket replies | Required to be in the subject line to allow for tickets to be replied to by email |
|
|
{ticket.id} | The system-level ticket ID |
|
|
|
{ticket.code} | The ticket number | e.g. "1821914" |
|
|
{ticket.department_id} | The system-level department ID of the department this ticket belongs to |
| |
|
|
{ticket.staff_id} | The system-level staff ID of the staff member assigned to this ticket | May be empty |
|
|
{ticket.service_id} | The system-level service ID of the service this ticket is in relation to | May be empty |
|
|
{ticket.client_id} | The system-level client ID of the client this ticket is assigned to |
| |
|
|
{ticket.email} | The email address the ticket was emailed in from | Only set when the email address is piped in and unrecognized |
|
|
{ticket.summary} | A brief ticket summary |
| |
|
|
{ticket.priority} | The system-level ticket priority | e.g. "critical", "high", "medium", etc. |
|
|
{ticket.priority_language} | The language for the translated ticket priority | e.g. "Critical", "High", "Medium", etc. |
|
|
{ticket.status} | The system-level ticket status | e.g. "open", "awaiting_reply", "closed", etc. |
|
|
{ticket.status_language} | The language for the translated ticket status | e.g. "Open", "Awaiting Reply", "Closed", etc. |
|
|
{ticket.date_added} | The UTC datetime stamp of ticket creation | Formatted as "YYYY-MM-DD HH:MM:SS" |
|
|
{ticket.date_closed} | The UTC datetime stamp the ticket was closed | May be empty. Formatted as "YYYY-MM-DD HH:MM:SS" |
|
|
{ticket.reply_id} | The system-level reply ID attached to this ticket |
| |
|
|
{ticket.reply_staff_id} | The system-level staff ID of the staff member that sent this reply |
| |
|
|
{ticket.reply_type} | The system-level type of reply | i.e. "reply", "note", "log". Emails are only sent when the type is "reply" |
|
|
{ticket.reply_has_attachments} | Whether or not this specific reply has any attachments |
|
| v2.3.0 |
{ticket.has_attachments} | Whether or not any replies to this ticket have any attachments |
|
| v2.3.0 |
{ticket.details} | The ticket reply details in plain text |
| |
|
|
{ticket.details_html} | The ticket reply details in HTML |
| |
|
|
{ticket.reply_date_added} | The UTC datetime stamp of the reply | Formatted as "YYYY-MM-DD HH:MM:SS" |
|
|
{ticket.company_id} | The system-level company ID this ticket was created under |
| |
|
|
{ticket.department_name} | The name of the department this ticket belongs to |
| |
|
|
{ticket.department_email} | The email address of the department this ticket belongs to |
| |
|
|
{ticket.override_from_email} | Whether or not the email template's from address has been replaced with the department email | i.e. "1" or "0" | v1.6.0 |
{ticket.reply_by} | The system-level type indicating where the ticket reply came from | i.e. "system", "staff", "client", or "email" |
|
Ticket Updated
The ticket updated email template alows for the following tags:
Tags | Description | Notes | Since |
---|
{update_ticket_url} | The URL for a client to visit to reply to this ticket |
| |
|
|
{ticket_hash_code} | A hash code for validating ticket replies | Required to be in the subject line to allow for tickets to be replied to by email |
{ticket |
|
{ticket.id} | The system-level ticket ID |
| | {ticket.code} | The ticket number | e.g. "1821914" |
|
|
{ticket.department_id} | The system-level department ID of the department this ticket belongs to |
| |
|
|
{ticket.staff_id} | The system-level staff ID of the staff member assigned to this ticket | May be empty |
|
|
{ticket.service_id} | The system-level service ID of the service this ticket is in relation to | May be empty |
|
|
{ticket.client_id} | The system-level client ID of the client this ticket is assigned to |
| |
|
|
{ticket.email} | The email address the ticket was emailed in from | Only set when the email address is piped in and unrecognized |
|
|
{ticket.summary} | A brief ticket summary |
| |
|
|
{ticket.priority} | The system-level ticket priority | e.g. "critical", "high", "medium", etc. |
|
|
{ticket.priority_language} | The language for the translated ticket priority | e.g. "Critical", "High", "Medium", etc. |
|
|
{ticket.status} | The system-level ticket status | e.g. "open", "awaiting_reply", "closed", etc. |
|
|
{ticket.status_language} | The language for the translated ticket status | e.g. "Open", "Awaiting Reply", "Closed", etc. |
|
|
{ticket.date_added} | The UTC datetime stamp of ticket creation | Formatted as "YYYY-MM-DD HH:MM:SS" |
|
|
{ticket.date_closed} | The UTC datetime stamp the ticket was closed | May be empty. Formatted as "YYYY-MM-DD HH:MM:SS" |
|
|
{ticket.reply_id} | The system-level reply ID attached to this ticket |
| |
|
|
{ticket.reply_staff_id} | The system-level staff ID of the staff member that sent this reply |
| |
|
|
{ticket.reply_type} | The system-level type of reply | i.e. "reply", "note", "log". Emails are only sent when the type is "reply" |
|
|
{ticket.reply_has_attachments} | Whether or not this specific reply has any attachments |
|
| v2.3.0 |
{ticket.has_attachments} | Whether or not any replies to this ticket have any attachments |
|
| v2.3.0 |
{ticket.details} | The ticket reply details in plain text |
| |
|
|
{ticket.details_html} | The ticket reply details in HTML |
| |
|
|
{ticket.reply_date_added} | The UTC datetime stamp of the reply | Formatted as "YYYY-MM-DD HH:MM:SS" |
|
|
{ticket.company_id} | The system-level company ID this ticket was created under |
| |
|
|
{ticket.department_name} | The name of the department this ticket belongs to |
| |
|
|
{ticket.department_email} | The email address of the department this ticket belongs to |
|
|
|
{ticket.override_from_email} | Whether or not the email template's from address has been replaced with the department email | i.e. "1" or "0" | v1.6.0 |
{ticket.reply_by} | The system-level type indicating where the ticket reply came from | i.e. "system", "staff", "client", or "email" |
|
Staff Ticket Assigned
This email is sent to a staff member when a ticket has been assigned to them. This email template was made available in v2.6.0 of the plugin. The following tags are supported:
Tags | Description | Notes | Since |
---|
{ticket.id} | The system-level ticket ID |
| |
|
|
{ticket.code} | The ticket number | e.g. "1821914" |
|
|
{ticket.department_id} | The system-level department ID of the department this ticket belongs to |
| |
|
|
{ticket.staff_id} | The system-level staff ID of the staff member assigned to this ticket | May be empty |
|
|
{ticket.service_id} | The system-level service ID of the service this ticket is in relation to | May be empty |
|
|
{ticket.client_id} | The system-level client ID of the client this ticket is assigned to |
| |
|
|
{ticket.email} | The email address the ticket was emailed in from | Only set when the email address is piped in and unrecognized |
|
|
{ticket.summary} | A brief ticket summary |
| |
|
|
{ticket.priority} | The system-level ticket priority | e.g. "critical", "high", "medium", etc. |
|
|
{ticket.priority_language} | The language for the translated ticket priority | e.g. "Critical", "High", "Medium", etc. |
|
|
{ticket.status} | The system-level ticket status | e.g. "open", "awaiting_reply", "closed", etc. |
|
|
{ticket.status_language} | The language for the translated ticket status | e.g. "Open", "Awaiting Reply", "Closed", etc. |
|
|
{ticket.date_added} | The UTC datetime stamp of ticket creation | Formatted as "YYYY-MM-DD HH:MM:SS" |
|
|
{ticket.date_closed} | The UTC datetime stamp the ticket was closed | May be empty. Formatted as "YYYY-MM-DD HH:MM:SS" |
|
|
{ticket.last_reply_date} | The UTC datetime stamp of the last ticket reply | Formatted as "YYYY-MM-DD HH:MM:SS" |
|
|
{ticket.last_reply_staff_id} | The system-level staff ID of the staff member from the last reply | May be empty. Only set when {ticket.last_reply_by} is 'staff' |
|
|
{ticket.department_name} | The name of the department this ticket belongs to |
| |
|
|
{ticket.company_id} | The system-level company ID this ticket was created under |
| |
|
|
{ticket.assigned_staff_first_name} | The first name of the staff member assigned to this ticket |
| |
|
|
{ticket.assigned_staff_last_name} | The last name of the staff member assigned to this ticket |
| |
|
|
{ticket.last_reply_by} | The system-level type indicating where the ticket reply came from | i.e. "system", "staff", "client", or "email" |
|
|
{ticket.last_reply_first_name} | The first name of the user that last replied to the ticket | May be a client or staff user |
|
|
{ticket.last_reply_last_name} | The last name of the user that last replied to the ticket | May be a client or staff user |
|
|
{ticket.last_reply_email} | The email address the last reply came from | Only set when {ticket.last_reply_by} is 'email' |
|
|
{staff.id} | The system-level ID of the staff member this ticket is now assigned to |
| |
|
|
{staff.first_name} | The first name of the staff member assigned to this ticket |
|
|
|
{staff.last_name} | The last name of the staff member assigned to this ticket |
| |
Expand |
---|
|
Due to the nature of tag objects containing several fields, many of which are likely irrelevant for use in email templates, but may be useful to you in certain circumstances, an example dump of the {staff} tag object is shown below. Code Block |
---|
language | php |
---|
title | The {staff} object |
---|
collapse | true |
---|
| stdClass Object
(
[id] => 2
[user_id] => 3
[first_name] => First
[last_name] => Last
[email] => first.last@domain.com
[email_mobile] =>
[status] => active
[username] => first.last@domain.com
[two_factor_mode] => none
[two_factor_key] => 6017d177a590b9cf0c04806e3634566a8f00190f
[two_factor_pin] =>
[groups] => Array
(
[0] => stdClass Object
(
[id] => 1
[company_id] => 1
[name] => Administrators
)
)
[notices] => Array
(
[0] => stdClass Object
(
[staff_group_id] => 1
[staff_id] => 1
[action] => payment_ach_approved
)
)
) |
|
Staff Ticket Updated
The ticket received email template allows for the following tags:
Tags | Description | Notes | Since |
---|
{ticket_hash_code} | A hash code for validating ticket replies | Required to be in the subject line to allow for tickets to be replied to by email |
|
|
{ticket.id} | The system-level ticket ID |
| |
|
|
{ticket.code} | The ticket number | e.g. "1821914" |
|
|
{ticket.department_id} | The system-level department ID of the department this ticket belongs to |
| |
|
|
{ticket.staff_id} | The system-level staff ID of the staff member assigned to this ticket | May be empty |
|
|
{ticket.service_id} | The system-level service ID of the service this ticket is in relation to | May be empty |
{ticket |
|
{ticket.client_id} | The system-level client ID of the client this ticket is assigned to |
| | {ticket.email} | The email address the ticket was emailed in from | Only set when the email address is piped in and unrecognized |
|
|
{ticket.summary} | A brief ticket summary |
| |
|
|
{ticket.priority} | The system-level ticket priority | e.g. "critical", "high", "medium", etc. |
|
|
{ticket.priority_language} | The language for the translated ticket priority | e.g. "Critical", "High", "Medium", etc. |
|
|
{ticket.status} | The system-level ticket status | e.g. "open", "awaiting_reply", "closed", etc. |
|
|
{ticket.status_language} | The language for the translated ticket status | e.g. "Open", "Awaiting Reply", "Closed", etc. |
|
|
{ticket.date_added} | The UTC datetime stamp of ticket creation | Formatted as "YYYY-MM-DD HH:MM:SS" |
|
|
{ticket.date_closed} | The UTC datetime stamp the ticket was closed | May be empty. Formatted as "YYYY-MM-DD HH:MM:SS" |
|
|
{ticket.reply_id} | The system-level reply ID attached to this ticket |
| |
|
|
{ticket.reply_staff_id} | The system-level staff ID of the staff member that sent this reply |
| |
|
|
{ticket.reply_type} | The system-level type of reply | i.e. "reply", "note", "log". Emails are only sent when the type is "reply" |
|
|
{ticket.reply_has_attachments} | Whether or not this specific reply has any attachments |
|
| v2.3.0 |
{ticket.has_attachments} | Whether or not any replies to this ticket have any attachments |
|
| v2.3.0 |
{ticket.details} | The ticket reply details in plain text |
| |
|
|
{ticket.details_html} | The ticket reply details in HTML |
| |
|
|
{ticket.reply_date_added} | The UTC datetime stamp of the reply | Formatted as "YYYY-MM-DD HH:MM:SS" |
|
|
{ticket.company_id} | The system-level company ID this ticket was created under |
|
|
|
{ticket.department_name} | The name of the department this ticket belongs to |
| |
|
|
{ticket.department_email} | The email address of the department this ticket belongs to |
| |
|
|
{ticket.override_from_email} | Whether or not the email template's from address has been replaced with the department email | i.e. "1" or "0" | v1.6.0 |
{ticket.reply_by} | The system-level type indicating where the ticket reply came from | i.e. "system", "staff", "client", or "email" |
|
Staff Ticket Updated (Mobile)
The ticket received (mobile) email template allows for the following tags:
Tags | Description | Notes | Since |
---|
{ticket_hash_code} | A hash code for validating ticket replies | Required to be in the subject line to allow for tickets to be replied to by email |
|
|
{ticket.id} | The system-level ticket ID |
| |
|
|
{ticket.code} | The ticket number | e.g. "1821914" |
|
|
{ticket.department_id} | The system-level department ID of the department this ticket belongs to |
| |
|
|
{ticket.staff_id} | The system-level staff ID of the staff member assigned to this ticket | May be empty |
|
|
{ticket.service_id} | The system-level service ID of the service this ticket is in relation to | May be empty |
|
|
{ticket.client_id} | The system-level client ID of the client this ticket is assigned to |
| |
|
|
{ticket.email} | The email address the ticket was emailed in from | Only set when the email address is piped in and unrecognized |
| {
|
{ticket.summary} | A brief ticket summary |
| | {ticket.priority} | The system-level ticket priority | e.g. "critical", "high", "medium", etc. |
|
|
{ticket.priority_language} | The language for the translated ticket priority | e.g. "Critical", "High", "Medium", etc. |
|
|
{ticket.status} | The system-level ticket status | e.g. "open", "awaiting_reply", "closed", etc. |
|
|
{ticket.status_language} | The language for the translated ticket status | e.g. "Open", "Awaiting Reply", "Closed", etc. |
|
|
{ticket.date_added} | The UTC datetime stamp of ticket creation | Formatted as "YYYY-MM-DD HH:MM:SS" |
|
|
{ticket.date_closed} | The UTC datetime stamp the ticket was closed | May be empty. Formatted as "YYYY-MM-DD HH:MM:SS" |
|
|
{ticket.reply_id} | The system-level reply ID attached to this ticket |
| |
|
|
{ticket.reply_staff_id} | The system-level staff ID of the staff member that sent this reply |
| |
|
|
{ticket.reply_type} | The system-level type of reply | i.e. "reply", "note", "log". Emails are only sent when the type is "reply" |
|
|
{ticket.reply_has_attachments} | Whether or not this specific reply has any attachments |
|
| v2.3.0 |
{ticket.has_attachments} | Whether or not any replies to this ticket have any attachments |
|
| v2.3.0 |
{ticket.details} | The ticket reply details in plain text |
| |
|
|
{ticket.details_html} | The ticket reply details in HTML |
| |
|
|
{ticket.reply_date_added} | The UTC datetime stamp of the reply | Formatted as "YYYY-MM-DD HH:MM:SS" |
|
|
{ticket.company_id} | The system-level company ID this ticket was created under |
| |
|
|
{ticket.department_name} | The name of the department this ticket belongs to |
| |
|
|
{ticket.department_email} | The email address of the department this ticket belongs to |
| |
|
|
{ticket.override_from_email} | Whether or not the email template's from address has been replaced with the department email | i.e. "1" or "0" | v1.6.0 |
{ticket.reply_by} | The system-level type indicating where the ticket reply came from | i.e. "system", "staff", "client", or "email" |
| Departments
Info |
---|
|
When selecting POP or IMAP for email handling, be sure to select the proper Security option for the port you are using. None, TLS, or SSL may be required depending upon the port number you are connecting to. See http://www.arclab.com/en/amlc/list-of-smtp-and-pop3-servers-mailserver-list.html for a list of common configurations. |
...
A support department may be created under [Support] -> [Departments] -> [Add Department].
Options
Option | Description |
---|
Name | The department name is shown throughout the interface to reference the department a ticket may be assigned to. |
Description | The department description is shown on client-facing pages. |
Allow only clients to open or reply to tickets | Checking this option will only allow tickets to be assigned to this department from a known client. |
Email | A unique department email address should be set for email handling. |
Override the from address set in email templates with the email address set for this department | Checking this option will set the From address in support ticket emails to this department's email. |
Default Priority | Tickets created without a priority set (e.g. from email) will be created using the default priority status. |
Email Handling | Email Handling will allow for additional configuration for automatic ticket retrieval via email through POP/IMAP or piping. Configuring departments for ticket piping will allow tickets to be retrieved and processed into Blesta immediately. Option | Description |
---|
Piping Configuration | Configuring piping may vary. See Email Piping for more information. |
|
Configuring departments for POP/IMAP ticket retrieval is dependent on the automation task "Download Tickets". Ticket emails will be retrieved at the interval set for that cron task. Option | Description |
---|
Security | SSL, TLS, or no security flags may be configured to determine whether tickets are retrieved securely. | Box Name | This is the name of the folder/inbox on the email account that will contain new tickets for import. | Mark Messages as | Emails that are processed need to be marked as Read, or Deleted entirely so that they are not imported again. POP3 will always delete messages, but IMAP may be marked as read to avoid importing the same message as a ticket more than once. | Host | Enter the hostname to connect to to retrieve email. | User | Enter the username of the email account. | Pass | Enter the password to the email account. | Port | Enter the port to connect on to retrieve email. This may vary depending on mail server settings and protocol. |
|
Automatically Close Tickets | After the selected number of days have passed, any tickets belonging to the department will be automatically closed if the following conditions are met: - The last person to reply to the ticket was a staff member
- The ticket status is not "In Progress", or already closed.
Tickets are closed by cron, and are so dependent on the "Close Tickets" automation task. A pre-defined response may be defined, and any tickets that are auto-closed will be updated with the set response. |
Automatically Delete Tickets (v2.14.0) | After the selected number of days have passed, any tickets belonging to the department will be automatically deleted if the following conditions are met: - The ticket is in the "Trash" status.
Tickets are deleted by cron, and are so dependent on the "Delete Trash Tickets" automation task. Tickets can also be deleted manually as noted in the 'Tickets' section of this page. |
Status | The department status may be Hidden or Visible. This indicates whether a client may view and create a ticket in this department from the client interface. Note that tickets may still be created if emailed into this department. |
...
Email Piping
...
No Format |
---|
#!/usr/local/bin/php -q |
...
On some systems you may need to create a symlink to php and pipe.php in /etc/smrsh..
...
The Knowledge Base was added in version 2.6.0, and included in Blesta v3.4.0. It allows for the creation of a directory structure and articles to supplement client support. The public-facing knowledge base pages are viewable from your Blesta installation at "/client/plugin/support_manager/knowledgebase/" (e.g. If Blesta is installed under the "billing" directory on your domain, the URL to the knowledge base would be http://yourdomain.com/billing/client/plugin/support_manager/knowledgebase/).
Problems & Errors
Issue: Blesta shows a number of tickets for the Status, but the tickets are not displayed.
Solution: Tickets that have no replies are not displayed. It should not be possible to create a ticket without any reply. If you imported from another system, or there was an issue that prevented ticket replies from being created, then you may wish to delete tickets that do not have any replies. To do so, backup your database first and then run the following query in its entirety.
Code Block |
---|
|
DELETE support_tickets.*
FROM support_tickets
LEFT JOIN (
SELECT `st`.`id`
FROM `support_tickets` `st`
INNER JOIN `support_replies` `sr` ON `sr`.`ticket_id` = `st`.`id`
GROUP BY `st`.`id`
) t ON t.id = support_tickets.id
WHERE t.id IS NULL |