Personal tools
Namespaces

Variants
Actions

Zendesk For WHMCS

From ModulesGarden Wiki
Revision as of 11:25, 7 May 2018 by Gregor (Talk | contribs)

Jump to: navigation, search

Contents

About Zendesk For WHMCS

Zendesk For WHMCS replaces the standard WHMCS support system with the complex choice of Zendesk tools.

The module will enrich your client area with various extra features, allowing customers to e.g. fill in Zendesk ticket fields and use emojis.
At the same time, you and your staff members will be free to monitor and manage every ticket created in WHMCS straight from within the Zendesk admin area.

  • Client Area Features:
✔ View Zendesk Departments
✔ Open New Ticket
✔ Manage Existing Tickets
✔ Fill In Zendesk Ticket Fields
✔ Select Related Service
✔ Attach Files To Ticket
✔ List Recent Tickets
  • Admin Area Features:
✔ Configure And Test Server Connection
✔ Toggle SSL Connection
✔ Choose Available Support Departments
✔ Choose Default Department For Exported Tickets
✔ Define Client Service Field
✔ Manually Export To Zendesk:
✔ WHMCS Clients
✔ WHMCS Tickets
✔ Check Status Of Exported Clients
✔ Define Module Behavior:
✔ Show Solved Tickets
✔ Define Order Of Replies
✔ Allow Shared Login Redirection
✔ Update Client Credentials
✔ Define Ticket Status Colors
✔ View Logs
  • Integration Features:
✔ Single Sign On (SSO) Integration
✔ Automatically Export To Zendesk:
✔ New Tickets
✔ Clients On Tickets Creation
✔ Synchronize Ticket Responses Between WHMCS And Zendesk
✔ Transfer Ticket Fields Settings
✔ Transfer Attachments Settings
✔ Convert Markdowns To HTML And Emojis
  • General Info:
✔ Supports Zendesk Multibrand Feature
✔ Supports Zendesk Emoji - Artworks Provided By EmojiOne
✔ Custom Templates Support
✔ Multi-Language Support
✔ Supports PHP 5.6 Up To PHP 7.2
✔ Supports WHMCS Template Six
✔ Supports WHMCS V7

Installation and Configuration

This tutorial will show you how to successfully install and configure Zendesk For WHMCS.

We will guide you step by step through the whole installation and configuration process.

Installation

1. Log in to our client area and download Zendesk For WHMCS.
ZD1.png
2. In the downloaded file you will find two packages that support different PHP versions.
As presented on the screen below, the first one is dedicated to PHP 5.6 up to PHP 7.0, while the second one is aimed at PHP 7.1 up to PHP 7.2.
It does not apply to open source versions.

Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' › 'System' › 'PHP Info'.

PHP56 72.png
3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory.

The content of PHP version files should look like this.

ZD2.png
4. When you install Zendesk For WHMCS for the first time you have to rename 'license_RENAME.php' file.

File is located in 'modules/addons/Zendesk/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

ZD3.png
5. In order to configure your license key, you have to edit the previously renamed 'license.php' file.

Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products'.

ZD4.png
6. Now, set up the 'storage' folder as recursively writable.

This folder is available at 'your_whmcs/modules/addons/Zendesk/' .

ZD5.png

Activation

7. Now, you have to activate the module in your WHMCS system.

Log in to your WHMCS admin area and proceed to 'Setup' 'Addon Modules'.
Afterwards, find 'Zendesk' and press 'Activate' button.

ZD6.png
8. In the next step you need to permit access to this module.

To do so, click on 'Configure' button, tick checkboxes to assign desired admin roles.

ZD7.png
9. You have just successfully installed Zendesk For WHMCS!

Configuration

Now you have to configure your newly installed module.

Before we proceed to the configuration itself, you have to generate your API details to connect with your Zendesk account.

API Connection

Firstly, log in to your Zendesk admin area in order to enable API access.
ZD8.png
Go to 'Admin' 'Channels:' 'API'. There, in the 'Settings' section find 'Token Access' and enable it.

Add a new token or use an existing one if you already created it.

Important: Make sure to copy and store this token. It won't be shown again after you click 'Save' or leave this page.
You will also need it in a moment to complete the configuration of the module.

ZD9.png
Now go to 'Settings' 'Security' section where you can enable 'Single-Sign On'. The action is optional.

Note: Thanks to this feature, when clients go to the ticket URL that leads directly to the Zendesk panel (e.g. from the Zendesk email notification), they will be redirected first to your WHMCS,
and after logging in, they will be again redirected and automatically logged into the Zendesk panel to view the ticket.

Here you can also add your remote login URL and remote logout URL. They should lead to 'loginshare_jsonwt.php' file located in 'yourWHMCS/modules/support/Zendesk/' directory. For example:

https://yourWHMCS.com/modules/support/Zendesk/loginshare_jsonwt.php
ZD10.png
Next, scroll down to the bottom of the page and find 'Shared Secret' section. Press 'Regenerate' to get a new shared secret token or use an existing one.
ZD11.png
Copy and keep your 'Shared Secret' in a safe place. You will need it in the next step.

Note: The 'Shared Secret' is not required for Zendesk module to work itself. It is needed for SSO only.

ZD12.png
Don't forget to press 'Save' button, you will find it at the bottom of the page.

Server Settings

Now, that you have safely stored API and Shared Secret tokens, you may move to the second part of the configuration process.

Proceed to 'Addons' → 'Zendesk' → 'Server Settings', this is where you have to enter any data required to connect your WHMCS with the Zendesk server.

ZD13.png
Enter your Zendesk details:
  • Account Name - this is the name part of your Zendesk subdomain. E.g. in https://modulesgarden.zendesk.com your account name will be modulesgarden
  • Administrator Email - the administrator's email used to log in to your Zendesk account
  • API Token - the API key generated in the previous steps
  • Shared Secret Token - the key generated in the previous steps used for SSO
  • SSL Connection - enable this option to use the secured connection with the Zendesk API

Save changes first, and then test the connection, to ensure that all credentials are correct.

ZD14.png
Next, move to 'Setup' → 'General Settings' → 'Support'.

Choose 'Zendesk' support module form a dropdown menu and save changes afterwards.
Note: From now on, your clients will see Zendesk tickets and departments (not the ones of WHMCS).

ZD15.png
Good job! Now your WHMCS is connected with the Zendesk support system.

Management

Once Zendesk For WHMCS is installed and the connection configured, you can either create or update your ticket departments and start using them.

Each ticket department you create in Zendesk will be available for your customers in the WHMCS client area.

Settings

WHMCS

Before you start your actual work on support tickets with Zendesk For WHMCS, move again to 'Addons' → 'Zendesk' → 'Ticket Settings'.

This section of the addon allows the easy and comfortable management of the form in which tickets are displayed in your client area, their visibility, sorting properties, etc.

ZD16.png
In the first box 'Options', you can enable several basic settings that will be applied to the tickets view in the client area.
Let's now discuss their functionality in details:
  • Default Department - choose the Zendesk department that will be selected by default for exported tickets
  • Allowed Departments - select which of your Zendesk departments shall be available for your WHMCS clients
  • Show Solved Tickets - if you enable this option, all tickets, no matter what status they have, will be displayed on the list of the latest tickets (e.g. open/new/solved/closed tickets, etc.);
  • Replies Descending Order - enable this option to make ticket replies sorted by date in descending order when viewing a ticket
  • Shared Login Redirection - if enabled, the user is redirected to the Zendesk panel after successfully shared login
  • Brand - if you have Zendesk Multibrand feature enabled on your account you can choose a brand here
  • Template Name - Change only if you want to use a custom template.
    Custom template files should be placed in the '/modules/addons/Zendesk/templates/client/default/pages/submodule/yourCustomTemplateName' directory
  • Client Services - choose the field (created in Zendesk) responsible for displaying all customer products and domains (click here for more information)
  • Update Client Credentials - if the client's email is updated in WHMCS, it is updated in Zendesk accordingly (note that the name is also updated, but only if the email is changed)
ZD17.png
Below the 'Options' box you will find a box where you can assign colors to a specific ticket status.

Click on the field to choose a color from the palette or type in the number of the color you like.

Remember to save the changes if you modify the ticket settings in any way.

ZD18.png
Tickets will be now marked with selected colors on the homepage according to the status they have.
ZD19.png
The color settings will be also viewable on your main tickets list.
ZD20.png

Ticket Fields

You can also manage ticket fields that are available in WHMCS on a new ticket form, directly in Zendesk.

Move to 'Zendesk' → 'Admin' → 'Manage' → 'Ticket Fields'. On this site, you can activate, deactivate or edit any system and custom fields or add new ones.
For test purposes, we activated and adjusted the 'Priority' field according to our needs.

ZD21.png
As you can see on the screen below, a new field appeared in the WHMCS client area.
Edit or add ticket fields to adjust the ticket form to fit your needs perfectly.
ZD22.png

Service Field

The 'Client Service' field allows your customers to specify the service they refer to when creating a ticket.

This can help your support teams more easily identify the problem with the service used by the client.
Move to 'Zendesk' → 'Admin' → 'Manage' → 'Ticket Fields'. and press 'add custom field'.

ZD41.png
Choose the Text type to add your new ticket field.
ZD42.png
We will now adjust the 'Client Service' field according to our needs. First, enter the ticket field's name.

Then, select 'Visible' and 'Editable' options and make sure to leave the 'Required' box unchecked to keep this field optional for the clients when they open a new ticket.

ZD43.png
Once you have created your new field, you can select it as 'Client Service' in the 'Ticket Settings' section of Zendesk.

Do not forget to save settings.

ZD44.png
As you can see on the screen below, a new field, which may help to draw the agent's attention to a specific client's service appeared in the WHMCS client area.
ZD45.png
Next, when the agent access the ticket in the Zendesk panel, there will be information about the service selected by the client.
ZD54.png

Export

Our module allows you to export data gathered in WHMCS, more specifically, all the users and tickets generated before the installation of the product.

Read the below points to learn what data can be synchronized with Zendesk and what are the possible means of such synchronization.

Users

The first option offered by our module is the export of users from WHMCS to Zendesk, proceed to 'Users Export' .

If you are using Zendesk For WHMCS for the first time, you will see here a list of all users who exist in your WHMCS and have not been synchronized with Zendesk yet.

ZD23.png
Now, you can manually export all of the users available on the list or choose only some of them.
Check boxes next to the users you are going to export and press the 'Export' button, marked with the red arrow on the screen.

You can always check the status of the exported clients.

ZD24.png
After confirming your choice, the selected users should be exported from WHMCS to Zendesk, their 'Status' field will become modified as well.
All users newly added to WHMCS will be automatically synchronized with Zendesk.

ZD25.png

Tickets

The next option offered by our module is the export of tickets from WHMCS to Zendesk, proceed to 'Tickets Export'.
You will see here a list of all tickets which exist in your WHMCS and have not been synchronized with Zendesk yet.
ZD27.png
Now, you can manually export all of the tickets available on the list or choose only some of them.
Check boxes next to the tickets you are going to export and press 'Export' button as marked on the screen.
ZD28.png
Next, confirm the default department you have chosen in the 'Ticket Settings' , or select one of the other available departments.
ZD29.png
If a ticket has already been exported from WHMCS to Zendesk, they will have a different Zendesk Status visible on the list.
All tickets newly created in WHMCS will be automatically synchronized with Zendesk.
ZD30.png

Logs

All module activities are recorded in 'Logs' .

Note: You might have no logs visible here if there are no logged actions yet.

ZD46.png
In case you no longer wish to see a particular log you can easily remove it.

Select a particular entry and click on the bin icon as presented on the screen below.

ZD47.png
In order to delete multiple logs at the same time you can simply take advantage of the 'Mass Remove Action'.
ZD48.png

Support Tickets

Move to your client area. There, on the homepage, a 'Recent Support Tickets' box can be found.

It presents the latest tickets available in your system. The visible tickets are marked with colors related to their current status.

ZD31.png
Now, we will submit a ticket to show you the complete creation flow. Just like in case of a standard WHMCS support ticket, choose the department.

Note: For convenience, if you have only one department configured, you will be moved immediately to the ticket creation view.

ZD26.png
Next, enter the subject, type in the ticket message and fill in any additional ticket fields that you feel are useful and will help you quickly receive a satisfactory answer.
Submit the ticket.
ZD32.png
A new ticket, sent with Zendesk For WHMCS module, is immediately visible in the Zendesk admin area.
ZD33.png
Do not hesitate and send a reply to this ticket.
ZD34.png
The client has received an answer. Note that the ticket status has been updated as well.
ZD35.png

Emoji Support

Since 2.0.0 version of the module, agents can use emojis (emoticons) without worrying that these will not be displayed to the clients in WHMCS.

First, you need to enable support for them in your Zendesk Panel.
Go to the 'Admin' → 'Settings' → 'Tickets' and tick the 'Enable emoji text replacement' option.
Remember to save the settings.

ZD50.png
Now, your agent can insert emojis by typing an emoji code surrounded by colons (e.g. :smile:).
ZD51.png
You can use a lot of diiferent emojis. Press the 'Preview' button to see how they will look like in the ticket.
ZD52.png
After sending the reply, the emojis will be displayed in WHMCS to your client.

Note: Due to the licensing issues, the appearance of emoticons used in the module is slightly different from those used by Zendesk itself.
Moreover, a very small part of the emojis supported by Zendesk may not be yet included in the set used in the module.
Click here to see the list of emojis supported by the module.

ZD53.png
Your customers can also use emoji codes in WHMCS, but it is not possible to preview them before sending a ticket.

The workaround for this inconvenience will be presented in the near future.

Tips

1. If you create a custom field in Zendesk, it will also be visible in WHMCS. Custom fields need to be enabled, visible and editable by client.
2. Since Zendesk does not fully support the WHMCS option to reopen closed tickets, 'Close ticket 4 days after status is set to solved'
option is currently the only available one.

To enable this option, proceed to Zendesk → Business Rules → Automations.
Find the option and edit it.

ZD36.png
Here you can configure the time period within which the tickets can be reopened by an answer from the client.

Extend the maximum time to your needs.

ZD37.png
3. Attachments are managed in Zendesk, therefore if you do not enable them in Zendesk, your clients will not be allowed to add them in the tickets.

To enable attachments in Zendesk, please move to 'Zendesk' → 'Settings' → 'Tickets' → 'Attachments'. Then, enable both options:

  • Customers can attach files
  • Require authentication to download
ZD38.png
4. If you would like to use multiple brands, first make sure you have 'Zendesk Support Multibrand' ' option enabled in your Zendesk account.

Go to 'Zendesk' → 'Settings' → 'Account' → 'Branding'.
Note that multibrand support may require the enterprise plan.

ZD40.png
5. If you use SSO, you can still access your Zendesk panel in a normal way.

Simply go to: https://YourZendeskSubdomain.zendesk.com/access/normal and enter your access details.

Update Instructions

Essential guidance through the process of updating the module is offered here.

Keep in mind there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price!
To take advantage of it, simply use the License Upgrade button located on the product's page and a discounted invoice will be generated automatically.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. When you try to open a new ticket and you get the 'Unable to authenticate' error, this means that the user's email is already registered in Zendesk, but it has not been verified yet.

To solve the problem, log in to your Zendesk admin area and verify the email by clicking 'Verify now' as presented on the screen below.

ZD49.png
3. If you encounter a problem when performing the export of a lot of users, make sure you are not using the Zendesk trial account.

This is due to Zendesk trial account limitations, where you cannot use the API endpoint to bulk import users or organizations. A '403 Forbidden' error is returned.

4. Some of the module elements may not reflect immediate changes made in the Zednesk panel.

This is due to the use of cache to limit the number of queries to APIs.
E.g. the cache refreshing time for the ticket list and replies is 30 seconds.
The update of brands, ticket fields and departments can take up to 18 minutes and clients even 54 minutes.
If you need the immediate cache refreshment, go to the 'Ticket Settings' or save 'Sever Settings' again.

Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community
Zendesk For WHMCS