You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 32 Next »

Table of Contents

The Support Manager is a support plugin included with Blesta. It may be installed under [Settings] > [Company] > Plugins and is not installed by default.

MailParse

The Support Manager requires the MailParse PHP extension in order to parse tickets sent in through email. If tickets will be accepted via email, this PHP extension must be installed.

Tie-Ins

The support plugin ties into the following areas.

  1. Staff Area
    1. New "Support" primary navigation tab.
    2. Client Profile page, new "Actions" box link "Open Ticket".
    3. Client Profile page, new "Tickets" widget.
    4. Company Settings, Automation,  new "Download Tickets" task.
    5. New option "Ticket Search" in primary search box.
  2. Client Area
    1. New "Support" navigation link.

Support Emails

Support related email templates can be found under [Settings] > [Company] > [Emails] > Email Templates, in the section labeled "Plugin Templates".

Ticket Bounce

The ticket bounce email template does not support any tags.

Ticket Received

The ticket received email template allows for the following tags:

TagsDescriptionNotesSince
{ticket_hash_code}A hash code for validating ticket repliesRequired 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 numbere.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 ticketMay be empty 
{ticket.service_id}The system-level service ID of the service this ticket is in relation toMay 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 fromOnly set when the email address is piped in and unrecognized 
{ticket.summary}A brief ticket summary  
{ticket.priority}The system-level ticket prioritye.g. "critical", "high", "medium", etc. 
{ticket.priority_language}The language for the translated ticket prioritye.g. "Critical", "High", "Medium", etc. 
{ticket.status}The system-level ticket statuse.g. "open", "awaiting_reply", "closed", etc. 
{ticket.status_language}The language for the translated ticket statuse.g. "Open", "Awaiting Reply", "Closed", etc. 
{ticket.date_added}The UTC datetime stamp of ticket creationFormatted as "YYYY-MM-DD HH:MM:SS" 
{ticket.date_closed}The UTC datetime stamp the ticket was closedMay 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 replyi.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 replyFormatted 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 emaili.e. "1" or "0"v1.6.0
{ticket.reply_by}The system-level type indicating where the ticket reply came fromi.e. "staff", "client", or "email" 

 

Ticket Updated

The ticket updated email template alows for the following tags:

TagsDescriptionNotesSince
{update_ticket_url}The URL for a client to visit to reply to this ticket  
{ticket_hash_code}A hash code for validating ticket repliesRequired 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 numbere.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 ticketMay be empty 
{ticket.service_id}The system-level service ID of the service this ticket is in relation toMay 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 fromOnly set when the email address is piped in and unrecognized 
{ticket.summary}A brief ticket summary  
{ticket.priority}The system-level ticket prioritye.g. "critical", "high", "medium", etc. 
{ticket.priority_language}The language for the translated ticket prioritye.g. "Critical", "High", "Medium", etc. 
{ticket.status}The system-level ticket statuse.g. "open", "awaiting_reply", "closed", etc. 
{ticket.status_language}The language for the translated ticket statuse.g. "Open", "Awaiting Reply", "Closed", etc. 
{ticket.date_added}The UTC datetime stamp of ticket creationFormatted as "YYYY-MM-DD HH:MM:SS" 
{ticket.date_closed}The UTC datetime stamp the ticket was closedMay 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 replyi.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 replyFormatted 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 emaili.e. "1" or "0"v1.6.0
{ticket.reply_by}The system-level type indicating where the ticket reply came fromi.e. "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:

TagsDescriptionNotesSince

{ticket.id}

The system-level ticket ID  
{ticket.code}The ticket numbere.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 ticketMay be empty 
{ticket.service_id}The system-level service ID of the service this ticket is in relation toMay 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 fromOnly set when the email address is piped in and unrecognized 
{ticket.summary}A brief ticket summary  
{ticket.priority}The system-level ticket prioritye.g. "critical", "high", "medium", etc. 
{ticket.priority_language}The language for the translated ticket prioritye.g. "Critical", "High", "Medium", etc. 
{ticket.status}The system-level ticket statuse.g. "open", "awaiting_reply", "closed", etc. 
{ticket.status_language}The language for the translated ticket statuse.g. "Open", "Awaiting Reply", "Closed", etc. 
{ticket.date_added}The UTC datetime stamp of ticket creationFormatted as "YYYY-MM-DD HH:MM:SS" 
{ticket.date_closed}The UTC datetime stamp the ticket was closedMay be empty. Formatted as "YYYY-MM-DD HH:MM:SS" 
{ticket.last_reply_date}The UTC datetime stamp of the last ticket replyFormatted as "YYYY-MM-DD HH:MM:SS" 
{ticket.last_reply_staff_id}The system-level staff ID of the staff member from the last replyMay 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 fromi.e. "staff", "client", or "email" 
{ticket.last_reply_first_name}The first name of the user that last replied to the ticketMay be a client or staff user 
{ticket.last_reply_last_name}The last name of the user that last replied to the ticketMay be a client or staff user 
{ticket.last_reply_email}The email address the last reply came fromOnly 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  

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.

The {staff} object
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:

TagsDescriptionNotesSince
{ticket_hash_code}A hash code for validating ticket repliesRequired 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 numbere.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 ticketMay be empty 
{ticket.service_id}The system-level service ID of the service this ticket is in relation toMay 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 fromOnly set when the email address is piped in and unrecognized 
{ticket.summary}A brief ticket summary  
{ticket.priority}The system-level ticket prioritye.g. "critical", "high", "medium", etc. 
{ticket.priority_language}The language for the translated ticket prioritye.g. "Critical", "High", "Medium", etc. 
{ticket.status}The system-level ticket statuse.g. "open", "awaiting_reply", "closed", etc. 
{ticket.status_language}The language for the translated ticket statuse.g. "Open", "Awaiting Reply", "Closed", etc. 
{ticket.date_added}The UTC datetime stamp of ticket creationFormatted as "YYYY-MM-DD HH:MM:SS" 
{ticket.date_closed}The UTC datetime stamp the ticket was closedMay 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 replyi.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 replyFormatted 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 emaili.e. "1" or "0"v1.6.0
{ticket.reply_by}The system-level type indicating where the ticket reply came fromi.e. "staff", "client", or "email" 

 

Staff Ticket Updated (Mobile)

The ticket received (mobile) email template allows for the following tags:

TagsDescriptionNotesSince
{ticket_hash_code}A hash code for validating ticket repliesRequired 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 numbere.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 ticketMay be empty 
{ticket.service_id}The system-level service ID of the service this ticket is in relation toMay 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 fromOnly set when the email address is piped in and unrecognized 
{ticket.summary}A brief ticket summary  
{ticket.priority}The system-level ticket prioritye.g. "critical", "high", "medium", etc. 
{ticket.priority_language}The language for the translated ticket prioritye.g. "Critical", "High", "Medium", etc. 
{ticket.status}The system-level ticket statuse.g. "open", "awaiting_reply", "closed", etc. 
{ticket.status_language}The language for the translated ticket statuse.g. "Open", "Awaiting Reply", "Closed", etc. 
{ticket.date_added}The UTC datetime stamp of ticket creationFormatted as "YYYY-MM-DD HH:MM:SS" 
{ticket.date_closed}The UTC datetime stamp the ticket was closedMay 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 replyi.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 replyFormatted 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 emaili.e. "1" or "0"v1.6.0
{ticket.reply_by}The system-level type indicating where the ticket reply came fromi.e. "staff", "client", or "email" 

Departments

POP/IMAP Settings

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.

Name

Description

Permissions

Default Priority

Email Handling

The following types are supported for email handling:

  • None
  • Piping
  • POP3
  • IMAP

Security

Box Name

Message Handling

Authentication

Port

Visibility

Email Piping

If your department is set up to receive tickets via email piping, your server must be configured to pipe those messages into the support manager.

Email should be piped to "/plugins/support_manager/pipe.php".

Addon Companies

If you have any addon companies, you will need to copy pipe.php to something like pipe2.php, and edit the $company_id variable in the top of the file to reference the proper company ID that email should be piped to. The primary company is 1, a second company would be 2, etc. Go to [Settings] > [System Settings] > Companies, and you can determine the company ID by the "Edit" link. A link with a URL of "/admin/settings/system/companies/edit/2/" has a company ID of 2.

In your /etc/aliases file, it might look something like this..

support: "|/usr/bin/php /home/user/public_html/plugins/support_manager/pipe.php"

If you experience any trouble with that, you can alternatively pipe mail to "index.php plugin/support_manager/ticket_pipe/index/1" assuming "1" in the company ID.

support: "|/usr/bin/php /home/user/public_html/index.php plugin/support_manager/ticket_pipe/index/1"

In some cases, when piping using the 1st method above, it may be necessary to update the hashbang for the path to php in the pipe script located at "/plugins/support_manager/pipe.php".

The first line of the file should begin with the hashbang, for example:

#!/usr/bin/php -q
#!/usr/local/bin/php -q

 

On some systems you may need to create a symlink to php and pipe.php in /etc/smrsh..

cd /etc/smrsh
ln -s /usr/bin/php
ln -s /home/user/public_html/plugins/support_manager/pipe.php

Formatting, Styling, and Adding Links to Replies

The Markdown syntax is supported for ticket replies. Adding links, making text bold, italic and more can be all be done by using Markdown. See https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet to learn more.

  • No labels