Child pages
  • Help Desk Ultimate - Magento 2
Skip to end of metadata
Go to start of metadata



Magento 2 Help Desk Ultimate effectively arranges 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 tickets to individual departments or support agents. Additionally, the module automates recurring tasks, including ticket status changing and agent/department assignments.   

Compatibility: Magento Open Source 2.1.X - 2.3.X, Magento Commerce 2.1.X - 2.3.X

Product 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:

cd path_to_the_store_root_folder

run the following command:

php -f bin/magento module:enable Aheadworks_Helpdesk


php -f bin/magento setup:upgrade


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

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

The version 1.2.0 of Help Desk Ultimate for Magento 2 introduces the ticket migration tool. The tickets accumulated with Help Desk Ultimate for Magento 1 can be flawlessly migrated to Magento 2.

To migrate the tickets, follow the steps below:

  1. Magento Data Migration Tool is required to be installed prior to starting the migration.
    The migration script relies heavily on the Magento Data Migration tool. Understanding how it works will be useful during the migration process.
  2. Backup the Magento 2 databases before the migration to have an opportunity to revert any changes.
    Ticket migration might involve rewriting database tables, backup is advised.
  3. Tickets can only be migrated from the M1 Help Desk Ultimate 3.x.x version. If you have the previous versions installed, do not attempt migrating tickets on your own.
  4. Department website is defined by the Magento 1 extension settings. Store and Website IDs should concur.
    If departments are set to all store views, then they will be assigned to all Magento 2 store views.
  5. Department gateway password cannot be migrated.
  6. Ticket statuses are migrated according to the following pattern:
    New + Open > Open;
    Closed > Solved;
    Waiting for a customer > Pending. 
  7. Ticket priorities are migrated according to the following pattern:
    Urgent + ASAP > High;
    To do > Normal;
    If Time > Low.
  8. Order information related 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 an email address. If there are no admin users created with the same Magento 2 email address, then the migrated tickets will have the name of the Help Desk agent. However, these tickets will not be assigned to an agent.
  10. Customer information is migrated in full, except for the cases when there are no customers with the same email address on the Magento 2 store.
  11. Help Desk Ultimate for Magento 1 tickets can contain HTML tags that will be deleted upon migration.
  12. Tickets deleted from Magento 1 cannot be transferred to Magento 2.

1. Install the Data Migration Tool following the instuctions.

2. Copy the contents of the data-migration-tool/ folder in the installation package of Help Desk Ultimate for Magento 2 to the 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 tag values can be found in the Magento Data Migration Tool configuration instructions.
<source> - the database from which you will migrate tickets.
<destination> - the database to which you will migrate tickets.

4. Copy the media/aw_hdu3/ folder with ticket attachments of Help Desk Ultimate for Magento 1 to the 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 be canceled with a warning message "Attachments folder does not exist!"

5. Run the migration process from the console:

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

6. Ticket migration is completed.


Set up cron

The Help Desk Ultimate extension uses cron to insert emails from the gateway into the tickets and 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 will be enough to run in the SSH console of your server the following command: 



And insert the following line:  



Don't forget to confirm saving request when exit.


Introducing Help Desk Ultimate

The Help Desk Ultimate extension for Magento 2 helps to arrange a support center in a web store:

  • Ticket automation, including email sending to another customer/agent, ticket status/priority change, ticket reassigning to another agent/department;
  • Detailed ticket processing page with the key ticket, customer info, ticket and purchase history, and message area (internal note support is included);
  • Possibility to send individual tickets to CC recipients (from the ticket processing page);
  • Coupon code generation right from the ticket processing page (provided by the Coupon Code Generator integration).

Extension Logic

The extension streamlines the customer ticket management process. Tickets are located at the ticket grid and can be assigned to a particular help desk agent/department. Help desk agents/departments can reply to tickets, set ticket priority, assign tickets to orders, etc. Finally, ticket control can be partially automated thanks to the automation feature that allows automatically sending notifications, changing ticket priority, etc. depending on the conditions and actions set.


Reference Table

  • Automation - a scheme with a set of conditions that 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 predefined email message;
  • Help desk agent - an admin user eligible to answer help desk tickets;
  • Ticket - a customer inquiry submitted via the contact form, the 'Help Desk Ultimate' section, or direct email to the extension's gateway;
  • Ticket thread - a block containing all customer and help desk agent messages regarding a particular ticket.

Getting Around

General Settings

Once installed, the Help Desk Ultimate extension introduces its configuration section to Stores > Configuration > AHEADWORKS EXTENSIONS > Help Desk Ultimate. There you can select the help desk agents eligible to respond to tickets.

Extension Settings

Customer Area

Additionally, Help Desk Ultimate introduces its section to a customer's account (My account > Help Desk Ultimate).

Help Desk Tab in a Customer Account

The new section represents a ticket grid where one can find all the tickets submitted with the following information:

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

Ticket subject and order ID are represented by internal store links. By clicking the order ID, the customer is redirected to the 'My Orders' section with the corresponding order info.

When clicking the ticket's subject, the customer is redirected to the corresponding ticket thread.

Ticket Thread

Ticket thread lists all customer and store administrator messages sort by the date sent. First messages are displayed at the bottom and the latest ones are at the top of the thread.

Here the customer can send a reply with a file attached or close the ticket if assistance is no longer required and/or the issue is resolved.

Submitting a Ticket

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

Customer Account Area

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

Create New Ticket Form

Here customers are presented with the 'Create New Ticket' form suggesting to fill in 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 - an optional file attachment illustrating the ticket inquiry.

 After the issue is described, the customer clicks . The extension will notify the customer of the successful ticket submission:

Ticket Submission Notification

Contact Us Form

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


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

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

Direct Email

In addition to the customer account section and the '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 the customer uses to register an account at the store, Help Desk Ultimate 'recognizes' that customer and automatically associates the ticket with the customer's account.

If automatic notifications are enabled, customers can directly reply to notification emails sent by the admin.


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

  • if the email subject contains no ticket ID, the email from a customer will create a new ticket;
  • if the 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 extension that can serve as the tool for sorting customer tickets or for internal ticket management purposes.

Before using the extension, you will need to create at least a single department. This department will be used to store all tickets submitted to the Help Desk until another one is created.

In addition, every help desk department can be assigned to a particular email gateway. The assigned email gateway will be used to send ticket-related notifications and convert all the incoming emails into tickets. More information on the Help Desk departments can be found further in this section.

Departments Grid

Departments are created and managed under Customers > Help Desk Ultimate by Aheadworks > Departments. To create a new department, click .

General Department Settings

General Department Settings

The general section of the department configuration page defines the basic attributes of the department:

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

The default department stores all the submitted tickets. Every ticket can be assigned to the department. You can have no departments available at the storefront. However, when a customer submits a ticket, it will be stored within the default department.

Storefront Labels

Department Storefront Label

The 'Storefront Labels' section of the department configuration page sets up the department's name to be displayed at the storefront in the submit ticket form. Only a single department name can be assigned per store view.

Email Gateway Settings

Enabling Email Gateway

The 'Gateway' section of the department configuration page sets 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 insert all the incoming emails into the tickets. Instead of using the contact form, customers can create tickets right from the emails sent to the email gateway.

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


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

Once configured, the extension will migrate all messages from the email gateway to tickets. Any incoming email will result in a ticket created.

To avoid spam, do not use the Help Desk Ultimate gateway for other purposes.

Email Gateway Settings

The section comes with the following settings:

  • Protocol - defines if the extension should use an IMAP or POP3 protocol;
  • Gateway Host - the gateway host;
  • Gateway Email - the gateway email address that will be used to receive customer tickets;
  • Login - the gateway email login;
  • Password - the email gateway password;
  • Use SSL/TLS - the security protocol to connect to the email gateway;
  • Port - the port to connect to the email gateway depending on the security protocol selected;
  • Delete Emails from Host - defines if the email already added to 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 the settings, click .

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

Permission Settings

Department Permission Settings

The 'Permissions' section of the department settings page defines what administrator roles are eligible for particular actions within a department:



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

  1. To edit departments and automations, you need to have the required set of permissions in Role Resources;
  2. Role scopes of Magento Enterprise define the visibility of the 'Departments' and 'Tickets' grids;
  3. Mass actions, ticket assignment, and department change work for the tickets you have the right to update.


Adding a 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 a Help Desk Ultimate department selector to it.

To do this, follow these steps:

Step 1

Create or open the required CMS page

Step 2

In the design tab where the contact form and department selector are added, add the following code:

Step 3

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

At line 164, change:



Managing Tickets

In the backend, the extension adds a new section under Customers > Help Desk Ultimate by Aheadworks. To manage tickets, navigate to the 'Tickets' page.

Tickets Grid

From the ticket page, you can leave replies to tickets, change their priority, assign them to another Help Desk agent/department, or change ticket statuses.

The 'Tickets' grid contains all the ticket-related information, including the link to the customer account, the link to the order associated with the ticket, the name of the responsible agent.

Replying to Tickets

When clicking a ticket subject in the grid, you are redirected to the ticket details page:

Ticket Management Page

The ticket details page is composed of two functional sections.

The ticket information block on the left contains all the ticket -, customer -, and order-related information.

From the ticket message area on the right, you can reply to customer messages, leave internal notes, and update ticket status.


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 solved in Magento 2.3.1.

Ticket Information Block

As it was mentioned earlier, the ticket information block represents all ticket, customer, and order-related information.

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

General Section

The 'General' section represents the information related to the currently opened ticket. Additionally, you can adjust some attributes here:

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

Customer Info Section

The customer info section contains the customer information, including name, email, group, and date registered.

Tickets Section

The 'Tickets' section lists all the tickets submitted by the customer.

Purchases Section

The 'Purchases' section contains:

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

Ticket Thread

The ticket thread section is where all "magic" happens. Here you are suggested to reply to customer tickets.

Ticket Thread in the Backend

There are two types of Help Desk messages you can leave: replies and internal notes.

A reply suggests that the submitted message will be sent to the customer. The reply is enabled by default and activated by the button.

The Internal Note feature suggests that the message submitted will be available for Help Desk agents only and will not be visible to the customer. The 'Internal Note' message type can be enabled by clicking .

To submit the message either as a reply or internal note, click .

Additionally, you 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 to automate routine ticket management operations, including ticket status change, email notifications, and ticket updates.

Upon a certain event based on the conditions set, automation executes the set action on cron launch. Automation settings can be found under Customers > Help Desk Ultimate by Aheadworks > Automations.

Automations Grid

Here you are presented with the 'Automations' grid.

After the extension is installed, the grid will list a set of eight rules. These 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 reported.

Automation rules work on the following pattern:

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 the conditions of the event are met, the extension launches an automatic action;

b) If the conditions of the event are not met, the extension stops executing the automation rule until the next cron launch.

3) The extension stops executing the rule until the next cron launch

Creating an Automation Rule

To create an automation rule, click .

Selecting an Event

In the first section of the page, you are suggested to select an event that will trigger an automatic ticket action.

Selecting an Automation Event

The event defines when the automation rule should be triggered. The extension provides six options;

  • New ticket from customer - when a customer submits a new ticket;
  • New ticket from agent - when an agent creates a ticket for a customer;
  • New reply from customer - when the customer replies to the ticket;
  • New reply from agent - when the 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 the extension upon every cron launch.

'Recurring Task' differs from other events by its functionality. This event serves as a reminder.

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

Defining Conditions

In the 'Conditions' section, you are suggested to specify when the event should be triggered.

Setting Event Conditions

Each event comes with a dedicated set of conditions. Most of the conditions are ticket-related. However, some of them are customer-oriented and target particular customer groups.

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

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

Setting up Actions

In the 'Actions' section, you are suggested to specify which actions should be taken upon meeting the specified condition(s).

Setting Event Actions

The actions include sending email notifications to both the customer and Help Desk agent, ticket status and priority change, and assigning the ticket to a particular Help Desk agent.

When done setting up the actions, click . The automation rule is good to go.

Uninstalling Help Desk Ultimate

Manual Removal

1. Disable the module by executing the following commands:

php bin/magento module:disable Aheadworks_Helpdesk
php bin/magento setup:upgrade

2. Remove the extension files from the following folder:


Automatic Removal (via Composer)

1. Disable the module by executing the following commands:

php bin/magento module:uninstall Aheadworks_Helpdesk

Product 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.

  • No labels