Why is helpdesk software so crucial?

A help desk used to be an office where customers would come with different issues tied to a company's product or service that needed solving. Nowadays, a customer can contact that company by email, over the phone, or through the help of software designed for this kind of interaction, namely, help desk software.

Customers, and not only, expect top-quality customer support, which means 24h availability, instant answers, and by no means waiting in a queue. Help desk software aims to solve these requirements by providing tools like a ticketing system where customers can submit issues and resolve them by qualified personnel and other self-service functionalities such as a FAQ section or a knowledge base.

Businesses stand only to gain as customers may be getting their answers faster, and customer support will be spared of repetitive conversations about everyday challenges.

What does this plugin have to offer?

The feature set of this plugin aims to bring a way for customers to submit their issues and for administrators to manage those requests directly in the nopCommerce admin interface.

Organize customer support in departments

Departments are a way to group multiple individuals with similar capabilities and responsibilities to manage only the tickets assigned to their department. The departments can be accessed using the admin area navigation menu at Configuration > Help desk > Departments.

A department can have a name and an optional email address which may be used to receive a notification when a new ticket is assigned.

An agent can be any user found in nopCommerce. For a user to access the tickets area, he must have the appropriate permission, and just like all permission in nopCommerce, those are set on a customer role. The quick start guide lets you learn more about the plugin's permissions. Marking an agent as the primary means he will be assigned to all new tickets in his department, and his email will be used to receive a notification when a new ticket is assigned.

Some department examples are technical support, content management, marketing, sales, etc.

Create and assign statuses to tickets

Ticket statuses are a requirement; no two ways to look at them. To view and edit these statuses, go to "Configuration > Help desk > Ticket statuses". A ticket status must have a name and, optionally, a color to make it stand out in the ticket grid. Instead of deleting it, you can un-publish a status when it's no longer needed. This way, tickets created before the change will not be reset to a "no" status. 

The help desk can be configured to display the ticket's status to the customer. If the store is multi-language, you can translate the status' name but keep in mind that the standard name will still be used in the admin area.

Provide a list of issues the customer can select from

Issues are a way to assign the newly created ticket to the correct department. The customer will be prompted to select from a list of issues, and based on his input, the ticket will be assigned to the configured department. For example, a customer could choose an issue like "I cannot place an order", and that choice will assign the ticket to the technical support department. To configure these issues, go to "Configuration > Help desk > Issues".

The issues are organized into categories to avoid having too many options to select from. An issue category can have a localized name and a display order and be easily published/unpublished.

Besides a localized name, an issue can display a localized description when selected. Furthermore, it can be limited to customer roles and even to stores in a multi-store configuration. Some issues may require additional information that could be given when describing the problem. Creating custom fields that will hold that information separately is recommended to ensure all key details are included. These fields can be customized to be required, can have a pre-defined list of values, and can be set conditions of visibility depending on other custom fields' current values.

A complete example is as follows: a customer has placed an order, and the shipment has yet to arrive after two weeks.

  • Issue category: "Delivery"
  • Issue: "Delayed shipping"
    • Issue description: "Do not worry. We are taking care of your order. We are sorry for this delay and are trying to ship asap. You can always check your order's status in your customer's account, "Orders" section. Thank you for your understanding."
    • Custom field: "Order number" (textbox, required)
    • Custom field: "Has the courier contacted you?" (radio button list - yes or no, required)
    • Custom field: "When have you been contacted?" (date picker - visible if selected yes previously, required)

As can be seen, the combination of issues and custom fields can be used to create surveys that significantly reduce the time spent clarifying small details.

Maintain the consistency of ticket replies with the help of templates

Repetitive ticket replies can be saved as templates and be reused on other tickets. These replies can range from simple greetings to complex solutions to similar issues. Configure these templates at "Configuration > Help desk > Ticket reply templates". Similarly to nopCommerce's message templates, this mechanism also supports message tokens and expressions. For example, a template can contain something like "Hello %Ticket.CustomerName%, My name is %Ticket.Agent%, and I am here to guide you through the process of...". These templates also support localization for multi-language stores.

Moderate existing tickets

Tickets can be accessed at "Customers > Tickets" in the admin area. The tickets grid can be filtered by most information that makes up a ticket. They are ordered by deadline, priority, and creation date. Consider setting appropriate priorities and deadlines for each ticket. The plugin can be configured to display this information to the customer.

Agents may talk to each other through ticket replies since not all replies have to be visible to the customer. All replies are integrated into a timeline that keeps track of all modifications that occur to a ticket, like assigning a new department, a new agent, changing the deadline, etc.