Personal tools
Namespaces

Variants
Actions

Freshdesk For WHMCS

From ModulesGarden Wiki
Jump to: navigation, search

Contents

About Freshdesk For WHMCS

Freshdesk For WHMCS gives your customers the access to a complex Freshdesk support solution in your own WHMCS.

Not only will your clients manage Freshdesk tickets straight on your website, but also your support teams will control every WHMCS ticket in Freshdesk.
In addition, you will be able to create relations between certain fields in WHMCS and Freshdesk to export all user details in a fully automated manner.

  • Client Area Features:
✔ View Freshdesk Departments
✔ Manage Existing Tickets
✔ Open New Ticket
✔ Fill Out Freshdesk Ticket Fields
✔ Assign Owned Service To Ticket
✔ Attach Files To Ticket
✔ List Recent Tickets
  • Admin Area Features:
✔ Manually Export To Freshdesk:
✔ WHMCS Clients
✔ WHMCS Tickets
✔ Define Module Behavior
✔ Show Solved Tickets
✔ Update Client Credentials
✔ Define Replies Order
✔ Define Available Support Departments
✔ Define Client Service Field
✔ Define Client ID Field
✔ Define Ticket Status Colors
✔ Set Default Field Values For Agent Required Fields
✔ Configure And Test Server Connection
✔ Toggle SSL Verification
✔ Define Client Fields Relations
✔ View Logs
  • Integration:
✔ Automatically Export To Freshdesk:
✔ New Tickets
✔ Clients On Tickets Creation
✔ Synchronize Ticket Responses Between WHMCS And Freshdesk
✔ Transfer Ticket Fields Settings
✔ Transfer Client Custom Fields Details
✔ Transfer Custom Ticket Statuses
✔ View WHMCS Client Details In Freshdesk Using Widget
✔ Contact Details
✔ Services
✔ Domains
✔ Product Addons
✔ Due Invoices
  • General Info:
✔ Requires Freshdesk "Pro" Pricing Plan Or Higher
✔ Custom Templates Support
✔ Multi-Language Support
✔ Supports PHP 8.2 Back To PHP 7.4
✔ Supports WHMCS Themes "Six" And "Twenty-One"
✔ Supports WHMCS V8.11 Back To WHMCS V8.8
✔ Requires ionCube Loader V13 Or Later
✔ Easy Module Upgrade To Open Source Version

Installation and Configuration

This tutorial will show you how to successfully install and configure Freshdesk 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 the module.
NF 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.4 and later.

PHP74 81.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.3, and the second one addressed to PHP 7.4 up to PHP 8.1.
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 81.png
Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'.
3. Once you have chosen the package with the right PHP version, extract it and upload its content into the main WHMCS directory.

The content of the chosen PHP version files to upload should look like this.

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

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

NF2 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'.

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

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

NF6 2.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'.
Afterward, find 'Freshdesk' and press the 'Activate' button.

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

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

NF 6.png
9. You have just successfully installed Freshdesk For WHMCS!

Configuration

Now you have to configure your newly installed module.

Before we proceed to the configuration itself, you have to find API details to your Freshdesk account.
Important: Please be aware that a minimum Freshdesk pricing plan is 'Pro'.
If you use any lower plan, it will be impossible to successfully connect the module with the API (click here for more information).

API Connection

Firstly, log in to your Freshdesk portal at https://support.freshdesk.com/support/login.
NF 7.png
Click on your profile picture that is in the top right corner of the page and go to the 'Profile Settings' section.
NF 8.png
You can find your API key on the right side of the settings page.

Use an existing key or reset it to generate a new one. Copy the active API key.
IMPORTANT: Copy and keep your API key in a safe place. You will need it in a moment to complete the configuration of the module.

NF 9.png

Server Configuration

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

Proceed to 'Addons' → 'Freshdesk' → 'Settings' → 'Server Settings', here you have to enter any data required to connect your WHMCS with the Freshdesk server.

NF 10.png
Enter your Freshdesk details:

Note: Please remember that in order to connect your WHMCS with the Freshdesk server you need to complete 'Administrator Username' and 'Administrator Password' or your 'API Key'.

  • Account Name - this is your subdomain e.g. in https://mycompany.freshdesk.com, account name will be mycompany
  • API Key - API key found in the previous steps
  • Administrator Username - the admin's email used to log into your Freshdesk account
  • Administrator Password - the admin's password used to log into your Freshdesk account
  • SSL - check this box if you want to turn on the SSL certificate verification
  • Widget Authorization Password - use this field only if you want to use a Freshdesk widget, the widget configuration instructions are described in the next section of this tutorial

Finally, test the connection and, if successful, save the changes.

NF 11.png
Finally, move to 'Setup' → 'General Settings' → 'Support' in your WHMCS.

There choose the 'Freshdesk' support module from a dropdown menu and save the changes.
From now on, your clients will see Freshdesk tickets and departments (not WHMCS).

NF 12.png
Good job! Now your WHMCS is connected with the Freshdesk support system.

Freshdesk Customer Widget

Configuration of the Freshdesk Customer Widget is completely optional. If you do not aim to use this tool, simply skip it and move directly to the Management section.
Freshdesk App Widget, once configured, allows to see customer's WHMCS data.
The widget includes client contact details along with their owned products, domains, product addons and due invoices next to the created ticket in the Freshdesk panel, as shown in the picture below:
NF 12 1.png
In order to enable the widget, compete the following steps:

Navigate to 'Addons' → 'Freshdesk' → 'Settings' → 'Server Settings' in your WHMCS. Find the 'Widget Authorization Password' field and enter your own password.
This password will be used to communicate with the Freshdesk widget application.

NF 12 2.png
Next, go to https://developers.freshdesk.com, click 'Log in as Developer' and sign on using your Freshdesk 'Organization URL' or 'Account URL' data.
NF 12 3.png
After a successful sign-in, press the 'Create App'. Provide any app name, next choose 'Custom Apps' type and 'Upload App file' with the archive that you will find below.

Download: freshdesk_widget_1.0.2.zip

Proceed when you are ready.

NF 12 4.png
Now, fill out the rest of the required fields and click 'Save and Publish'. After a few minutes (max 30), the app will be ready to run in your Freshdesk instance (the status must be 'Published' ).
NF 12 5.png
Go to Freshdesk admin panel and click 'Admin' → 'Support Operations' → 'Apps' settings.
NF 12 6.png
Find the 'Manage Apps ' button located in the top right corner and click on it.
NF 12 6 1.png
Choose 'Custom App' and press 'Install' next to the previously created app.
NF 12 6 2.png
Finally, fill out the fields according to the prompts so the application can connect to your WHMCS.
NF 12 7.png
That's all. If all the provided data are correct, then, next time, when you open a WHMCS ticket from your Freshdesk account, you should see the customer details in the panel on the right.
NF 12 8.png

Management

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

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

Settings

WHMCS

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

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

NF 13.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:
  • Default Department - select a default department for exported tickets
  • Allowed Departments - select which of your departments from Freshdesk will be available in WHMCS ticket system
  • 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)
  • Replies Descending Order - enable this option and ticket replies will be sorted by date in a descending order when viewing a ticket
  • Template Name - optional, select only in case you wish to use a custom template
  • Client Services - choose the field (created in Freshdesk panel), responsible for displaying all client's products and domains, you can find more info here
  • Client ID - allows you to display IDs of your WHMCS clients next to their tickets in Freshdesk panel.
    Remember that firstly you need to add a new custom label with 'WHMCS ID|whmcsid' in the 'Ticket Fields' section of your Freshdesk panel and then activate your new custom label in the module configuration.
  • Update Client Credentials - if a client's email is updated in WHMCS, it will be updated in Freshdesk accordingly (name is also updated but only if the email is changed)
NF 14.png
Under the 'Options' box you will find a section 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.

Moreover, in the 'Agent Required Fields' section, the administrator can set default values for fields that might be required for agents when submitting a form or closing a ticket.
Remember to save the changes if you make any in ticket settings.

NF 15.png
Tickets of each status are now marked with the selected colors on homepage:
NF 16.png
Tickets history in the client area:
NF 15 1.png

Freshdesk Client Fields

Freshdesk For WHMCS module allows the management of 'Customer Fields' created in the panel.

Move to 'Freshdesk' → 'Admin' → 'Support Operations' → 'Customer Fields'. On this site you can edit existing or add new custom fields to add any data on the client in their profile.
Edit any existing field, change behavior or add new ones.

NF 16 1.png
Once ready, you will need to move to your 'WHMCS' → 'Setup' → 'Custom Client Fields' where a corresponding field shall be created.
NF 17.png
Then, move again to the addon 'Settings' → 'Client Fields Relations' to define the relations between the Freshdesk fields and the ones you have in your WHMCS.

Select from the list of corresponding fields, that will be visible in the client's profile.

NF 18.png
Fields from the 'Required' section (marked in red) must be filled in to export the user to Freshdesk successfully. If left empty, error will occur and export fail.

Adequately, optional fields (marked in blue) may be left empty to proceed with the export.

NF 20.png

Freshdesk Ticket Fields

Custom Ticket Fields

You can also manage ticket fields, by adding fully editable Custom Fields that are available in WHMCS on a new ticket form, directly in Freshdesk.

Move to 'Freshdesk' → 'Admin' → 'Workflows' → 'Ticket Fields'. There follow the Freshdesk instructions to edit or add new custom fields to collect the data when a client submits a ticket.

NF 21.png
Once you have configured your ticket fields on the Freshdesk panel side, they will automatically be added and visible in the ticket view in WHMCS client area.
NF 21 1.png

Client Services

It is possible to use one of the created in Freshdesk panel custom fields as a dropdown to select an owned product that a client may assign to a just created ticket.

Go back to WHMCS addon → 'Ticket Settings', where you can instantly select it under the 'Client Services' dropdown.
Do not forget to save the changes.

NF 23.png
As you can see on the screen below, a new field, which may help to draw the Administrator's attention to a specific client's service appeared in WHMCS client area.

Edit/add ticket fields to adjust the ticket form perfectly to your needs.

NF 24.png

Custom Ticket Statuses

You can also manage custom ticket statuses used in Freshdesk panel.

Move again to 'Freshdesk' → 'Admin' → 'Workflows' → 'Ticket Fields' → 'Status' to add new or modify existing ticket statuses.

NF 23 1.png
Once you have configured your ticket statuses on the Freshdesk panel side, go back to WHMCS addon → 'Ticket Settings', where you can see them among other default statuses.
Select colors for them.
NF 24 1.png
The custom statuses are visible in the client area with names typed in the panel in the 'For Customers' field. However, it is possible to alter or translate the Fresdesk custom statuses names.

Open the used language file located in /your_WHMCS/moduels/addons/Freshdesk/langs/ directory and add new lines at the very bottom.
In case you use multilanguage option this possibility allows full translations.

Exemplary lines to add:

$_LANG['addonCA']['FreshdeskCustomStatusName'] = "Your translation visible in WHMCS Client Area";
$_LANG['addonCA']['Being Processed'] = "In lavorazione";

Export

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 Freshdesk and what are the possible means of such synchronizations.

Users

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

You will see here a list of all users who exist in your WHMCS and have not been synchronized with Freshdesk yet.

NF 25.png
Now, you can manually export all of the users available on the list or choose only some of them.

Check the 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 (the blue arrow).

NF 26.png
After confirming your choice, the selected user should be exported from WHMCS to Freshdesk, and their 'Status' field will become modified as well.
All users newly added to WHMCS will be automatically synchronized with Freshdesk.
Note: The email of the WHMCS user cannot be already used for an account in Freshdesk, or the export process will fail.
NF 27.png

Tickets

The next option offered by our module is the export of tickets from WHMCS to Freshdesk, proceed to 'Tickets Export'.
You will see here a list of all tickets which exist in your WHMCS and have not been synchronized with Freshdesk yet.
NF 28.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 the 'Export' button as marked on the screen.
NF 29.png
If a ticket has already been exported from WHMCS to Freshdesk, they will have a different Freshdesk Status visible on the list.
All tickets newly created to WHMCS will be automatically synchronized with Freshdesk.
NF 30.png
Is is also possible to export tickets using a CLI cron command, which can be useful when you need to export a greater number of tickets created within the selected date range.
Underneath you can see a command that must be executed from you CLI to start such export.

Please remember to adjust the date rage located at the end of the command to your personal needs first!

php /yourWHMCS/modules/addons/Freshdesk/cron/cron.php ExportTicket 2022-01-01 2022-12-31

Important: Keep in mind that the provided dates at the end of the command (in the above example these are: 2022-01-01 2022-12-31) are exemplary.
They indicate the beginning and ending dates of the date range within which all the created tickets shall be exported.

Note: Keep in mind that exporting too many tickets at once can cause issues with running out of API calls per minute, that you have available in your Freshdesk plan.
You can find more information about call limits here.

NF 30 1.png

Support Tickets

Move to your client area. There, on your homepage, is the '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.

NF 31.png
Now, we will create a ticket message to show the flow. Just like in case of a standard WHMCS support ticket, choose a department, fill out the form and submit the ticket.
NF 31 1.png
A new ticket, sent with Freshdesk For WHMCS module, is immediately visible in Freshdesk admin area.

Do not hesitate and send a reply to this ticket.

NF 31 3.png
A client has received an answer. Note that the ticket status has been updated as well.
NF 31 4.png

Logs

All module activities are recorded in 'Logs'.

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

NF 32.png
In case you no longer wish to see a particular log you can easily remove it. Click on the bin icon next to a selected entry as presented on the screen below.
In order to delete multiple logs at the same time you can simply take advantage of the 'Mass Remove Action'.
NF 33.png

Tips

1. If you create a custom field in Freshdesk, it will be also visible in WHMCS. Custom fields need to be enabled/visible/editable by the client.
2. In case you wish to use a custom template, do not forget to place its files in the following directory:
/modules/addons/Freshdesk/templates/client/default/pages/submodule/yourCustomTemplateName/
3. You can configure the support sidebars that are displayed in the client area by switching them on/off.

Simply, change the flag from true into false in the following file if you wish to hide the support sidebars.

/modules/addons/freshdesk/app/Config/freshdesk.yml
4. Freshdesk limits API calls based on the user's plan. Additional limit increases are also available for purchase.

Exact numbers and more information can be found in the official Freshdesk documentation.

Update Instructions

An essential guidance through the process of updating the module is offered here.

While moving from the 1.0.0 version of Freshdesk, note that no data can be migrated, so the module needs to be configured from scratch.
It is also advised to deactivate the older version of the addon before installing the latest one. Do not forget to reactivate it once this procedure is finished.
However, when the module becomes successfully reconfigured, the previously submitted tickets should be visible in the client profiles.

Upgrade Guide

Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?
There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment.

Opt for the Open Source version of your Freshdesk For WHMCS module to unlock these benefits.
Simply click on either the Get Source Code or Upgrade To Lifetime button found on the product's page in our client area to complete the one-step upgrade process, with a dedicated discount already applied.

Follow a comprehensive guide covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. In case it is taking too much time for new tickets to appear, keep in mind that the module's cache is set for 5 minutes.
Some of other module elements may also not reflect immediate changes made in the Freshdesk panel.

If you need the immediate cache refreshment, go to the 'Ticket Settings' or save 'Server Settings' again.

3. We do not recommend using Freshdesk 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.

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