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.

Help Desk MX