Child pages
  • Help Desk Ultimate - Magento 2

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents


Firefox user notice:

Please use different web browser to view this document.

Sorry for the inconvenience.




Magento 2 Help Desk Ultimate effectively arranges the operations with customer tickets. Tickets can be created by customers from the dedicated account area, contact form, email or by admins from the backend by assigning them to individual departments or support agents. Additionally, the module automates recurring tasks, including ticket status changes and agent/department assignment.   

Compatibility: Magento Open Source 2.2.X - 2.3.0, Magento Commerce 2.2.X - 2.3.0

UI Button
titleProduct Page

Thank you for choosing Aheadworks!

Installing Help Desk Ultimate


Command Line Installation


1. Backup your web directory and store database


2. Download the Help Desk Ultimate installation package


 3. Upload the contents of the Help Desk Ultimate installation package to your store root directory


 4. In the SSH console of your server, navigate to your store root folder:

No Format
cd path_to_the_store_root_folder

run the following command:

No Format
php -f bin/magento module:enable Aheadworks_Helpdesk


No Format
php -f bin/magento setup:upgrade


No Format
php -f bin/magento setup:static-content:deploy

5. Flush the store cache; log out from the backend and log in again


Make sure the installation is done from under the FTP administrator account. Otherwise make sure to set 775 permissions to the store root directory after the extension is deployed.


Composer Installation


1. Log in to your customer account at and navigate to Account -> Composer access;


2. Configure your store to work with the Aheadworks composer repository:

Add the composer repository to composer.json by running:

composer config repositories.aheadworks composer in the Magento installation root.

Use the provided key pair as a login and pass. You can optionally save them to the global composer auth file.


 3. You can start using AW composer now.

 For extension names, navigate to Account -> Composer access.


 4. Open the root Magento directory on your server and send Composer the following command:

composer require <component-name>:<version>

Note: Use the previously copied component's name and version.


 5. Make sure that Composer finished the installation without errors. Flush the store cache, log out and log into the backend again.

Migrating tickets from Magento 1

The version 1.2.0 of Help Desk Ultimate for Magento 2 introduces a ticket migration tool. The tickets accumulated with Help Desk Ultimate for Magento 1 can be migrated with the help of Magento Data Migration Tool. To migrate the tickets, follow the steps below:


Read carefully and consider this information of top priority as otherwise it might result in an accident data loss.


  1. Magento Data Migration Tool is required to be installed prior to starting migration.
    The migration script relies heavily on Magento Data Migration tool. Understanding how it works will prove useful during migration process.
  2. Backup Magento 2 databases before migration to have an opportunity to revert any changes.
    Ticket migration may involve rewriting database tables, backup is advised.
  3. Tickets can only be migrated from M1 Help Desk Ultimate 3.x.x version. If you have previous versions installed, do not attemt migrating tickets on your own.
  4. Department website is defined by Magento 1 extension settings. Store and Website IDs should concur.
    If departments are set to All Storeviews, then they will be assigned to All Storeviews of Magento 2.
  5. Department Gateway password cannot be migrated.
  6. Ticket statustes are migrated according to the following pattern:
    New + Open > Open;
    Closed > Solved;
    Waiting for customer > Pending. 
  7. Ticket priorities are migrated according to the following pattern:
    Urgent + ASAP > High;
    To do > Normal;
    If Time > Low.
  8. Order infromation tied to the ticket will only be migrated if there is an order with the same increment_id in the Magento 2 database.
  9. Help Desk agents in the migrated tickets are identified by the email address. If there are no administrator users created with the same email address for Magento 2, then the migrated tickets will save the name of the Help Desk agent, however will not be assigned to any agent.
  10. Customer information is migrated in full, except for cases when there is no customer with the same email address on the Magento 2 store.
  11. Help Desk Ultimate for Magento 1 tickets can contain HTML tags which will be deleted upon migration.
  12. Tickets deleted from Magento 1 cannot be transferred to Magento 2.

1. Install Data Migration Tool following the instuctions provided by Magento team.


2. Copy contents of data-migration-tool/ folder found in the installation package of Help Desk Ultimate for Magento 2 to vendor/magento/data-migration-tool/ folder.


3. Navigate to vendor/magento/data-migration-tool/etc/aw_hdu3/ and open config.xml for edit.

More information on the tag values and what one should put inside can be found in the Magento Data Migration Tool configuration instructions.
<source> - is a database from which you will be migrating tickets.
<destination> - is a database to which you will be migration tickets.

4.Copy the folder media/aw_hdu3/ containing ticket attachmentsof Help Desk Ultimate for Magento 1


pub/media/tmp/aw_hdu3/ folder of Help Desk Ultimate for Magento 2

If there are no attachments - create an empty pub/media/tmp/aw_hdu3/ folder.

If there is no pub/media/tmp/aw_hdu3/ folder the migration process will stopped with a warning message "Attachments folder does not exist!"


5. Run the migration process from the console:

No Format
bin/magento migrate:data -r vendor/magento/data-migration-tool/etc/aw_hdu3/config.xml

6. Ticket migration is complete.


Set up cron

Help Desk Ultimate extension uses cron to parse emails from the gateway into the tickets and to send notification emails to customers.



If you have already configured cron jobs for your Magento installation then you can skip this step. Read the following instructions on setting cron job for your Magento store: Magento user guide.

Generally it would be enough to run in SSH console of your server: 


Code Block
crontab -e


And insert the following line:  


Code Block
*/3 * * * * php -c <ini-file-path> <your Magento install dir>/bin/magento cron:run
*/3 * * * * php -c <ini-file-path> <your Magento install dir>/update/cron.php
*/3 * * * * php -c <ini-file-path> <your Magento install dir>/bin/magento setup:cron:run


Don't forget to confirm saving request when exit.




Introducing Help Desk Ultimate


Help Desk Ultimate extension for Magento 2 helps bulding support center of the store with effective inquiry management system:

  • Flexible management administrator UX;
  • Process automation with adjustable scenarios;
  • Informative ticket screen with customer data;
  • Ticket carbon copy and external URLs;
  • One-off payment.

The extension streamlines the process of managing customer inquiries by introducing user friendly system that utilizes store resources. In addition to customer account section, the extension fetches all the questions send via native Magento contact form to parse these into the tickets - a minimum help desk unit. The tickets are gathered at the ticket grid and can be assigned to particular help desk agent - a store administrator users eligible to answer questions via help desk. Help desk agents can reply to the tickets, set ticket priority, tie tickets to orders and other. Finally ticket management process can be partially automated with the help of 'Automations' a set of special events that allow sending notifications, changing priorities automatically, and many more, depending on the conditions set.


Reference Table

  • Automation - a scheme with a set of conditions which dictates how the extension should behave on certain occasions;
  • Email gateway - an email address associated with the Help Desk Ultimate extension which is used to receive customer inquiries and send emails to both customers and administrators.
  • Email template - a pre-defined email message;
  • Help desk agent - an administrator user eligible to answer help desk tickets;
  • Ticket - a customer inquiry submitted via contact form, 'Help Desk Ultimate' section or direct email to the extension's gateway;
  • Ticket thread - block containing all customer and help desk agent messages for a particular ticket.


General Settings


Before we get to the 'Getting Around' section one last step required to make the extension fully functional - selecting Agent Users. This step will allow store administator follow the user guide along with getting acquainted with the extension.

Once installed Help Desk Ultimate extension introduces its configuration section to Stores > Configuration > Aheadworks extensions > Help Desk Ultimate.

General configuration section allows selecting store administrator users for help desk agents.

In the Agent Users block store administrator specifies backend users eligible to answer tickets. Help desk agents act as support representatives of the store.


Getting around


Customer area

When installed Help Desk Ultimate extension introduces its section to the customer's account (My account > Help Desk Ultimate).

The Help Desk Ultimate section of the customer's account represent a ticket grid, where one can find all the tickets submitted with the following information:

  • ID - induvidual number of the ticket used for identification purposes;
  • Subject - a ticket subject;
  • Order - an order ID the ticket is tied to;
  • Status - status of the ticket:
    • Open - indicates that customer's reply is required;
    • Pending - indicates that administrator's reply is required;
    • Solved - indicates that the ticket has been resolved.
  • Last Reply - the date of the latest reply from either customer or store administrator in the ticket.

Ticket subject and order ID are represented via internal store links. By clicking order ID customer is redirected to 'My Orders' section to review the appropriate order. When clicking a ticket subject customer is redirected to the ticket thread.

Ticket thread lists all customer and store administrator messages by the date sent, first messages at the bottom and latest at the top of the thread.

Here customer can send a reply with a file attached or close the ticket if assistance is no longer required or the issue has been addressed.

Submitting a ticket

Help Desk Ultimate extension for Magento 2 introduces multiple ways of submitting a ticket for customers.

Customer account area


The first place customers are suggested to open a ticket is the 'Help Desk Ultimate' section of the customer area.

Here customer is represented with 'Create New Ticket' form suggesting to fill the following information:

            • Subject - a ticket subject for quick issue identification;
            • Department - a Help Desk thematic unit used to specify the type of the inquiry;
            • Order - an order the ticket inquiry is referred to;
            • Message - an inquiry to send to the store administrator;
            • Attachments - a file attachment to illistrate a ticket inquiry.

 After the ticket is composed customer clicks button. If the extension configured as per instructions customer will be displayed following message:


Contact Us form

Another option for customer to submit a ticket is a native Magento 'Contact Us' form. The extension fetches all the messages customers leave in the 'Contact Us' form and parses them into tickets.


When installed Help Desk Ultimate extension disables native Magento notifications sent to store administrator when customer leaves a message in 'Contact Us' form.

Instead, all the messages left via the 'Contact Us' form are parsed into the tickets and notifications are sent using 'Automation' settings of the extension.


Direct email

In addition to the customer account section and 'Contact Us' form, customers can submit tickets by emailing messages directly to the Help Desk Ultimate gateway(s).

If the message is sent from the address matching the email customer used to register an account at the store, Help Desk Ultimate 'recognizes' customer and automatically associates the ticket with the customer's account.

If notifications are enabled via 'Automation' customers can reply to the store administrator messages by replying directly to the notification email.


The logic behind associating email replies with the tickets is following:

  • if email subject contains no ticket ID, the email from customer will create a new ticket;
  • if email subject contains ID of the existing open ticket, the email will add a reply to the ticket thread;
  • if email subject contains ID of the existing solved ticket, the email will create a new ticket.

Managing departments


Help Desk Ultimate departments is basically a section of the Help Desk that can serve as a thematic unit for sorting customer tickets or for internal ticket management purposes.

Before using the Help Desk Ultimate extension store administrator will need to create at least a single department. This department will be used to store ALL the tickets submitted to the help desk until another one is created. In addition, every help desk department can assigned an Email Gateway. The Email Gateway assigned will be used to send the ticket related notifications and convert all incoming emails into tickets. More information on the Help Desk departments can be found in further in this section.

Departments created and manged under Customers > Help Desk Ultimate by Aheadworks > Departments. To create new department click button.


General section of the department configuration allows setting up basic attributes of the department:

  • Name - defines the name of the Help Desk department for internal identification purposes;
  • Websites - defines the websites the department should be available at;
  • In Enabled - defines if the department is enabled and can be used by customers and store administration;
  • Is Visible on the StoreFront - defines if the department can be used by customers to identify the type of the request or if it will be used only for the in-store management purposes;
  • Is Default Department - defines if the depatment is the default one.

Default Department is used to store ALL the submitted tickets by default. Every ticket should be assigned to the department, you can have no departments available on the StoreFront, however, when customer submits a ticket it will be stored under the Default Department.

StoreFront Labels

StoreFront Labels section of the department configuration allows setting up the department name to be displayed at the StoreFront in the Submit Ticket form. Only a single Department Name can be assigned per single Store View.


Gateway section of the department configuration allows setting up a Help Desk department email gateway. The Email Gateway can be used to:

  1. Send email notifications and ticket updates to both customers and help desk agents;
  2. Collect and parse all the incoming emails into the tickets. Instead of using the contact form, customers can email the department email gateway directly to create a ticket.

Basically Email Gateway is an email address used by the extension to receive and send messages. It can be a simple Gmail account or company email. If you are not sure about some of the email gateway settings consult your email provider.



Use only dedicated email address for Help Desk Ultimate gateway. Make sure that the mailbox does not have any messages in an Inbox (main) folder. If the mailbox is not empty, make sure to migrate/archive all important content.

Once configured the extension will parse ALL the messages from the email gateway into tickets. Any incoming email will result in a ticket created.

Do not use the Help Desk Ultimate gateway for other purposes to avoid spam getting into the tickets.

Gateway section comes with the following settings:

The first three settings of the Email Gateway configuration section are following:

  • Protocol - allows specifying if the extension should use IMAP or POP3 protocol;
  • Gateway Host - allows specifying the gateway host;
  • Gateway Email - allows specifying a gateway email address that will be used to receive all the questions.

The second part of the Email Gateway configuration settings:

  • Login - allows specifying the Gateway Email login. At the screenshot above we use Gmail account, so the login is the same as email address;
  • Password - allows specifying password to email gateway;
  • Use SSL/TLS - allows specifying the security protocol to connect to the email gateway.

The last part of the Email Gateway configuration settings:

  • Port - allows specifying the port to connect to the email gateway depending on the security protocol selected;
  • Delete Emails from Host - defines if the email already parsed into the ticket should be removed from the email gateway. Pay close attention to this setting if you have limited email gateway storage .

Once done with all settings click button.

The email gateway for department is now configured and Help Desk Ultimate extension is ready for work. On the following cron launch first emails (if there are any) will be parsed into the tickets.


Permissions section of the department settings dictates what administrator roles are eligible for particular actions within a department:



Native Magento administrator role permissions are still counted when it comes to the ticket and department access:

  1. To edit Departments and Automations the administrator user should have required set of permissions in the Role Resources;
  2. Role Scopes of Magento Enterprise define visibility of Department and Ticket grids;
  3. Mass Actions, Ticket Assignment and Department Change work for tickets the administrator user have a right of update.



Adding department selector to the custom CMS Contact Us page

In case you are using custom CMS page as a Contact Us page, you may want to add Help Desk Ultimate department selector to it.

To do this follow the next steps:

Step 1

Create or open required CMS page

Step 2

In the Design tab, where the contact form and department selector is added paste the following code:

Code Block
<referenceContainer name="content">

            <block class="Magento\Contact\Block\ContactForm" name="contactForm" template="Magento_Contact::form.phtml">

                <container name="" label="Form Additional Info"/>



<referenceBlock name="">

            <block class="Aheadworks\Helpdesk\Block\Contact\Form" name="aw_helpdesk_contact_form" template="contact/form.phtml" />

Step 3

Navigate to your Magento installation folder and open file: app/code/Aheadworks/Helpdesk/Model/Contact/ContactPlugin

At line 164 change:

Code Block


Code Block


Managing tickets


At the backend of the store the extension introduces its section under Customers > Help Desk Ultimate by Aheadworks. When managing tickets store administrator navigates to 'Tickets' page:

Tickets page is where the "magic" happens. Here store administrator can reply to the ticket, change ticket priority, assign another help desk agent, or change the ticket status. Ticket grid contains all the ticket related information including: link to the customer account, link to the order associated with the ticket, name of the agent.

In addition to the ticket related actions, the grid itself can serve as reporting tool. With the help of adjustable filters, store administrator can sort tickets by status, agent or any attribute relevant.

The ticket grid comes with the following elements:

  •  button allows seeing though the columns available and customizing ticket grid. Some columns may be excessive and some relevant to your current tasks;
  •  button allows looking for the tickets matching a set of attributes;
  •  button allows saving the perfect ticket grid look you found to quickly load it whenever required.

Replying to the ticket

When clicking a ticket subject in the gird store administrator is redirected to the ticket reply page:

As per screenshot above the ticket reply page is composed of two functional sections. Ticket information block, on the left, contains all the ticket, customer and order related information. Ticket thread, on the right, allows replying to the customer messages, leaving internal notes and updating ticket status. For the user guide purposes let's talk about these two sections separately.


On Magento 2.3.0 with PHP 7.2 installed, the files can't be uploaded to the newly created tickets in the admin area. This relates to a bug in the Magento 2.3.0 version. To fix this, apply the following patch:

The problem will be fixed in Magento 2.3.1.

Ticket information block


As it has been mentioned previously the ticket information block represents all ticket, customer, and order related information.

The block consists of four tabs, each representing a corresponding portion of information available for help desk agent's convenience.


General section represents information related to the currently opened ticket and allows adjusting some of its attributes:

  • Current ticket status - represents the state of the ticket: open, pending or solved;
  • Priority - indicates and allows adjusting ticket priority: low, normal or high;
  • Department - indicateds the department the ticket belongs to;
  • CC Recipients - allows specifying the recepients that will receive ALL the messages and updates of the ticket;
  • External Link - a link for sharing a ticket thread with third party;
  • Order Number/Status/Date - associated order information;
  • Customer Group - a group of the customer.

Customer info

Customer info section contains customer information, including: name, email, group and date registered.


Tickets section lists all the tickets submitted by the customer.


Purchases section contains:

  • Total purchases amount;
  • Total orders;
  • Total items;
  • List of products purchased per order.

Ticket thread


Ticket thread section is where the "magic" happens. Here help desk agent is suggested to reply to the customer's inquiries.

There are two types of messages help desk agent can leave in the ticket: reply and internal note.

Reply suggests that the message submitted will be sent to the customer. Reply is enabled by default and if changed can be activated with the button.

Internal Note suggests that the message submitted will be available for the help desk agents only and will not be visible to the customer. Internal Note type of message can be enabled by clicking button.

To submit the message either reply or internal, help desk agent clicks button.

Additionally help desk agent can change the status of the ticket to Open, Pending or Solved, without sending a message.




Automations are a set of adjustable help desk conditions that help automating routine ticket management including: ticket status change, email notifications, ticket updates. In other words, upon a certain event, based on conditions set, automation executes a set action on a cron launch. Automation settings can be found under Customers > Help Desk Ultimate by Aheadworks > Automations.

Here store administrator is represented with the Automation grid. The grid has the same look and feel as the ticket grid and comes with the same set of adjustable attributes: columns, filters and viewes.

After the Help Desk Ultimate is installed Automations grid will list a set of eight rules that were created in close cooperation with Aheadworks help desk team to help store administrator get an understanding of basic automation principles and ease the first weeks of managing customer requests. These automation rules consider customer replies to send email notifications, help to highlight the tickets that need a reply and follow up customers after the issue is addressed.

The Automation rules work on the following patter:

1) Cron launches an Automation rule and triggers an event;

2) The extension checks if any of the tickets match the conditions of the event;

a) If conditions of the event are matched, the extension launches an Automation rule action;

b) If conditions of the event are not matched, the extension stops execution of an Automation rule until the next cron launch.

3) The extension stops exection of the rule until the next cron launch

Creating an automation rule

To create an automation rule click button.

The automation rule page can be split into three sections: event, conditions, actions.

Selecting an event

In the first section of the page store administrator is suggested to select an event that will trigger an extension action.

The event defines when the automation rule should be triggered. Help Desk Ultimate extension offers a section of six events;

  • New ticket from customer - when customer submits a new ticket;
  • New ticket from agent - when agent creates a ticket for a customer;
  • New reply from customer - when customer replies to a ticket;
  • New reply from agent - when agent replies to a ticket;
  • Ticket was assigned to another agent - when the ticket is assigned to another agent;
  • Recurring Task - a recurring task that will be executed by Help Desk Ultimate on every cron launch.

Recurring Task excels from the other events by its functionality. The main purpose of this event is to serve as a reminder and to highlight important aspects of the ticket management.

For example, if the ticket has not been replied for more than 24 hours, Recurring Task can highten the ticket priority and send an email notification to responsible help desk agent.

The use cases for Recurring Task may vary depending on the requirements of the store administrator.

Defining conditions

In the conditions section store administrator is suggested to specify when the event shuld be triggered.

Each event comes with a dedicated set of conditions depending on its pecualirities. Most of the conditions are ticket replated, however, some may be customer oriented and target paricular customer group.

The conditions are similar to those of Magento product attributes and follow the same patter:

No Format
If CONDITION is equals/greater/is/isn't value then...

When the Help Desk Ultimate extension is first installed it is strongly suggested to refer to pre-defined set of Automation rules to get acquainted with the Automations workflow and how to use conditions and condition combinations.

Setting up actions

In the actions section store administrator is suggested to specify what action should an extension take upon meeting event conditions.

The actions include sending email notifications to both customer and help desk agent, ticket status and priority change, and assigning ticket to a particular help desk agent. The actions trigger when the Automation rule event and conditions are met.

When done setting up the actions, store administrator clicks button and the Automation rule is good to go.

UI Button
titleProduct Page

Need Customization?

Magento 2 Custom Development Services by Aheadworks

You can always find the latest version of the software, full documentation, demos, screenshots, and reviews on
License agreement:
Contact Us:
Copyright © 2019 Aheadworks Co.