Getting Started

Welcome to the Help Desk MX Documentation. Whether you are new to Help Desk MX or an advanced user, you can find useful information here.

First of all we recommend to check the following links:

How to install extension

  1. Login to Magento backend.
  2. Go to System > Tools > Compilations.

    If Compiler Status is Enabled, disable the compilation by clicking the button Disable in the upper right corner.

  3. Backup your store database and web directory.
  4. Download extension from your Personal Account.
  5. Unzip the extension locally.
  6. Copy contents of the folder step1 to the root directory of Magento store.
  7. Copy contents of the folder step2 to the root directory of Magento store.
  8. Completely clear the site cache.

    Go to System > Cache Management. Click button Flush Magento Cache. If you want to clear the cache manually, you need to remove a folder /var/cache at the server.

  9. Logout from Magento backend and login again.
  10. Go to System > Configuration > Mirasvit Extensions > System, at form Installed Extensions press the button Run validation tests for all extensions for check extension installation and configuration.
  11. If compilation was enabled before installation, you need to run recompilation process to enable compilation. Go to System > Tools > Compilation and click on Run Compilation Process.
    If you did not disable compilation and store is down after installation, follow the link and make next steps to recover the store.
  12. If necessary adjust css styles to fit your store's frontend theme.
  13. Setup a cron job for Magento if you don't have it yet. See How to Setup Cron for Magento.

Next steps:

How to Setup Cron for Magento

How to upgrade extension

To upgrade extension follow next steps:

  1. Login to Magento backend.
  2. Go to System > Tools > Compilations.

    If Compiler Status is Enabled, disable the compilation by clicking the button Disable in the upper right corner.

  3. Backup your store database and web directory.

    If you have customizations, please, create a separate backup of app/code/local/Mirasvit before upgrading to the new version.

  4. Download new extension package from your Personal Account.
  5. Unzip the extension locally.
  6. Temporary disable extension. Check Temporary Disabling.
  7. Copy contents of the folder step1 to the root directory of Magento store.
  8. Copy contents of the folder step2 to the root directory of Magento store.
  9. Completely clear the site cache. Go to System > Cache Management. Click button Flush Magento Cache. If you want to clear the cache manually, you need to remove a folder /var/cache at the server.
  10. Logout from Magento backend and login again.
  11. If compilation was enabled before upgrade, you need to run recompilation process to enable compilation. Go to System > Tools > Compilation and click on Run Compilation Process.
    If you did not disable compilation and store is down after upgrade, follow the link and make next steps to recover the store.
  12. If necessary adjust css styles to fit your store's frontend theme.

How to temporary disable extension

To temporary disable the extension follow the next steps:

  1. Login in to Magento backend, go to System > Tools > Compilation. Disable Compilation Mode (if enabled).
  2. Rename the following file:

    • app/etc/modules/Mirasvit_Helpdesk.xml to app/etc/modules/Mirasvit_Helpdesk.xml.bak
  3. If you have only one extension from Mirasvit installed, remove the following file:

    • app/etc/modules/Mirasvit_MstCore.xml to app/etc/modules/Mirasvit_MstCore.xml.bak
  4. Go to System > Cache Management. Press the button Flush Magento Cache.

Note: To enable the extension you need to rename the files back and flush the cache.

How to remove the extension

To remove the extension follow the next steps:

  1. Login in to Magento backend, go to System > Tools > Compilation. Disable Compilation Mode (if enabled).
  2. Remove the following file:

    • app/etc/modules/Mirasvit_Helpdesk.xml
  3. If you have only one extension from Mirasvit installed, remove the following file:

    • app/etc/modules/Mirasvit_MstCore.xml
  4. Go to System > Cache Management. Press the button Flush Magento Cache.
  5. Remove the following folder:

    • app/code/local/Mirasvit/Helpdesk
  6. Remove templates and layout files of the extension from your theme folder. The list of such files can be collected from files in the extension package.

  7. Run following SQL Query (before running, replace [db_table_prefix] to your database table prefix. It can be found in the file /app/etc/local.xml)

    DROP TABLE [db_table_prefix]m_helpdesk_attachment;
    DROP TABLE [db_table_prefix]m_helpdesk_department_user;
    DROP TABLE [db_table_prefix]m_helpdesk_permission_department;
    DROP TABLE [db_table_prefix]m_helpdesk_field_store;
    DROP TABLE [db_table_prefix]m_helpdesk_field;
    DROP TABLE [db_table_prefix]m_helpdesk_permission;
    DROP TABLE [db_table_prefix]m_helpdesk_pattern;
    DROP TABLE [db_table_prefix]m_helpdesk_email;
    DROP TABLE [db_table_prefix]m_helpdesk_history;
    DROP TABLE [db_table_prefix]m_helpdesk_gateway;
    DROP TABLE [db_table_prefix]m_helpdesk_rule;
    DROP TABLE [db_table_prefix]m_helpdesk_satisfaction;
    DROP TABLE [db_table_prefix]m_helpdesk_ticket_tag;
    DROP TABLE [db_table_prefix]m_helpdesk_tag;
    DROP TABLE [db_table_prefix]m_helpdesk_template_store;
    DROP TABLE [db_table_prefix]m_helpdesk_template;
    DROP TABLE [db_table_prefix]m_helpdesk_message;
    DROP TABLE [db_table_prefix]m_helpdesk_user;
    DROP TABLE [db_table_prefix]m_helpdesk_ticket_aggregated_day;
    DROP TABLE [db_table_prefix]m_helpdesk_ticket_aggregated_hour;
    DROP TABLE [db_table_prefix]m_helpdesk_ticket_aggregated_month;
    DROP TABLE [db_table_prefix]m_helpdesk_draft;
    DROP TABLE [db_table_prefix]m_helpdesk_ticket;
    DROP TABLE [db_table_prefix]m_helpdesk_priority;
    DROP TABLE [db_table_prefix]m_helpdesk_status;
    DROP TABLE [db_table_prefix]m_helpdesk_department;

    DELETE FROM [db_table_prefix]core_resource WHERE code='mst_helpdesk_setup';

Configuration Settings

Go to the Help Desk > Settings. You'll find the following settings:

General Settings

Option Description
Priority for new tickets Sets default priority for new tickets.
Status for new tickets Sets default status for new tickets.
Default store for tickets created via backend When agent creates a ticket from backend, this option set ticket's default store view. Agent can change store view before submitting the ticket.
Show Columns in Ticket Grid You can select what columns to display in the main tickets grid (Help Desk > Tickets). This option allows showing most important information for agents in the main tickets grid.
Sign staff replies This option allows to specify how agent's replies should be signed. Help Desk can sign them using agent's name or name of agent's department.
Move Ticket to Archive if it has one of following statuses Option allows to archive solved tickets automatically. E.g. you can automatically move to the archive tickets with the status Closed.
Create Tickets from Contact Us form If option is enabled, Help Desk will replace default Magento contact form (/contacts/) with Help Desk contact form. This form has additional fields and allows to create a new ticket when customer posts a message.
Send blind carbon copy (BCC) of all emails to You can enter here a comma-separated list of emails. Help Desk will send blind carbon copy (BCC) of all outgoing emails to this list of emails.
Use WYSIWYG Editor in backend If option is enabled, agents can use WYSIWYG Editor to reply on tickets.
Use default magento cron If option is enabled, default magento cron will be used. To set up cron job, follow this manual.
Accept foreign tickets If you have another Help Desk system on your Magento: AW Helpdesk or MW Helpdesk, this option allows to receive tickets from the selected Help Desk.
Store attachments in Sets storage place for the ticket attachments.

Feedback Tab

Option Description
Enable Feedback Tab If option is enabled, Help Desk will show a Feedback Tab on the side of each frontend page. Feedback Tab is a very convenient way to post a ticket for guests.
Assign to Department Sets default department for new tickets created via Feedback Tab.
Tab Color Sets color of Feedback Tab.
Tab Title Sets title of Feedback Tab.
Tab Position Sets position of Feedback Tab (left side or right side of your store).
Form Title Sets title of popup window.
Subject Title Sets title of field 'Subject'.
Subject Placeholder Sets placeholder of field 'Subject'.
Description Title Sets title of field 'Description'.
Description Placeholder Sets placeholder of field 'Description'.
Allow customer to attach files If option is enabled, customer can attach the files at the Feedback Tab.
Allow customer to select Priority If option is enabled, customer can set to the ticket 'Priority' at the Feedback Tab.
Allow customer to select Department If option is enabled, customer can select a 'Department' at the Feedback Tab.
Search Knowledge Base Topics first If option is enabled, then Help Desk will try to find an answer on customer's question in the Knowledge Base. If there is no answer, then Help Desk will show a contact form and customer can post a new ticket. Note that this option works only if you have installed Mirasvit Knowledge Base extension.

Email Notification Settings

Option Description
Show Ticket ID in the email title If option is enabled, email subject will contain a ticket ID (e.g. [#VEP-728-96190] Email subject here..)
Number of last replies to show in the ticket history When customer receives a reply from agent, email includes a history of conversation. You can limit the number of last reply in the history using this option. If you set it to 0, you'll hide the history.
Template of New Ticket Email for Customer When customer creates a new ticket, he recieves an email with confirmation. This option sets a template of this email.
Template of New Ticket Email for Staff When customer creates a new ticket, agent recieves an email with notification about new ticket. This option sets a template of this email.
Template of New Message Email for Customer When agent replies on a ticket, customer recieves an email with this reply. This option sets a template of this email.
Template of New Message Email for Staff When customer replies on a ticket, agent recieves an email with this reply. This option sets a template of this email.
Template of New Message Email for Third Party This option sets a template of an email, which agent sends to 3rd party users.
Template of Ticket Reminder This option sets a template of an email, which Help Desk reminder sends to agent.
Template of Rule Notification This option sets a template of an email, which can be sent using Help Desk Workflow Rules.
Template of Survey Satisfaction Result This option sets a template of an email, which allows customer to rate the quality of the agent's reply.

Customer Satisfaction Survey

Option Description
Send satisfaction survey with staff reply If option is enabled, customer can rate the support quality when he receives agent's reply.
Show survey results in the backend ticket history If option is enabled, satisfaction survey rates will be shown at the agent ticket history.
Send survey result to ticket owner If option is enabled, store agent will receive result of the customer's support rate for his reply.
Send survey result to emails Sets emails that will receive the result of the support survey. You can enter few emails separated by comma.

Customer Account

Option Description
Show Help Desk section in Customer Account If option is enabled, customer will see a Help Desk section in the customer account of store.
Allow customer to select Priority If option is enabled, customer can select a priority for new ticket.
Allow customer to select Department If option is enabled, customer can select a department for new ticket.
Allow customer to select Order If option is enabled, customer can select an order for new ticket.

Reports

Option Description
Solved Statuses Tickets with the selected Statuses will be shown as Solved at the Help Desk Report.

Developer Settings

Option Description
Activate Sandbox If option is enabled, Help Desk will not send any email to your customers. All emails will be sent to the sandbox email.
Send All Outgoing emails to Email Specifies a sandbox email (see previous option).

Notification Settings

Option Description
Enable Desktop Notification System If option is enabled, notification messages will be shown about tickets arriving.
At the backend right upper block will appear Tickets indicator with numbers, for example: Tickets 3/4, where:
3 - number of the new agent tickets,
4 - number of the customer messages from his active tickets.
Show notification about arriving of new tickets for Sets user groups for desktop notification messages.
Enable notification about arriving of new messages in tickets assigned for user If option is enabled, desktop notifications will be shown about new user messages in the tickets.
Enable notification about assigning a ticket to the user If option is enabled, desktop notifications will be shown about assigning a ticket to the user.

Departments

For correct work Help Desk MX requires to have at least one department with assigned agents.

To create a new department go to the Help Desk > Dictionaries > Departments backend page. Press button Add New. You'll see following settings:

General Information

  • Title - Name of the department.
  • Is Active
  • Sort Order
  • Sender Email - Email address which will be used as From when member of this deparment send a ticket reply.
  • Members of Department - List of agents of the department. Agent can be a member of several departments.

Notification

  • If ticket is unassigned, send notifications to all department members - If option is activated all deparment's agents will receive notifications about new messages in unassigned tickets (including notifications about new tickets).
  • If ticket is unassigned, send notifications to email (deprecated) - This email can receive notifications about new messages in unassigned tickets (including notifications about new tickets).

Email Gateways

Help Desk MX can fetch emails from your email account and convert them to tickets. To enable this feature you have to connect your email account with Help Desk.

Go to the Help Desk > Dictionaries > Gateways backend page. Press button Add New Gateway. You'll see following settings:

  • Title - the internal title of the gateway. You can use any phrase.
  • Email - the email address of your mail box
  • Login - the login to your mail box
  • Password - the password to your mail box
  • Is Active - ability to activate/diactivate this gateway
  • Host - the hostname of your mail server
  • Protocol - the protocol used by your mail server (IMAP or POP3)
  • Encryption - the encryption method used by your mail server
  • Port - the port used by your mail server
  • Fetch Frequency (minutes) - how often help desk should fetch new emails from the mail box
  • Fetch Max - maximum number of fetched emails per one connection to the mail server
  • Notes - any additional notes

Our extension supports the following types of encryption:

  • SSL - Secure Sockets Layer, used in most public mail servers, like GMail.
  • TLS - Transport Layer Security, used in private mail servers. Our extension supports both TLS with and without certificate validation.

For example, if you would like to use your email account on Gmail, you should enter following settings:

  • Title - Gmail gateway
  • Email - your_email@gmail.com
  • Login - your_email@gmail.com
  • Password - the password to your Gmail account
  • Is Active - Yes
  • Host - imap.gmail.com
  • Protocol - IMAP
  • Encription - SSL
  • Port - 993

Also please, check that you have enabled IMAP in your Gmail Account https://support.google.com/mail/troubleshooter/1668960?hl=en#ts=1665018

If you would like to use your email account on Outlook.com, you should enter following settings:

  • Title - Outlook gateway
  • Email - your_email@outlook.com
  • Login - your_email@outlook.com
  • Password - the password to your Outlook account
  • Is Active - Yes
  • Host - imap-mail.outlook.com
  • Protocol - IMAP
  • Encryption - SSL
  • Port - 993

Notification Emails

Help Desk MX sends emails with different types of notifications to the customer and support team. You can customise templates of those emails.

To change template of Help Desk MX email you need to do following steps:

  • Go to the System > Transactional Emails
  • Press button Add New Template
  • Select template in the dropdown that you would like to customise (e.g. Helpdesk - Customer - New Message)
  • Press button Load Template
  • Enter new Template Name (e.g. My Helpdesk - Customer - New Message)
  • Change Temlate Subject and Template Content as you need
  • Press button Save Template
  • Go to the Help Desk > Settings > Email Notification Settings. Select your new template in the dropdown list of necessary notification. Save configuration.

In email templates you can use following variables:

  • {{var customer.name}} - customer name
  • {{var customer.email}} - customer email
  • {{var ticket.code}} - ticket code
  • {{var ticket.name}} - ticket subject
  • {{var ticket.department}} - name of ticket department
  • {{var ticket.status}} - name of ticket status
  • {{var ticket.priority}} - name of ticket priority
  • {{var ticket.getCreatedAtFormated('long')}} - ticket created date
  • {{var ticket.getUpdatedAtFormated('long')}} - ticket updated date
  • {{var ticket.getLastMessageHtmlText()}} - current ticket's message (in HTML format)
  • {{var ticket.getHistoryHtml()}} - block with ticket histroy
  • {{var ticket.getExternalUrl() }} - external ticket's URL
  • {{var store.getFrontendName()}} - name of your store
  • {{var user.firstname}} - first name of ticket's owner
  • {{var user.lastname}} - last name of ticket's owner
  • {{var user.email}} - email of ticket's owner
  • {{var department.name}} - name of ticket's department

How to add Custom Fields to Notification Email

The Custom Fields also can be used as variables, through its codes, which are prefixed with "f_" prefix.
For example, if you have custom field with code "test_field", the proper email variable should be: {{var ticket.f_test_field}}.

How to add custom Notification Email

You can create your own Notification Email by using Workflow Rules. Please, check this blog post http://mirasvit.com/blog/how-to-streamline-workflow-with-a-unique-help-desk-mx-rules-feature.html.

How to disable a Notification Email

To disable Notification Email you need to go to the Help Desk > Settings > Email Notification Settings and in the dropdown list of necessary notification select an option Disable these emails. Save configuration.

Customer Satisfaction Survey

Help Desk MX can include a satisfaction survey inside each agent's reply. You can enable this feature at Help Desk > Settings > Customer Satisfaction Survey > Send Survey Request via Email.

Customers will receive emails with the following block of statisfaction survey.

Tickets List

Go to the Help Desk > Customer Satisfaction to check results of surveys. At Help Desk > Reports > Customer Satisfaction you can find a satisfaction report.

Quick Responses

Help Desk MX allows to create a list of Quick Responses. Agent can use Quick Response to paste a predefined answer into reply field, edit it if necessary and send to client.

To create a new quick response go to the Help Desk > Dictionaries > Quick Responses backend page. Press button Add New. You'll see following fields:

  • Internal Title - Internal title of quick response. Customer will not see it.
  • Is Active
  • Template - Text of quick response. This text will be inserted into reply field after selecting internal title in Quick Response field at message editing form.
  • Stores - Store views which can use this quick response. If you have several languages, you need to have different quick responses for each store view.

In templates the following variables can be used:

  • [ticket_customer_name] - Full customer name.
  • [ticket_customer_email] - Email of customer.
  • [ticket_code] - Ticket number (eg. #TX-234234).
  • [store_name] - Name of the store
  • [user_firstname] - First name of agent.
  • [user_lastname] - Lirst name of agent.
  • [user_email] - Email name of agent.
  • [order_increment_id] - Number of order, to which current ticket is binded.

Signatures for Emails

You can setup a signature for each agent and help desk will automatically add the signuture to the outgoing emails. Signitures can include HTML tags (e.g. you can add a photo of your agent).

To set up a signature, go to the System > Permissions > Users page and open profile of certain agent. Open a tab Help Desk and enter a signature text in the field Signature for Emails.

Custom Fields

Help Desk MX allows to create custom fields. You can use them to store any additional information about tickets. You can setup where you would like to show custom fields, you can filter and search tickets by custom fields.

To create a new custom field go to the Help Desk > Dictionaries > Custom Fields, press the button Add New. You'll see the following fields:

  • Title - Name of the field.
  • Code - Internal code of the field. Can contain only letters, digits and underscore.
  • Type - Field's type. Following types are possible:
    • Text - One line text field.
    • Multi-line text - Multiple lines text field (textarea).
    • Date - Date with calendar.
    • Checkbox
    • Drop-down list
  • Description - Field's description.
  • Options list - Used only for fields with type drop-down list. Enter each value from the new line using format:
    value1 | label1
    value2 | label2
  • Active
  • Sort Order
  • Show value in customer account - If option is enabled, field's value will be shown in the customer account (ticket's page).
  • Show in create ticket form - If option is enabled, field will be shown in the customer account (create new ticket form).
  • Show in contact us form - If option is enabled, field will be shown in the contact form and form of the feedback tab.
  • Required for customers - If option is enabled, customers will be required to fill in the field when they create a new ticket.
  • Required for staff - If option is enabled, agents will be required to fill in the field when they create a new ticket or reply.
  • Stores

To show the Custom Fields at the Tickets Grid, go to Help Desk > Settings > General Settings tab.
At the option Show Columns in Ticket Grid select the created Custom Field.
Custom fields also can be used in email templates by its codes. For more information, see How to add Custom Fields to Notification Email.

Spam filters

Help Desk MX allows to filter incoming emails automatically. You can create patterns and specify which messages are spam.

To create new spam pattern go to Help Desk > Dictionaries > Spam Pattern. Press button Add New.
You'll see the following fields:

  • Title - Internal title of spam pattern.
  • Is Active
  • Scope - Sets email field that will be checked for a match pattern. You can set the following areas:
    • Headers - Service information, which is generated by email client while sending email.
    • Subject - Email subject.
    • Body - Main text of the letter.
  • Pattern - Expression, in which e-mail is considered as spam. Pattern supports regular expression, see Regular Expressions. Patterns must be covered by slashes.

You can create and test templates online. See Regex101.com.
Here you can see a few examples:

1. Spam filter for all emails which has a domain example.com:
Scope: Headers
Pattern: /[^@]+@example.com/
Check this Example at Regex101.com.

2. Filter for users who have emails which includes user, works for any domain. Matches with: "user@mail.ru", 123user@gmail.com", "Myuser1234@yahoo.com".
Scope: Headers
Pattern: /.*user.*[@](?!domain\.com).*$/

3. Filter block for emails beginning with the word "free" or containing the base word "free" after space. Matches with: "free", "free money!", "free discount". Doesn't match: "freeze", "nofree".
Scope: Subject
Pattern: /^free[ ].*|^free/

4. Filter block for emails with text: Special offer. Matches with: "$pecia1 Offer", "!!special Offer!!", "Special 0ffer?!".
Scope: Body
Pattern: /.*[\$Ss]pecia[l1]\W[Oo0]ffer.*/

Permissions

Permission system provides an ability to set up a limited access for agents. Go to the Help Desk > Dictionaries > Permissions.The administrator is able to add a records on restriction access for each role of Magento store. As only Help Desk MX is installed (or updated to version 1.0.5+), there is only one record:

Role Has access to tickets of department Can remove tickets
All Roles All Departments Yes

It means that all the roles have an access to tickets from all the departments and any user is able to delete tickets.

Administrator can edit this record and add additional to setup correct permissions.

Let us imagine that we have three roles in our store: Administrators, Support, Sales. Let us set up Help Desk the way administrators would be able to access to every department and have an ability to delete the tickets, but Support and Sales would have a restricted access only to tickets from their departments without ability to delete them. To do this let us make a certain set up:

Role Has access to tickets of department Can remove tickets
Administrators All Departments Yes
Support Support No
Sales Sales No

Also take a note, if due to any reason a ticket went to the wrong department, in this case that department team members are able to redirect a ticket to another department. For example, even if Support Department team does not have access to tickets of Sales Department they are able to assign the ticket to the department Sales.

Workflow Rules

The Workflow Rules allows you to monitor your tickets and when they meet a certain requirements , the Rule starts the action. You can automatically assign any ticket to your best staff members or to a certain department, so they can provide the best service to your customers and to keep the job done. Auto-set up a tickets status to 'In Progress' after the first reply of a support team member, notify all the department members when a new ticket is created, send a reminder to the ticket owner if there is no reply during 3 days, etc.

Please, check this blog post for detailed information http://mirasvit.com/blog/how-to-streamline-workflow-with-a-unique-help-desk-mx-rules-feature.html.

Conditions in workflow rules

Help Desk Workflow Rules can contain conditions, which allows to filter tickets, that are applied to this rule actions. Here is the list of them:

  • Subject - title of ticket
  • Last message body - contents of last public message, leaved in particular ticket
  • Created at - date of ticket creation
  • Updated at - date of ticket last update (e. q. new message appeared, or properties changed)
  • Store - store, from where ticket was submitted (note: this condition can not detect backend-created tickets, as they can be binded to any store. Use for this task Ticket Source condition)
  • Priority (before change) - priority, which particular ticket has prior to event firing (used only for Ticket was changed event)
  • Priority - current ticket priority
  • Priority (before change) - priority, which particular ticket has prior to event firing (used only for Ticket was changed event)
  • Priority - current ticket priority
  • Status (before change) - status, which particular ticket has prior to event firing (used only for Ticket was changed event)
  • Status - current ticket status
  • Department (before change) - department, which particular ticket has prior to event firing (used only for Ticket was changed event)
  • Department - current ticket department
  • Owner (before change) - owner, which held particular ticket prior to event firing (used only for Ticket was changed event)
  • Owner - current ticket owner
  • Is Archived (before change) - whether particular ticket was in archive prior to event firing (used only for Ticket was changed event)
  • Is Archived - whether ticket is archived
  • Last Reply By - who was the last replier in this ticket: Customer of Staff agent
  • Hours since Created - time period from creation of particular ticket (note: this condition is not precise, use equal or greater or equal or lesser comparators here)
  • Hours since Updated - time period from last update of particular ticket (note: this condition is not precise, use equal or greater or equal or lesser comparators here)
  • Hours since Last Reply - time period from last message appearance in particular ticket (note: this condition is not precise, use equal or greater or equal or lesser comparators here)
  • Last Reply By - who was the last replier in this ticket: Customer of Staff agent
  • Tags - tags, associated with particular ticket in Additional tab at Tags field.
  • Customer Email - email, which used author of particular ticket.
  • Carbon Copy - email, set as CC field in particular ticket.
  • Blind Carbon Copy - email, set as BCC field in particular ticket.
  • Order number - number of order, associated with particular ticket (useful, if orders has a structured numbering on given store).
  • Ticket Source - source, from there ticket was created. Has four options: Email, Backend, Contact Tab and Customer Account.

Also, if there is custom field, it also can be used as condition. Each field will be listed in two forms: standard field value and "before changed", used especially for Ticket has changed event. E. q., if the field is Telephone, then conditions will be Telephone and Telephone (before change) respectively.

Email variables in workflow notifications

Help Desk notifications also support standard Magento Email Template variables, such as {{var logo_alt}}, and supports function calling, like {{var store.getFrontendName()}}, and also adds a set of its own variables.

  • {{var customer}} - allows access to customer properties;
  • {{var ticket}} - allows access to ticket properties, including custom fields (see below).
  • {{var department}} - allows access to department properties.

The most usable properties are:

  • {{var customer.getName()}} - Name of current customer
  • {{var customer.getEmail()}} - Email of current customer

  • {{var department.getName()}} - Name of department, to which current ticket was assigned
  • {{var department.getSenderEmail()}} - Sender email, used as field From in notificators

  • {{var ticket.getCode()}} - Code of current ticket, e. q. YVB-459-53185.
  • {{var ticket.getName()}} - Subject of current ticket.
  • {{var ticket.getCustomerEmail()}} - Email of current customer.
  • {{var ticket.getCustomerName()}} - Full name of current customer.
  • {{var ticket.getLastReplyName()}} - Full name of customer of staff member, who last replied in current ticket.
  • {{var ticket.getFrontendLastReplyName()}} - Name of last reply author as it is displayed at frontend (depending from option Help Desk -> Settings -> General Settings -> Sign staff replies )
  • {{var ticket.getChannel()}} - Name of channel, which created this ticket - e.q. 'email', 'backend' or 'feedback_tab'.
  • {{var ticket.getExternalUrl()}} - Frontend URL of current ticket.
  • {{var ticket.getBackendUrl()}} - Backend URL of current ticket.
  • {{var ticket.getLastMessagePlainText()}} - Contents of last message posted.
  • {{var ticket.getUserName()}} - Full name of current ticket owner.
  • {{var ticket.getOrder()}} - Returns Order object, to which current ticket is binded. It provides access to all order's properties (see example below, note that these properties can be used within {{depend}} tag).

Assume you have to get order number, to which current ticket is binded. This requires the following code:

{{depend ticket.getOrder()}}
    {{var ticket.getOrder().getIncrementId()}}
{{/depend}}

Also, if there is custom field, it also can be used as email variable. Each such custom field has a code. Assume, that we had created field with custom_reason code. Then the corresponding email variable would be:

  • {{var ticket.getCustomReason()}} - Email of current customer.

Contact form widget

You can insert the help desk contact form to the CMS page as magento widget.

To do this follow the next steps:

  1. Open the CMS page in backend.
  2. In the WYSIWYG editor click the Insert Widget icon.
  3. Select Help desk Contact Form from dropdown list.
  4. Press the Insert widget button.

Manage Tickets

Go to the Help Desk > Tickets. You'll see a list of all current tickets. Using this grid you can do the following operations:

  • You can sort/filter tickets by any column
  • Using search box you can find a ticket by any information (ticket ID, subject, messages, tags)
  • You can do following mass actions:
    • Change status of tickets
    • Change owner (agent/department) of tickets
    • Move tickets to the archive
    • Move tickets to the SPAM
    • Delete tickets
      Administrator can restrict access to tickets and some actions usign permissions.

You can change the set of grid columns via Configuration Settings.

Tickets List

Replying to a Ticket

Go to the Help Desk > Tickets. Open a ticket. In the tab General you'll see the following options:

Customer Summary

  • Customer Email - Email of customer which are used for communication. Your messages will be sent to this email.
  • Assigned To Customer - You can assign the ticket to a customer. The customer will see this ticket in his account. To assign the ticket, you need:
    • enter customer email or name
    • press button Find Customer
    • select customer from the dropdown list
  • Assigned to Order - If ticket is assigned to the customer, you can select a customer's order to for this ticket.

Ticket Summary

  • Status - Current ticket's status
  • Priority - Current ticket's priority
  • Ticket Owner - Current owner of the ticket. If ticket is not assinged to you, ticket will be automatically assigned to you after your reply. You can assign the ticket to another agent or department if necessary.

Reply

  • Message Type - Extension allows to send following messages:
    • Message to Customer - Default message type. Your reply will be sent to the customer.
    • Internal Note - Your reply will added to the ticket history. You and other agents will be able to see it. Customer will not see it and will not receive it by email.
    • Message to Third Party - This option allows you to contact any 3rd party within the thread of the ticket (e.g. you can contact your suppliers or shipping company). Your reply will be sent to the Third Party Email. Your reply and replies of 3rd party will be shown in the customer's account.
    • Private Message to Third Party - The same option as above, but all conversation is hidden from customer. Customer will not see your messages to the 3rd party and replies of 3rd party.
  • Insert Quick Response - You can select and insert a predefined response. To create a list of quick responses, see Quick Responses.

Responding to a ticket

You can also reply to a ticket via email, by sending a message to one of emails, which are set as Gateways.
In this case make sure, that your sender email is not a Gateway itself. These emails will be ignored to avoid infinite cycles.

Additional Tab

Go to the Help Desk > Tickets. Open a ticket, open the Additional tab. You'll see the following options:

Additional Information

  • Store View - If your magento has multiple store views, you'll see this option. It specifies the current ticket's store view. Customer will receive all emails using templates of this store view.
  • Channel - Channel from which ticket was created. Following channels are possible:
    • Email
    • Feedback Tab
    • Contact Form
    • Backend
  • External Link - Link with encoded ticket id. Customer can use it to answer on the ticket without login into his account. You can send this URL to customer if necessary.
  • Tags - You can add a comma-separated list of tags to the ticket. You can find ticket by these tags using Help Desk search.

Ticket History

This section contains a log of ticket's changes.

Additional Tab

Follow Up Tab

Follow Up allows automatically sending a reminder email, changing a status/priority/owner of the ticket after a period of time.

Go to the Help Desk > Tickets. Open a ticket, open the Follow Up tab. You'll see the following options:

  • Period - period after which follow up will be activated.
  • Send Remind - if option is checked, reminder email will be automatically sent.
  • Set Status - if option is selected, ticket status will be automatically changed.
  • Set Priority To - if option is selected, ticket priority will be automatically changed.
  • Set Owner To - if option is selected, ticket owner will be automatically changed.

Follow Up Tab

Reports

Report by tickets

Go to the Help Desk > Reports > Tickets Report. You'll see a report by tickets.

Report columns:

  • Period - period of calculation
  • New Tickets Number - number of tickets created during the period
  • Solved Tickets Number - number of tickets which have recieved status 'Closed' during the period
  • Solved Tickets % = Solved Tickets Number / New Tickets Number * 100%
  • Changed Tickets Number - number of tickets changed during the period
  • 1st Reply Time - average time of first reply on new ticket for current period
  • Full Resolution Time - average time from tickets creation till ticket resolving

How-To

How can I set up email flow, so customer and staff can use their mail to communicate without Help Desk interface

To create email flow firstly you need to establish one or more Gateways (Help Desk -> Dictionaries -> Gateways). It can be regular mailboxes, which support IMAP or POP protocol for receiving emails. It strongly NOT recommended to use Gateway by some third-party mail management software, the best option - to have this mailbox solely for Help Desk.

Then you need to set Sender Email, so all notification, sent by Help Desk, has Gateway mailbox in From field. This will make customer replies to the drop to the Gateway and therefore, to appropriate ticket.

This is done in Departments (Help Desk -> Dictionaries -> Departments), each of which has field Sender Email. Set this field to the same mailbox as one of your Gateways.

Once you did it, email flow should be established and work properly.


How can I fetch emails by Help Desk, but keep all messages Unread

Basically, you shall not do it, because our Help Desk extension requires explicit access to your mailbox. Marking emails with Read flag ensures, that no message will be fetched twice, and there will be no infinite cycles.

However, if you need to use your mailbox and some third-party email client (GMail for example) simultaneously, you can create the following workaround:

  • create inside your mailbox a separate directory. In case of GMail, this tutorial will be in handy;
  • pick up your Gateway at Help Desk -> Dictionaries -> Gateways, and enter name of that directory to the Folder field. This will make our extension fetch only emails from that directory;
  • create rule inside your mailbox, which will move to that folder all emails, that should be fetched by our extension. It can be done manually.

Then our extension will work only with designated folder, the rest of mailbox can be operated with other email client.

If you wish to keep read messages in Inbox, move to that folder all Unread, and set this folder as a source in your Gateway (Help Desk -> Dictionaries -> Gateways, option Folder). This will make Help Desk select emails only from that folder.


How can I add to my notification emails tickets history

You need to add to the template special variable {{var ticket.getHistoryHtml()}}.

Then you need to adjust option Help Desk -> Settings -> Email Notification Settings -> Number of last replies to show in the ticket history, which sets, how long shall be history depth.

By default it is set to 0, therefore, history depth is 0 messages (nothing is displayed). To have history displayed, set it to 1 (only previous message) or above. To have display full history, enter 9999 value.

Note: History includes only public messages. Internal comments are considered as undisclosed to public parties (including customers and third-parties), so they are not displayed in email ticket history.


How can I add your Help Desk ticket creation form to my custom Contact Us page

You need to follow these steps:

  • Go to Help Desk -> Settings -> General Settings -> Create Tickets from Contact Us form and set it to No. It will disable our rewrite, and allow your custom Contact Form to appear back;
  • Go to the System -> Permissions -> Blocks and create a new block with name helpdesk/contacts_form and give it status Allowed;
  • Open your custom Contact Form template. It can be located either in your theme's folder or in CMS -> Pages section as a separate page;
  • Insert to that template this special variable: {{block type="helpdesk/contacts_form" name="root" template="mst_helpdesk/contacts/form.phtml" module_name="Mirasvit_Helpdesk"}}

It will make our form correctly render inside of your custom Contact Form, and produce tickets.


How can I extract data to CSV from Help Desk for external reports

You need to use the following SQL expression, that exports data directly to CSV format:

SELECT ticket.code, ticket.name, ticket.customer_email, ticket.customer_name, status.name AS 'status', priority.name AS 'priority', department.name AS 'department', ticket.created_at AS 'ticket created at', message.updated_at AS 'message added at', message.body as 'message'
FROM mage_m_helpdesk_ticket AS ticket
  INNER JOIN mage_m_helpdesk_status AS status ON status.status_id = ticket.status_id
  INNER JOIN mage_m_helpdesk_priority AS priority ON priority.priority_id = ticket.priority_id
  INNER JOIN mage_m_helpdesk_department AS department ON department.department_id = ticket.department_id
  INNER JOIN mage_m_helpdesk_message AS message ON message.ticket_id = ticket.ticket_id
  INTO OUTFILE 'export.csv'
  FIELDS TERMINATED BY ','
  ENCLOSED BY '"'
  LINES TERMINATED BY '\n';

Note: It's a general-purpose SQL expression, you might need to modify it to suit your needs.


We're migrating our Magento install to a new server with the same setup. How to transfer all Help Desk MX data from old to new.

You need to transfer directly these tables in the following order to preserve dependencies:

  • Stage 1: Dictionary values
    • m_helpdesk_status;
    • m_helpdesk_priority;
    • m_helpdesk_department;
    • m_helpdesk_department_store;
    • m_helpdesk_department_user;
    • m_helpdesk_field (only if you use Custom Fields functionality)
  • Stage 2: Tickets
    • m_helpdesk_ticket
    • m_helpdesk_message;
    • m_helpdesk_history;
    • m_helpdesk_attachment
  • Stage 3: Move /media/helpdesk/attachment folder to the new server, if you're using File System as attachment storage (check it at Help Desk -> Settings -> General Settings -> Store attachments in).

Note: This solution applies only when you're moving data from one installation of Mirasvit Help Desk MX to another one of the same version. If you need to migrate data from other extension, or migrate from Help Desk for M1 to Help Desk for M2, contact our support team.

Known Issues

This section describes solution for a most frequently errors, which customer can encounter.


I noticed, that there's very frequent actions on the pages, that connects to /helpdesk_ticket/checknotification/ URL, they make CPU load high

It is our background task, which is used to save draft work on tickets, and check for new arrivals - which should be displayed as desktop notifications.

Solution:

You need either to turn then off, or set larger values for task execution. To do this, you need to set these two fields:

  • Help Desk -> Settings -> General Settings -> Tickets autosave period, sec
  • Help Desk -> Settings -> Desktop Notification Settings -> Notifications check period, sec

The first disables drafts autosave, the second - checking for new arrivals. Set them to 0 to disable, or increase values up to 600-900 seconds to reduce checking period using settings above. Normally, we use these features with 10-20 seconds for checking period, but for high-load servers we recommend to use 300-600 seconds - e. q. 5-10 minutes. The precise value can estimated by daily performance analysis of your CPU load..


I noticed very slow access to tickets, and it was not happening before

This issue can appear, if you use database for attachment storage (check it at Help Desk -> Settings -> General Settings -> Store attachments in), and table [YOUR_PREFIX]m_helpdesk_attachment has grown above 1Gb.

Solution:

  • Clean all records in the table m_helpdesk_attachment, which have stored body in database. But it will render all attachments inaccessible;
  • Contact our team for a special script, which will move all your database-stored attachments to the filesystem.


I had set up Gateway, but received "Authentication error" in Last Fetch Result column

This means, that mail server can not authenticate your IMAP (or POP) request. To resolve this issue you need to consult your mail server's recommendations for accessing with mail clients, and ensure, that the following parameters match:

  • If you use IMAP protocol, ports should be 993, 995 (with encryption) or 142 (without)
  • If you use POP protocol, ports should be 995 (with encryption) or 110 (without).
  • If you use TLS encryption, make sure, that your mail server has valid certificate. If you're not sure, use "TLS (w/o validation)" option in Encryption field (Help Desk -> Dictionaries -> Gateways -> [YOUR_GATEWAY]).
  • There also can be non-standard ports, depending on encryption. 467 for SSL and 587 for TLS.

There also can be the following external causes of this issue:

1. You use a two-factor authentication in your mailbox

In this case, you need to create a special password for helpdesk and use it when you configure the gateway. If you use GMail, refer to this tutorial.

2. IMAP is disabled for your mailbox

Please, contact your mailbox provider and ask them to email IMAP.

Note: if your browser uses cache, each time you edit Gateway settings, write down password each time carefully. Cache can restore your older password, and replace current with it, blocking authentication.


I still have an error "enable IMAP extension in PHP configuration of your server", but IMAP is enabled

This issue also can be reported by our Email Fetching module and can be seen at Helpdesk > Dictionaries > Gateways, where error "Can't fetch" appears. There can be the following causes:

1. IMAP is disabled on shell-level

PHP can have two configurations. One for Apache (or other server), second for shell (also called CLI), where php-imap extension should work. Our extension is fetching emails at shell level (via crontasks), so we can use only php shell.

You can confirm this cause by running the following command from shell console: php -m | grep imap. If you see empty result, then imap is not enabled and you need to fix this.

Solution:

  • Contact your hosting provider and ask to enable php-imap for PHP at shell level.

2. Stucked crontask, which blocks fetching process

This cause can be confirmed using third-party freeware extension AoE Scheduler and use its option Timeline view.

Solution:

  • Kill all stucked crontasks (via List View option of Scheduler, for example) and restart cron.

3. Lock file has wrong permissions, or for some reason was not removed during one of previous fetch

This cause can be confirmed by checking file helpdesk.lock at /var/locks directory.

Solution:

  • Increase period for mirasvit_helpdesk crontask via Job Configuration option of Scheduler, or editing file app/code/local/Mirasvit/Helpdesk/etc/config.xml.
  • Remove lock file. It will be re-created by our extension with proper permissions on next fetch;

4. Too large mailbox contents

This cause can be confirmed by checking quantity of emails directly in mailbox. If there's above 1000-2000 messages, then it is the most probably cause.

In fact, it's known issue of IMAP protocol. Our extension fetches collection of all emails, then filters it by Unread flag. If quantity emails is too large, collection is selected longer, than IMAP has timeframe for response, and collection returns empty. Our extension thinks, that there's nothing to fetch, and exits.

Solution:

  • Clean your mailbox from old emails, or
  • Create inside your mailbox a folder. Then, using rules in your mailbox (not in Help Desk), do one of these actions:
    • Create a rule, which will move all Unread emails to that folder. Then go to Help Desk -> Dictionaries -> Gateways, pick up a Gateway, and put to the Folder field name of created mailbox folder;
    • Create a rule, which will move all Read emails to that folder. In this case no additional setup needed, fetch will be restored because selection from general Inbox will be much smaller.


The customer creates a ticket, but my reply is not coming to his mailbox (or notification does not sent)

Our extension uses notifications system to notify customers about updates. Templates for these notifications is set at Help Desk -> Settings -> Email Notification Settings section. If these updates not appear at the customer's account, even when templates are set, there can be the following causes:

1. Notifications are treated as Spam.

Some email providers (Amazon for example) can check email headers for additional attributes, or other criteria, and place them under Spam mark. To confirm this cause just visit your Spam folder in mailbox.

Solution:

  • Add exceptions to the Spam filters for them.

2. Your template contains invalid UTF-8 symbols.

It is common on non-standard platforms, or when for templates edit different platforms are used simultaneously.

Solution:

  • Copy your template code to the editor, that shows non-printable symbols (Notepad++ or Sublime), and correct them. Then re-save your template to resolve.

3. You had activated Sandbox mode

If you set option Help Desk -> Settings -> Developer Settings -> Activate Sandbox to Yes, our extension sends all outgoing emails to mailbox, set in Send All Outgoing emails to Email (located in the same section of Settings). If that field is empty, no notifications are sent at all.

Solution:

  • Turn off Sandbox mode by setting No to the Activate Sandbox option, or
  • Add a mailbox to Send All Outgoing emails to Email.

4. You're using email extension, that for some reason can not send our template.

This is common for Mandrill-based services, that has their own email structure. Typically they create an exception logs with the real error. In this case contact our support team.

5. You're sending reply to a Gateway from the mailbox, which is also a Gateway.

All emails, which come from mailboxes, which were set as a Gateway, are skipped during fetch procedure. It is done to prevent infinity cycling due to "conversation" between two Gateways.


Email replies do not bind to their tickets, and fetched as new tickets.

Our extension uses for proper message binding to tickets special hidden block, which contains its code. If binding does not work, there can be the following causes:

1. Binding variable is missing from email template

This issue can appear, when special variable {{var ticket.getHiddenCodeHtml()}} is missing in email template. Also, it can be caused by some filter or spam protection means of your email provider.

Solution 1

  • Go to Help Desk > Settings > Email Notification Settings and check name of the particular template
  • If custom template selected, go to System -> Transaction Emails and edit that template. Put variable {{var ticket.getHiddenCodeHtml()}} in appropriate place and save.
  • If standard template selected, check templates at app/locale/[YOUR_LOCALE]/template/email/mst_helpdesk/ directory. Restore {{var ticket.getHiddenCodeHtml()}} to appropriate template and save it.
  • Purge ALL your cache.

Solution 2

  • Go to Help Desk > Settings > Email Notification Settings and set Show Ticket ID in the email title option to Yes

2. Email service removes hidden ticket code

This issue can appear, when email service (Office360, for example), which cleans all additional email attributes, is used for either sender or gateway. So the code of ticket is stripped from email and customer answer can not be binded to proper ticket.

Solution:

  • Go to Help Desk -> Settings -> Email Notification Settings and set option Show Ticket ID in the email title to "Yes".


The customer creates a ticket and I get a message in the system. My reply works too, but the customer next reply doesn´t appear in the Backend.

  • Ensure, that third-party email clients do not have access to your mailbox, which is used as Gateway. Our extension fetches only that emails, that have Unread mark. Some email clients (for example, Outlook) mark emails as Read during preview or even during just listing of mailbox contents. If you need to work with your mailbox using email client, please, set in its settings to not mark emails as Read.
  • Ensure, that these replies are not placed to the Spam folder (Help Desk -> Spam). It is possible, if Spam Patterns (Help Desk -> Dictionaries -> Spam Patterns) are too general
  • Check, whether these tickets are actually came to your Help Desk, but did not converted for some reason. All fetched emails "as is" are stored in table [DB_PREFIX]_m_helpdesk_email. Search there for missing emails. If they are here, than it can be a bug of email to ticket conversion. In this case contact our support team.

Note for Apple Mail users: Apple Mail haven't an option to mark emails as unread during fetch or preview. But there's an overwork, that might help - you can either use TruePreview for Apple Email, or set Read Mark delay to 5 minutes (this is the period of our extension fetch).


The customer creates ticket, and then notifications begin to add infinitely, creating a cycle

Our extension appends to notifications special attribute "Auto-submitted". This attribute is RFC-3834-compliant and used to avoid falling to infinite cycle. If for some reason this attribute is not added - then notification triggers automated response, it is fetched by helpdesk and also triggers notification - and therefore, messages fall to infinite cycle.

There can be the following causes:

  • You have option Help Desk -> Settings -> General Settings -> Send blind carbon copy (BCC) of all emails to set to the same mailbox, as one of your Gateways. BCC copy mode strips all email attributes, except it's content - and our special attribute as well. Set this option to empty to resolve issue, or to other mailbox, not connected to Gateways.
  • You have added to Bcc field of particular ticket mail address, that also used as Gateway. Clear this field and re-save ticket to resolve.


The customer creates a ticket, but attachments do not appear neither in staff responses, neither in customer's replies.

Our extension uses default PHP mechanism to upload attachments. But there can be the following external causes:

1. Size of attachments is too large to fit current PHP limits.

This cause appears in most cases. To confirm it, try to upload subsequently smaller files (a few KBytes) up to larger.

Solution:

Increase limits of upload size by increasing value of two variables in PHP.ini (or in .htaccess) - we recommend up to 40M:

  • memory_limit = 40M
  • upload_max_filesize = 40M
  • post_max_size = 40M

Then restart Apache to make new values apply. Typically it can be done via command /etc/init.d/httpd restart or sudo service apache2 restart.

If you use database as storage (or use one of our older versions), you might need to adjust these variables as well, they will increase also time frame for transaction:

  • max_execution_time = 5000
  • max_input_time = 3000

Note: these limits should be changed for both CLI (command-line interface) and server PHP configurations.

2. No free space for storing attachments

Solution:

  • If you use file system as an attachment storage (Help Desk -> Settings -> General Settings -> Store attachments in set to File System), check, that folder /media/helpdesk/attachments has proper permissions. Account, which manages Magento, should have there write permissions;
  • If you use database as an attachment storage, check size of [DB_PREFIX]m_helpdesk_attachment table. If it's too large, then update request (e. q. image uploading) just dropped before database response. Clean up this table (this will also destroy old attachments), or ask our support team to move attachments to the file system.

Note: In some rare cases server can utilize CR+LF correction service. It is commonly applied to all uploaded files, like they are text. This leads to image corruption, so they will be recognized by our extension as non-existent. If such service is installed on your server, place exception there to allow our extension upload files as is.


Tickets are created and messages added, but attachments only displayed, download returns 0 bytes

This error most frequently appears, when customer uses file system as attachment storage, and files either do not saved at all, or can not be retrieved.

Solution:

  • Make sure, that directory /media/helpdesk/attachments has proper permissions and same owner, that runs Magento;
  • Make sure, that there's no service, that filter outcome data stream, and can block download links;

Note: In some rare cases, if you have two Help Desks installed on two different servers, and they have the same Gateways (or share database), attachments can be actually stored on other server. To confirm this issue turn off all Gateways on each of your Help Desks and check for this issue again.


Help Desk keeps asking for the third party email address when sending any emails, even when I have a customer email address selected

This issue can appear after update, when old javascripts for some reasons are not refreshed. Since "Third Party Email" is hidden by Javascript on-the-fly. If for some reason this javascript is not loaded, or conflicting with some other script - field won't be hidden, and customer is required to enter third-party email in every message.

Solution:

  • If you use some kind of scripts merging or caching, turn it off and go to System -> Cache Management and use button Flush Javascript/CSS Cache for Javascript refresh. This is the most frequent cause;
  • If this will not help, check for Javascript errors in Console (using Firebug for Firefox, or similar tool for Chrome), and it can reveal the source of conflict (most typically it is a jQuery conflict - refer to I have two jQuery libs on the page issue below).


Agent's signature is set, but not displayed in notification emails to customer

This issue can appear, when special variable {{var user.getSignature()}} is missed from template.

Solution:

  • Go to Help Desk > Settings > Email Notification Settings and check names in Template of New Ticket Email for Customer or/and Template of New Message Email for Customer
  • If custom template selected, go to System -> Transaction Emails and edit that template. Put variable {{var user.getSignature()}} in appropriate place and save.
  • If standard template selected, check app/locale/[YOUR_LOCALE]/template/email/mst_helpdesk/notification_new_message_template.html or app/locale/[YOUR_LOCALE]/template/email/mst_helpdesk/notification_new_ticket_template.html. Put back {{var user.getSignature()}} in template and save it.
  • Purge ALL your cache.


I had set Feedback Tab button options (color, font, etc) in Settings, but the button does not change

This issue can appear, if you're using Javascript/CSS caching or minifying using some third-party extension, which has its own caching:

Solution:

  • Go back to Help Desk -> Settings -> Feedback Tab and make sure, that all parameters are set;
  • Go to System -> Cache Management and use button Flush Javascript/CSS Cache to purge cache explicitly;
  • If you use minifying third-party extension, go to its settings and repeat minifying.


I had set Quick Responses, but they do not displayed on some tickets

Our Quick Responses (Help Desk -> Dictionaries -> Quick Responses) have a store-dependency field, which restrict them to particular store.

Open ticket, where Quick Responses are not displayed, and check Additional tab. There will be shown store name. Then return to Quick Responses Grid and add this store to the field Store of all quick responses, that should be displayed.


Quick Responses contain weird javascript code

Example:

/* <![CDATA[ */!function(){try{var t="currentScript"in document?document.currentScript:function(){for(var t=document.getElementsByTagName("script"),e=t.length;e--;)if(t[e].getAttribute("cf-hash"))return t[e]}();if(t&&t.previousSibling){var e,r,n,i,c=t.previousSibling,a=c.getAttribute("data-cfemail");if(a){for(e="",r=parseInt(a.substr(0,2),16),n=2;a.length-n;n+=2)i=parseInt(a.substr(n,2),16)^r,e+=String.fromCharCode(i);e=document.createTextNode(e),c.parentNode.replaceChild(e,c)}}}catch(u){}}();/* ]]> */, OKD-384-58649, ExampleCompany, ExampleCompany, Administrator, admin@mycompany.com
/* <![CDATA[ */!function(){try{var t="currentScript"in document?document.currentScript:function(){for(var t=document.getElementsByTagName("script"),e=t.length;e--;)if(t[e].getAttribute("cf-hash"))return t[e]}();if(t&&t.previousSibling){var e,r,n,i,c=t.previousSibling,a=c.getAttribute("data-cfemail");if(a){for(e="",r=parseInt(a.substr(0,2),16),n=2;a.length-n;n+=2)i=parseInt(a.substr(n,2),16)^r,e+=String.fromCharCode(i);e=document.createTextNode(e),c.parentNode.replaceChild(e,c)}}}catch(u){}}();/* ]]> */

This script is used by CloudFlare Email Protection, cloud service, which masks 'on-the-fly' email addresses by placing special script after them.

Solution:

  • Turn off CloudFlare Email Protection service, or
  • Go to Help Desk > Dictionaries > Quick Responses and adjust Quick Responses content, so they not contain open email addresses or variables, which can be translated to them.


I have two jQuery libs on the page, and it's causing unchecked Javascript errors

If your store uses own jQuery, you may need to disable jQuery used by Helpdesk.

Solution:

Remove the line

     <action method="addJs"><script>mirasvit/core/jquery.min.js</script></action>

from the following files:

  • /app/design/adminhtml/default/default/layout/mst_helpdesk.xml
  • /app/design/frontend/base/default/layout/mst_helpdesk.xml

and Purge ALL your cache, especially Javascript/CSS cache, if you have scripts combined or minified.

Change Log

Change Log

1.5.16

(2019-06-05)

Fixed

  • Added magento encryptor for gateways passwords

1.5.15

(2019-03-14)

Fixed

  • Issue when global search results contain archive and spam tickets
  • Issue when global search does not show order number
  • Can not create ticket for emails with new domains
  • Prevent crush on broken tickets

Improvements

  • Process of parsing emails into ticket messages

1.5.14

(2018-08-29)

Fixed

  • Solved possible XSS security issue
  • Small backend design issue

1.5.12

(2018-06-12)

Improvements

  • Added spellcheck to WYSIWYG Editor
  • Added loader to popup form submission
  • Added validation for spam patterns

Fixed

  • Span emails do not mark as "processed" and create loop of spam emails
  • After gateway removing unprocessed emails cause errors
  • Submit of empty contact form causes error
  • Issue when customer is able to create two custom field with the same code
  • Incorrect timezone for last fetch time in the list of gateways
  • Email validation for "Contact Us" form

1.5.11

(2018-03-09)

Fixed

  • Styles in ticket form creation

1.5.10

(2018-02-22)

Fixed

  • Global search does not work for multi-byte chars
  • Validation for spam patterns

1.5.9

(2018-01-05)

Improvements

  • Styles for Intenso theme. Main block of the Help Desk pages jump down under sidebar menu

Fixed

  • Sorting of the "Assigned to Order" list

1.5.8

(2017-12-21)

Fixed

  • Compatibility with Magento 1.9.3.7. If I try to insert quick responses, they don't work and I see a js error Uncaught TypeError: Cannot read property 'execCommand' of null at HTMLSelectElement.<anonymous> (adminhtml.js:223).

1.5.7

(2017-12-20)

Fixed

  • Extension validator shows incorrect error You may have a problem with html tags in emails > ticket history [HDMX-204]. Update extension.

1.5.6

(2017-12-14)

Improvements

  • Order list loading

Fixed

  • Assign customer search
  • Quick Responses

1.5.5

(2017-11-30)

Fixed

  • Global search for tickets
  • Custom fields displaying
  • Tags drop on external link message posting

1.5.4

(2017-09-19)

Fixed

  • Resolved issue with high CPU load due to Desktop Notifications
  • Fixed ticket saving issue when store and database have different timezones

1.5.3

(2017-09-13)

Features

  • Added ability to filter uploaded files

Fixed

  • Solved XSS security issue (please update the extension)

1.5.2

(2017-07-21)

Features

  • HDMX-90 - Added comprehensive Known Issues and How-To sections to documentation (#91)
  • HDMX-88 - Added Tags filtering in Tickets Grid (#89)
  • HDMX-85 - Filtered satisfaction rates from Google IPs (#86)
  • HDMX-81 - Added to History changes of Status and Owner (#82)
  • HDMX-77 - Added [order_increment_id] and other order-based variables to Quick Responses (#78)

Fixed

  • HDMX-83 - Fixed incorrect attachment to message binding, if email with the same ID existed before (#80)
  • HDMX-79 - Adding messages to Spam ticket is forbidden now (#80)
  • HDMX-75 - Fixed saving of custom fields with date format (#76)
  • HDMX-70 - Fixed permission bug for Third Party Email dictionary (#71)

1.5.1

(2017-02-02)

Fixed

  • HDMX-64 - Fixed event firing issue, made internal post generate proper event (#65)

Features

  • HDMX-54 - Allow integration Contacts Form with KB (#55)
  • HDMX-56 - Allowed using of variables in User Signatures (#57)
  • HDMX-62 - Added three minute-based conditions to Help Desk Workflow Rules (#63)
  • HDMX-66 - Allowed Notification Indicator to show only for Help Desk staff (#67)
  • HDMX-59 - Added Frequently Asked Questions to documentation (#68)

1.5.0

(2016-11-29)

Fixed

  • New Message template preview crush at Transaction Emails
  • Incorrect department save when answering staff has no department
  • Customer Email column issue and Order Number condition check issue
  • Mirasvit_Helpdesk_Model_Observer_CheckSessionLifetime::execute method creates the early session issue in magento admin

Features

  • Added new rules to email parser

1.4.9

(2016-09-27)

Fixed

  • Fixed incorrect display of statuses with extended colors in Frontend
  • Fixed active tickets calculation for ticket statistic
  • Fixed search by Last Message column
  • Fixed error log messages

Features

  • Added possibility to display tags in admin grid
  • Added email variables for last customer and staff messages

1.4.7

(2016-08-23)

Fixed

  • Fixed an issue when user with the same email as gateway organized loop of answers (#32)

1.4.6

(2016-08-15)

Fixed

  • Fixed incorrect Hours since rule validation and notification corrected (#25)
  • Fixed an issue when incorrect email encoding makes fetch fail (#29)
  • Fixed an issue when wrong tickets url in "Customer -> Help Desk Tickets" tab (#27)

Improvements

  • Added mass action Restore tickets (#23)

1.4.5

(2016-07-28)

Fixed

  • Fixed an issue when satisfaction form does not display on ticket external view (#20)

1.4.4

(2016-07-27)

Fixed

  • Fixed an issue when in some cases 'uid' parameter cut from $_REQUEST (#19)

1.4.3

(2016-07-02)

Fixed

  • Added to Validator missing tables for Third-Party Dict… (#12)
  • Fixed issue with Fetch Max counting also auto-submitted emails (#14)
  • Added check for gateways address on Fetch (Mandrill compatibility issue) (#8)
  • Fixed incorrect visibility for agent's respond as thirdparty (#10)
  • Fixed long URIs breaking outside message div (#6)
  • Added missed source options to the conditions of workflow rules

1.4.2

(2016-06-15)

Fixed

  • If session cookie lifetime is not set in config, extension may autologout user

1.4.1

(2016-06-13)

Improvements

  • Close merged ticket after tickets merge

Fixed

  • Possible js conflict with 3rd party layred navigation

1.4.0

(2016-06-08)

Features

  • HDMX-276 - Added ability to rate support answers via frontend
  • Added loader to feedback tab

1.3.4

(2016-06-03)

Features

  • HDMX-285 - Added customer Cross-comments

Fixed

  • HDMX-290 - Fixed order sorting in frontend ticket submission form

1.3.3

(2016-05-18)

Features

  • HDMX-278 - Added email preheader. Emails of helpdesk will be more nice in the mailbox.
  • HDMX-271 - Don't allow to send Cc and Bcc of emails to own gateways

1.3.2

(2016-05-13)

Fixed

  • HDMX-284 - Fixed an issue of Session Lifetime
  • HDMX-282 - Fixed incorrect Unread flag assigning for Internal messages

1.3.1

(2016-05-10)

Improvements

  • HDMX2-22 - Improved ticket answers' parser

Fixed

  • HDMX-279 - Fixed ticket history
  • HDMX-281 - Fixed store-based filtering of Custom Fields at List page in Customer Account

1.3.0

(2016-05-03)

Features

  • HDMX-274 - Added dictionary for Third Party Emails

1.2.7

(2016-04-21)

Features

  • HDMX-272 - Added Tickets Autosave section to the Help Desk Settings and check period settings
  • HDMX-267 - Added separate permission for Reports refresh recent and lifetime
  • HDMX-270 - Added eBay identification reference number to emails

1.2.6

(2016-04-12)

Fixed

  • HDMX-269 - Fixed bug, that allowed Internal Note to be send to the CC and BCC

1.2.5

(2016-04-06)

Fixed

  • HDMX-268 - Adjusted validator to current database structure

1.2.4

(2016-04-01)

Improvements

  • Notification about ticket opened by another manager

Fixed

  • HDMX-266 - Fixed email variable check
  • HDMX-266 - Fixed incorrect display of assigned order and incorrect data saving if ticket was dropped
  • HDMX-265 - Fixed incorrect display of custom fields with drop-lists in Workflow Rule Conditions
  • HDMX-264 - Fixed incorrect display and download of files with extended characters
  • Fix possible problem when we receive a huge email

1.2.3

(2016-03-02)

Fixed

  • Incorrect validator check of department assigned to gateway
  • Add additional validator checks

1.2.1

(2016-02-25)

Fixed

  • HDMX-261 - Possible error when switch storeview in backend (affects only 1.2.0)

1.2.0

(2016-02-25)

Features

  • HDMX-228 - Show desktop notification about new tickets and new messages
  • HDMX-229 - Allow managers to edit/delete a message from the ticket history
  • HDMX-243 - Added Customer Email and Order columns to the Tickets Grid

Fixed

  • HDMX-240 - Fixed misformed link in Satisfaction Grid
  • HDMX-238 - Added additional check for external tinyMCE to prevent Quick Responses always translated as HTML
  • HDMX-224 - Solve the problem with possible ticket loop

1.1.8

(2016-01-29)

Features

  • RMA-122 - Add RMA tab inside the ticket page of Help Desk
  • HDMX-100 - Added to Workflow Rules new conditions - customer email, cc email, bcc email, order number and channel
  • HDMX-210 - Added quick responses migration from MW to HDMX

Bugfixes

  • HDMX-222 - Added button text change to have consistent dialog
  • HDMX-222 - Fixed issue with button Create Ticket change when WYSIWYG enabled
  • HDMX-211 - Possible error during fetch: "Notice: iconv(): Wrong charset, conversation from ..". Affects from 1.0.3.532.

Improvements

  • HDMX-216 - Field Sender Email in Departements must be required and validated by email pattern
  • HDMX-218 - improve docs and help message of gateways
  • HDMX-217 - Add help note in configuration
  • HDMX-161 - Gateway note message

Documentation

  • HDMX-195 - Add to manual method to insert our Contact Form as block in CMS page
  • HDMX-100 - Added description of conditions
  • HDMX-215 - Added descriptions of email variables in workflow rules

1.1.7.2022

  • HDMX-206 HDMX-209

1.1.7.2019

  • HDMX-208

1.1.7.2017

  • HDMX-198

1.1.7.2012

  • HDMX-205

1.1.7.2010

  • fix: HDMX-204: If enabled WYSIWYG, ticket history shows html tags
  • HDMX-201
  • HDMX-200
  • HDMX-199

1.1.5.1738

  • Add additional changes for HDMX-170

1.1.5.1704

  • HDMX-156
  • HDMX-155

1.1.5.1701

  • HDMX-153
  • HDMX-153
  • HDMX-149
  • HDMX-151
  • HDMX-150

1.1.5.1699

  • HDMX-148

1.1.5.1692

  • HDMX-145
  • HDMX-91

1.1.5.1688

  • HDMX-143

1.1.5.1683

  • HDMX-102

1.1.5.1680

  • HDMX-141

1.1.4.1634

  • HDMX-94
  • HDMX-138

1.1.4.1630

  • HDMX-135 -- If i do search in the main grid, search is applied to the ticket list in the Order Tickets Tab
  • HDMX-133 -- If order have only billing address, ticket creation from that order fails

1.1.4.1615

  • HDMX-130 -- When notificator has to be delivered to multiple recipients, sending email fails

1.1.4.1613

  • HDMX-125 -- When javascripts merged, adminhtml.js fails (affects releases from 1.1.3.1449)

1.1.3.1577

  • HDMX-109 -- Automatically sets default value "Internal Note" for the "Message Type" at the Reply field

1.1.3.1447

  • HDMX-101 -- Undefined index: customer_email in ../Helpdesk/Helper/Customer.php on line 43

1.1.3.1446

  • HDMX-98 -- When in contact form credentials differs from account data, ticket created with credentials from account
  • HDMX-92 -- Allow automatic assigning order to a ticket from email subject

1.1.2.1417

  • HDMX-90 -- When Mandrill is active, fatal error raises on sending CC

1.1.2.1410

  • HDMX-89 -- In contact form all departments are displayed, including inactive
  • HDMX-88 -- Backend: When i open an edit customer page, Tickets tab, ticket sorting is not working correctly

1.1.1.1343

  • HDMX-85 -- Option for enabling/disabling accepting tickets from other helpdesks
  • HDMX-84 -- When deleting a department, assigned to a gateway, reference in m_helpdesk_gateway persists

1.1.0.1296

  • HDMX-81 -- Kill helpdesk process if it has been stuck

1.1.0.1288

  • HDMX-77 -- Allow storing attachments in local file system

1.1.0.1285

  • HDMX-70 -- Ability to merge tickets

1.0.1.0.1251

  • HDMX-69 -- Signature for each agent
  • HDMX-68 -- Insert Quick response not working if WYSIWYG editor is enabled.
  • HDMX-61 -- Block send button to prevent sending twice
  • HDMX-67 -- When we open a ticket, filter of main tickets grid is applied to the "Other tickets" list
  • HDMX-62 -- Protect helpdesk from hanging with recursive fetching of emails
  • HDMX-66 -- Backend: After creating a new ticket, forward agent to the tickets list
  • HDMX-63 -- Allow to hide all agent names from the frontend

Help Desk MX