Personal tools


Kayako For WHMCS

From ModulesGarden Wiki
Jump to: navigation, search


About Kayako For WHMCS

Kayako For WHMCS transforms your default support system into one with completely new components.

From now on, your customers will benefit from enhanced support solutions offered by Kayako directly in WHMCS.
Thanks to this module and implemented synchronization with your Kayako account, your clients will be able to control their Kayako tickets as though they were an integral part of the system.

  • Client Area Features:
✔ Manage Existing Tickets
✔ Open New Ticket In Chosen Department
✔ Select Priority/Type/Related Service
✔ Attach Files To Ticket
✔ Reply And View Replies From Agents
✔ View List Of Recent Tickets
  • Admin Area Features:
✔ Configure And Test Server Connection
✔ Define Available Support Departments
✔ Define Available Ticket Types
✔ Define Default Type For Exported Tickets
✔ Define Field For Related Services
✔ Define Ticket Status Colors
✔ Manually Export To Kayako:
✔ WHMCS Clients
✔ WHMCS Tickets
✔ Toggle Debug Mode
  • Integration Features:
✔ Automatically Export To Kayako:
✔ New Tickets
✔ Clients On Tickets Creation
✔ Synchronize Ticket Responses Between WHMCS And Kayako
  • General Info:
✔ Requires Kayako Cloud-Based Platform
✔ Custom Templates Support
✔ Multi-Language Support
✔ Supports PHP 8.1 Back To PHP 7.3
✔ Supports WHMCS Themes "Six" And "Twenty-One"
✔ Supports WHMCS V8.7 Back To WHMCS V8.3
✔ Requires ionCube Loader V12 Or Later
✔ Easy Module Upgrade To Open Source Version

Installation and Configuration

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

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


1. Log in to our client area and download the module.
K2 1.png
2. In the downloaded file you might find one or two packages that support different PHP versions.

In the most recent versions of the module, you will find only one package that supports PHP 7.2 and later.

PHP72 74.png
Previous updates of the module may contain two packages dedicated to various PHP versions.

The first one that supports PHP 5.6 up to PHP 7.1, and the second one addressed to PHP 7.2 up to PHP 7.4.
Note: Keep in mind that PHP versions 5.6 up to 7.1 are no longer officially supported and their security issues are not fixed or released any more. Find more info here.

PHP56 74.png
3. Extract the package and upload its content into the main WHMCS directory.

The content of the package to upload should look like this.

K2 2.png
4. When you install Kayako For WHMCS for the first time you have to rename 'license_RENAME.php' file.

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

K2 3.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'.

K2 4.png


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

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

K2 5.png
7. In the next step you need to permit access to this module.

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

K2 6.png
8. You have just successfully installed Kayako For WHMCS!


Now you have to configure your newly installed module.

Before we proceed to the configuration itself, you have to log in to your Kayako account to find your API details.

API Connection

Firstly, log in to your Support Portal in order to find the API key.
K2 8.png
Find your way to the 'Administration' section by clicking the cogwheel symbol at the bottom of the page.
K2 81.png
Now, scroll down a bit the menu on the left to see the 'SECURITY' heading at the bottom.
You should also be able to spot the 'Authentication' category, click it.

Once there, go to the 'Customers' tab. Make sure Single sign-on (JWT) is selected.
Next, enter the remaining 'Remote login/logout URLs' and 'Remote system name' fields.
Afterward, create and copy your Shared SSO secret, you will need it later.
Note: All fields in this section should be filled, otherwise the connection from the module may not be authenticated.

K2 91.png
Remember to save the settings when ready.

Server Configuration

Now, that you have safely stored your API, you can move to another part of the configuration.

Proceed to 'Addons' → 'Kayako' → 'Server Configuration', here you have to fill in the data required to connect your WHMCS with Kayako server.

K2 13.png
Enter your Kayako details:
  • API URL - Enter full API address that includes your Kayako subdomain (e.g.
  • Username - Enter the administrator's email used to log in to Kayako
  • Password - The administrator's password used to log in to your Kayako
  • API Shared Secret - Provide 'Shared SSO secret' created in the previous steps
  • Debug Mode - Enable to start logging requests and responses from the API to the 'WHMCS Module Log' '

Finally, test connection and if it is successful save changes.

K2 14.png
Finally, move to 'Setup' → 'General Settings' → 'Support'.

Then choose the 'KayakoSupport' module from the drop-down list and save changes.
From now on, your clients will see Kayako tickets and departments (not WHMCS).

K2 6 1.png
Good job! Now your WHMCS is connected to Kayako support system.


Once Kayako For WHMCS is installed and connection configured, you can create/update your ticket departments and begin using them.

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


Creating Custom Fields in Kayako

The first step is to add a custom field in your Kayako panel before you proceed to the configuration of the module.
Move to the 'Custom fields' section as presented below.
K2 15 1.png
Now, click on the 'New field' button.
K2 15 2.png
Complete the following fields.
Important! You need to enable the 'Customers can edit this field' option in order to allow your your customers to change the value of this field from the Help Center or through the API.
Once ready, do not forget to save changes.
K2 15 3.png
You should see your new custom field on the list. Now, you can nagivate to the configuration of the module.
K2 15 4.png


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

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

K2 15.png
In the first box 'Options', you may enable some basic settings that will be applied to tickets view in the client area.
Let's now discuss their functionality in details:
  • Template Name - if you decide to change your current template in your WHMCS, then change it here as well. Your custom templates are also available
  • Department Field - select the custom field that is responsible for the departments of submitted tickets.
  • Allowed Options - once you decide which 'Department Field' you will use, now you can choose which options will be visible for clients when submitting a ticket.
  • Allowed Types - define which types of tickets will be available.
  • Default Type - you may set the default type for exported tickets.
  • Displayed Services - the selected custom field will display the dropdown menu with services in the client area section.

Important: If you do not select anything in the Allowed Options field, then when creating a ticket, the client will have to choose the Type of a ticket (from selected in Allowed Types field).

K2 16.png
Next to the 'Options' box you will find a box where you can assign some colors to a specific ticket status.

Click on the field to choose a color from the palette of colors or type in the number of the color you like.
Tickets of each status will be marked with selected colors on homage.

Remember to save the changes.

K2 17.png
Tickets of each status are now marked with selected colors in client area.
K2 18.png


Our module allows to export data gathered in your 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 Kayako and what are the possible means of such synchronizations.


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

Here you will find a list of all the users who exist in your WHMCS and have not been synchronized with Kayako yet.

Now, you can either manually export all of them from the list or choose only a few.
Check boxes next to the users you wish to export and press 'Export' button as presented on the screen.
If some users have been already exported from WHMCS to Kayako, they will be marked as Exported on the list.
All users newly added to WHMCS will be automatically synchronized with Kayako.


The next option offered by our module is the export of tickets from WHMCS to Kayako, proceed to 'Tickets Export'.
You will see here a list of all tickets which exist in your WHMCS and have not been synchronized with Kayako yet.
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 the 'Export' button as marked on the screen.
If a ticket has already been exported from WHMCS to Kayako, it will now have the Exported status.
All tickets newly created to WHMCS will be automatically synchronized with Kayako.

Support Tickets

Move to your client area. There, on your homepage, is a 'Recent Support Tickets' box.

You will find the latest tickets available in your system. The visible tickets are marked with colors related to their current status.

K2 21.png
Now, we will create a ticket message to show the flow. Firstly, you need to choose a department to which your ticket will be addressed.
K2 21 1.png
Then, fill out the form and submit the ticket.
K2 22.png
A new ticket, sent with Kayako For WHMCS module, is immediately visible in the Kayako admin area.
K2 23.png
Do not hesitate and send a reply to this ticket.
K2 24.png
Client has received an answer. Note that the ticket status has been updated as well.
K2 25.png


1. Exporting clients or tickets in the current module version may seem a bit slow.

This is due to the Kayako API limitations, for this reason a more efficient export method could not be implemented.

2. Once the module is configured, support team can manage new tickets only from the Kayako panel.

They will no longer appear in the WHMCS administration support section.

3. The module does not support 'Kayako Classic' . Only Kayako cloud-based platform is supported.
4. It is possible to translate names of departments that will be displayed to clients when submitting tickets.
Open the lang file that is located here your_whmcs/modules/addons/Kayako/langs and find the following lang lines.
By default, 'Question' , 'Task' , 'Problem' , 'Incident' types are set.
If you wish to change names of those types, simply provide your translation in the 'Your Translation' fields and do not forget to save changes.
 $_LANG['type']['Question']    = 'Your Translation';
 $_LANG['type']['Task']    = 'Your Translation';
 $_LANG['type']['Problem']    = 'Your Translation';
 $_LANG['type']['Incident']    = 'Your Translation';

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. You may randomly encounter the 'User with email xxx does not exist or has been removed' error when trying to view the tickets list or open a new one.

This problem is caused by a slow API response from Kayako panel when having a large number of users (usually above a thousand or so).
To resolve this problem, please execute the following 'SynchronizationController' script:

php -q yourWHMCS/modules/addons/Kayako/synchronization/SynchronizationController

This script will fetch all IDs and emails from the Kayako panel to your WHMCS and make all needed relations to the module without waiting for the slow API response next time.

3. We do not recommend using Kayako For WHMCS module either with Multibrand For WHMCS or with Resellers Center For WHMCS.

Integration between these modules is hampered due to specific features of each one of them and their individual work flow.

4. If an error occurs: 'The value of the field is invalid', when attempting to create a new ticket, please check the custom fields configuration in the Kayako panel.

Option 1: "Creating, replying to or updating a conversation" - this option can be selected in only one of the custom fields
Option 2: "Customers can edit this field" - this option must be selected in the used custom field
Option 3: "This field is required for customers" - this option cannot be marked in the used custom field (customer settings)

WHMCS Modules
WHMCS Widgets
WHMCS Translations
cPanel Modules
Kayako For WHMCS