Personal tools
Namespaces

Variants
Actions

Freshdesk For WHMCS

From ModulesGarden Wiki
(Difference between revisions)
Jump to: navigation, search
(About Freshdesk For WHMCS)
 
(119 intermediate revisions by 7 users not shown)
Line 4: Line 4:
 
=About [https://www.modulesgarden.com/products/whmcs/freshdesk Freshdesk For WHMCS]=
 
=About [https://www.modulesgarden.com/products/whmcs/freshdesk Freshdesk For WHMCS]=
 
{|
 
{|
|style="padding: 10px 0px 5px 0px;"|'''Freshdesk For WHMCS''' grants your customers the access to use a complex support system solution in your own WHMCS.
+
|style="padding: 10px 0px 5px 0px;"|'''Freshdesk For WHMCS''' gives your customers the access to a complex Freshdesk support solution in your own WHMCS.<br/>
With our module your clients will be able to manage Freshdesk tickets as if they were a part of your system.<br/>This product allows you to easily manage all the tickets that are operated by a support system fully synchronized with your Freshdesk account.
+
Not only will your clients manage Freshdesk tickets straight on your website, but also your support teams will control every WHMCS ticket in Freshdesk.<br/>
 +
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:'''
 
*'''Client Area Features:'''
Line 12: Line 13:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Open New Ticket
+
|style="padding: 0px 0px 0px 30px;"|✔ Manage Existing Tickets
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Manage Existing Tickets
+
|style="padding: 0px 0px 0px 30px;"|✔ Open New Ticket
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 0px 30px;"|✔ Fill Out Freshdesk Ticket Fields
 
|style="padding: 0px 0px 0px 30px;"|✔ Fill Out Freshdesk Ticket Fields
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Assign Owned Service To Ticket
 
|}
 
|}
 
{|
 
{|
Line 24: Line 28:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ List Recent Ticket
+
|style="padding: 0px 0px 10px 30px;"|✔ List Recent Tickets
 
|}
 
|}
 
*'''Admin Area Features:'''
 
*'''Admin Area Features:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Configure And Test Server Connection
+
|style="padding: 10px 0px 0px 30px;"|✔ Manually Export To Freshdesk:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Toggle SSL Verification
+
|style="padding: 0px 0px 0px 45px;"|✔ WHMCS Clients
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ WHMCS Tickets
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Module Behavior
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Show Solved Tickets
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Update Client Credentials
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Define Replies Order
 
|}
 
|}
 
{|
 
{|
Line 37: Line 56:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Manually Export to Freshdesk:
+
|style="padding: 0px 0px 0px 30px;"|✔ Define Client Service Field
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ WHMCS Clients
+
|style="padding: 0px 0px 0px 30px;"|✔ Define Client ID Field
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ WHMCS Tickets
+
|style="padding: 0px 0px 0px 30px;"|✔ Define Ticket Status Colors
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Define Module Behavior
+
|style="padding: 0px 0px 0px 30px;"|✔ Set Default Field Values For Agent Required Fields
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Define Ticket Status Colors
+
|style="padding: 0px 0px 0px 30px;"|✔ Configure And Test Server Connection
 
|}
 
|}
*'''Integration Features:'''
+
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Toggle SSL Verification
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Client Fields Relations
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 30px;"|✔ View Logs
 +
|}
 +
*'''Integration:'''
 
{|
 
{|
 
|style="padding: 10px 0px 0px 30px;"|✔ Automatically Export To Freshdesk:
 
|style="padding: 10px 0px 0px 30px;"|✔ Automatically Export To Freshdesk:
Line 65: Line 93:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Transfer Ticket Fields Settings
+
|style="padding: 0px 0px 0px 30px;"|✔ Transfer Ticket Fields Settings
 
|}
 
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Transfer Client Custom Fields Details
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Transfer Custom Ticket Statuses
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ View WHMCS Client Details In Freshdesk Using Widget
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Contact Details
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Services
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Domains
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Product Addons
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 45px;"|✔ Due Invoices
 +
|}
 +
 
*'''General Info:'''
 
*'''General Info:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Custom Templates Support
+
|style="padding: 10px 0px 0px 30px;"|✔ Requires Freshdesk "Pro" Pricing Plan Or Higher
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Custom Templates Support
 
|}
 
|}
 
{|
 
{|
Line 75: Line 131:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 5.3 Up To PHP 7
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8.1 Back To PHP 7.4
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS Themes "Six" And "Twenty-One"
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.10 Back To WHMCS V8.6
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS Templates Five and Six
+
|style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader V12 Or Later
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 30px;"|✔ Supports WHMCS V6 and V7
+
|style="padding: 0px 0px 30px 30px;"|✔ Easy [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module Module Upgrade] To [https://www.modulesgarden.com/products/whmcs/freshdesk#open-source-version Open Source Version]
 
|}
 
|}
  
 
=Installation and Configuration=
 
=Installation and Configuration=
 
{|
 
{|
|style="padding: 10px 0px 0px 0px;"|'''This tutorial will show you how to successfully install and configure Freshdesk For WHMCS.''' <br />
+
|style="padding: 10px 0px 30px 0px;"|'''This tutorial will show you how to successfully install and configure [https://www.modulesgarden.com/products/whmcs/freshdesk Freshdesk For WHMCS.]''' <br />
 
We will guide you step by step through the whole installation and configuration process.  
 
We will guide you step by step through the whole installation and configuration process.  
 
|}
 
|}
 
==Installation==
 
==Installation==
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|'''1. Log in to your client area and download the module.'''
+
|style="padding: 10px 0px 20px 15px;"|'''1. Log in to our client area and download the module.'''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F1.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|'''2. In the downloaded file you will find two packages that support different PHP versions.'''<br/>As presented on the screen below, the first one is dedicated to PHP 7, while the second one is aimed at PHP 5.3 up to PHP 5.6.<br/>It does not apply to open source versions.<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''2. In the downloaded file you might find one or two packages that support different PHP versions.'''<br/>
'' '''Note''': You can check current PHP version in your WHMCS. To do so proceed to ''' 'Utilities' → 'System' → 'PHP Info'.'''
+
In the most recent versions of the module, you will find only one package that supports PHP 7.4 and later.<br/> <!-- If you need a package for the previous versions of PHP, please [https://www.modulesgarden.com/support/ticket/general-support contact our support]. -->
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_2.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:PHP74_81.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''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.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''Previous updates of the module may contain two packages dedicated to various PHP versions.'''<br/>
The content of PHP version files should look like this.  
+
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.<br/>
 +
'''''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 [http://php.net/supported-versions.php here].''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:sdrfe.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:PHP56_74_81.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 15px;"| <!-- '' '''Important''': This situation does not affect [https://www.modulesgarden.com/products/whmcs/freshdesk#open-source-version '''the open source version'''] of this module which can be applied to any PHP from version 5.6 and later.''<br/>'' --> '''Note''': You can check the current PHP version in your WHMCS. To do so, proceed to ''' 'Utilities' → 'System' → 'PHP Info'.'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''3. Once you have chosen the package with the right PHP version, extract it and upload its content into the main WHMCS directory.'''<br />
 +
The content of the chosen PHP version files to upload should look like this.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:NF2_2.png]]
 
|}
 
|}
 
{|
 
{|
Line 115: Line 188:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_3.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF2_3.png]]
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 15px 15px;"|'''5. In order to configure your license key, you have to edit the previously renamed '' 'license.php' file. '' '''<br />
 
|style="padding: 0px 0px 15px 15px;"|'''5. In order to configure your license key, you have to edit the previously renamed '' 'license.php' file. '' '''<br />
Enter your license key between quotation marks as presented on the following screen. You can find your license key in your client area → '' 'My Products'. ''  
+
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'. ''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:NF2_4.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''6. Now, set up the  '' 'storage' '' folder as recursively writable.'''<br />
 +
This folder is available at '' 'your_whmcs/modules/addons/Freshdesk/'.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:F2_4.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:NF6_2.png]]
 
|}
 
|}
  
 
==Activation==
 
==Activation==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''6. Now, you have to activate the module in your WHMCS system.'''<br />
+
|style="padding: 10px 0px 15px 15px;"|'''7. Now, you have to activate the module in your WHMCS system.'''<br />
 
Log in to your WHMCS admin area and proceed to '' 'Setup' '' → '' 'Addon Modules'. ''<br />
 
Log in to your WHMCS admin area and proceed to '' 'Setup' '' → '' 'Addon Modules'. ''<br />
Afterwards, find '' 'Freshdesk' '' and press '' 'Activate' '' button.
+
Afterward, find '' 'Freshdesk' '' and press the '' 'Activate' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_5.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_5.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''7. In the next step you need to permit access to this module.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''8. In the next step you need to permit access to this module.'''<br />
To do so, click on '' 'Configure' '' button, tick checkboxes to assign desired admin roles.
+
To do so, click on the '' 'Configure' '' button, tick checkboxes to assign desired admin roles.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_6.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_6.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|'''8. You have just successfully installed Freshdesk For WHMCS!'''
+
|style="padding: 0px 0px 30px 15px;"|'''9. You have just successfully installed Freshdesk For WHMCS!'''
 
|}
 
|}
  
 
==Configuration==
 
==Configuration==
 
{|
 
{|
|style="padding: 20px 0px 20px 15px;"|'''Now you have to configure your newly installed module.'''<br/>
+
|style="padding: 10px 0px 30px 15px;"|'''Now you have to configure your newly installed module.'''<br/>
Before we proceed to the configuration itself, you have to log in to your Freshdesk account to find your API details.
+
Before we proceed to the configuration itself, you have to find API details to your Freshdesk account.<br/>
 +
'''''Important:''' Please be aware that a minimum Freshdesk pricing plan is ''' 'Pro'.'''<br/> If you use any lower plan, it will be impossible to successfully connect the module with the API (click [https://support.freshdesk.com/support/solutions/articles/225439-what-are-the-rate-limits-for-the-api-calls-to-freshdesk here] for more information).''
 
|}
 
|}
 
===API Connection===
 
===API Connection===
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Firstly, log in to your Support Portal in order to find API details.<br/>
+
|style="padding: 10px 0px 20px 15px;"|Firstly, log in to your Freshdesk portal at ''https://support.freshdesk.com/support/login.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_8.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_7.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Click on your profile picture that is in the top right corner of the page and go to '' 'Profile settings' '' section.<br/>
+
|style="padding: 0px 0px 20px 15px;"|Click on your profile picture that is in the top right corner of the page and go to the '' 'Profile Settings' '' section.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_81.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_8.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|You can find your API key below the '' 'Change Password' '' section, on the right side of the page.  
+
|style="padding: 0px 0px 15px 15px;"|You can find your API key on the right side of the settings page.  
Use existing key or reset it to generate a new one. Copy an active API key.<br/>
+
Use an existing key or reset it to generate a new one. Copy the active API key.<br/>
 
'''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.
 
'''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.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_91.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:NF_9.png]]
 
|}
 
|}
  
 
===Server Configuration===
 
===Server Configuration===
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Now, that you have safely stored API, you may move to the second part of configuration.<br/>
+
|style="padding: 10px 0px 15px 15px;"|Now, that you have safely stored your API, you may move to the second part of configuration.<br/>
Proceed to '' 'Addons' → 'Freshdesk' → 'Server Configuration', '' here you have to enter any data required to connect your WHMCS with Freshdesk server.
+
Proceed to '' 'Addons' → 'Freshdesk' → 'Settings' → 'Server Settings', '' here you have to enter any data required to connect your WHMCS with the Freshdesk server.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_13.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_10.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Enter your Freshdesk details:
+
|style="padding: 0px 0px 15px 15px;"|Enter your Freshdesk details:<br/>
*Account Name - this is your subdomain e.g. in ''<nowiki>https://mycompany.freshdesk.com</nowiki>'' account name will be ''mycompany''
+
'''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'.''
*API Key - API key found in the previous steps
+
*'''Account Name''' - this is your subdomain e.g. in ''<nowiki>https://mycompany.freshdesk.com</nowiki>'', account name will be ''mycompany''
*Admin Username - administrator's email used to log into your Freshdesk account
+
*'''API Key''' - API key found in the previous steps
*Admin Password - administrator's password used to log into your Freshdesk account<br/>
+
*'''Administrator Username''' - the admin's email used to log into your Freshdesk account
*Disable SSL - check this box if you want to turn off SSL certificate verification<br/>
+
*'''Administrator Password''' - the admin's password used to log into your Freshdesk account<br/>
Finally, test connection and if it is successful save changes.
+
*'''SSL''' - check this box if you want to turn on the SSL certificate verification<br/>
 +
*'''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 [[#Freshdesk_Customer_Widget|tutorial]] <br/>
 +
Finally, test the connection and, if successful, save the changes.<br/>
 +
 
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_14.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_11.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Finally, move to '' 'Setup' → 'General Settings' → 'Support'.<br/>
+
|style="padding: 0px 0px 15px 15px;"|Finally, move to '' 'Setup' → 'General Settings' → 'Support'''  in your WHMCS.<br/>
There choose '' 'Freshdesk' '' support module from a dropdown menu and save changes.<br/>
+
There choose the '' 'Freshdesk' '' support module from a dropdown menu and save the changes.<br/>
''From now on, your clients will see Freshdesk tickets and departments (not WHMCS).''
+
From now on, your clients will see Freshdesk tickets and departments (not WHMCS).
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_6_1.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_12.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|'''Good job! Now your WHMCS is connected with Freshdesk support system'''.
+
|style="padding: 0px 0px 30px 15px;"|'''Good job! Now your WHMCS is connected with the Freshdesk support system.'''
 +
|}
 +
 
 +
===Freshdesk Customer Widget===
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|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|Management]] section.<br> Freshdesk App Widget, once configured, allows to see customer's WHMCS data. <br/> 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:
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:NF_12_1.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"| In order to enable the widget, compete the following steps: <br/>
 +
Navigate to '' 'Addons' → 'Freshdesk' → 'Settings' → 'Server Settings' ''  in your WHMCS. Find the  '' 'Widget Authorization Password' '' field and enter your own password.<br/> This password will be used to communicate with the Freshdesk widget application.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:NF_12_2.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Next, go to https://developers.freshdesk.com, click ''' 'Log in as Developer' ''' and sign on using your Freshdesk '' 'Organization URL' '' or '' 'Account URL' '' data.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:NF_12_3.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|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. <br/>
 +
 
 +
'''Download:''' [https://www.modulesgarden.com/client-area/dl.php?type=d&id=5491 freshdesk_widget_1.0.2.zip]
 +
 
 +
Proceed when you are ready.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:NF_12_4.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|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' '').
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:NF_12_5.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Go to Freshdesk admin panel and click '' 'Admin' → 'Support Operations' → 'Apps' '' settings.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:NF_12 _6.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Find the '' 'Manage Apps'' ' button located in the top right corner and click on it.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:NF_12_6_1.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Choose '' 'Custom App' '' and press '' 'Install' '' next to the previously created app.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:NF_12_6_2.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Finally, fill out the fields according to the prompts so the application can connect to your WHMCS.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:NF_12_7.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|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.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:NF_12_8.png]]
 
|}
 
|}
  
 
=Management=
 
=Management=
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|'''Once Freshdesk For WHMCS is installed and connection configured, you can create/update your ticket departments and begin using it.'''<br/>
+
|style="padding: 10px 0px 30px 15px;"|'''Once Freshdesk For WHMCS is installed and the connection is configured, you can create/update your ticket departments and begin using them.'''<br/>
Each ticket department you create in the Freshdesk will be available for your customers in WHMCS client area.
+
Each ticket department you create in Freshdesk will be available for your customers in WHMCS client area.
 
|}
 
|}
 
==Settings==
 
==Settings==
 
===WHMCS===
 
===WHMCS===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Before you start your actual work on support tickets with Freshdesk For WHMCS, move again to '' 'Addons' → 'Freshdesk' → 'Ticket Settings'. ''<br/>
+
|style="padding: 10px 0px 15px 15px;"|Before you start your actual work on support tickets with Freshdesk For WHMCS, move again to '' 'Addons' → 'Freshdesk' → 'Settings' → 'Ticket Settings'. ''<br/>
This section of the addon allows easy and comfortable management of the way tickets are displayed in your client area, their visibility, sorting etc.
+
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.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_15.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_13.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|In the first box ''''' 'Options', ''''' you may enable some basic settings that will be applied to tickets view in the client area.<br/> Let's now discuss their functionality in details:
+
|style="padding: 0px 0px 15px 15px;"|In the first box ''''' 'Options', ''''' you may enable some basic settings that will be applied to tickets view in the client area.<br/> Let's now discuss their functionality in details:
*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.)
+
*'''Default Department''' - select a default department for exported tickets
*Update Client Credentials - if client's email is updated in WHMCS, it's updated in Freshdesk accordingly ''(name is also updated but only if email is changed)''
+
*'''Allowed Departments''' - select which of your departments from Freshdesk will be available in WHMCS ticket system
*Replies Descending Order - enable this option and ticket replies will be sorted by date in descending order when viewing a ticket
+
*'''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)
*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
+
*'''Replies Descending Order''' - enable this option and ticket replies will be sorted by date in a descending order when viewing a ticket
*Allowed Departments - select which of your departments from Freshdesk shall be available in WHMCS ticket system
+
*'''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 [[#Client Services|here ]] <br/>
 +
*'''Client ID''' - allows you to display IDs of your WHMCS clients next to their tickets in Freshdesk panel.<br/> 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. <br/>
 +
*'''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)''
 +
 
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_16.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_14.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Next to the '' 'Options' '' box you will find a box where you can assign some colors to a specific ticket status.<br/>
+
|style="padding: 0px 0px 15px 15px;"|Under the '' 'Options' '' box you will find a section where you can assign some colors to a specific ticket status.<br/>
 
Click on the field to choose a color from the palette of colors or type in the number of the color you like.<br/>
 
Click on the field to choose a color from the palette of colors or type in the number of the color you like.<br/>
 
Tickets of each status will be marked with selected colors on homage.<br/><br/>
 
Tickets of each status will be marked with selected colors on homage.<br/><br/>
Remember to save the changes if you make any changes in ticket settings.  
+
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. <br/>
 +
Remember to save the changes if you make any in ticket settings.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_17.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_15.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Tickets of each status are now marked with selected colors on homepage.
+
|style="padding: 0px 0px 20px 15px;"|Tickets of each status are now marked with the selected colors on homepage:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_18.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_16.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Below the '' 'Status Color' '' you will find a box where you can define what the default department for exported tickets will be.<br/>
+
|style="padding: 0px 0px 20px 15px;"|Tickets history in the client area:
You can choose from your existing Freshdesk departments.<br/><br/>
+
Remember to click '' 'Save Changes' '' button before you move to another section.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:F27.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:NF_15_1.png]]
 
|}
 
|}
  
===Freshdesk===
+
===Freshdesk Client Fields===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|You can also manage ticket fields, that are available in WHMCS on a new ticket form, directly in Freshdesk.<br />
+
|style="padding: 10px 0px 15px 15px;"|Freshdesk For WHMCS module allows the management of '' 'Customer Fields' '' created in the panel.
Move to '' 'Freshdesk' → 'Admin' → 'General Settings' → 'Ticket Fields'. '' On this site you can edit or add new custom fields in order to collect the data you need from the customer when they submit a ticket. <br />
+
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.<br />
For test purposes we adjusted '' 'Priority' '' field according to our needs.
+
Edit any existing field, change behavior or add new ones.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_19.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_16_1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|As you can see on the screen below, a new field appeared in WHMCS client area.<br/>Edit/add ticket fields to adjust the ticket form perfectly to your needs.
+
|style="padding: 0px 0px 20px 15px;"|Once ready, you will need to move to your '' 'WHMCS' → 'Setup' → 'Custom Client Fields' '' where a corresponding field shall be created.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:F2_20.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_17.png]]
 
|}
 
|}
 
==Export==
 
 
{|
 
{|
|style="padding: 10px 0px 5px 15px;"|Our module allows to export data gathered in your WHMCS, more specifically, all the users and tickets generated before the installation of the product.<br/>
+
|style="padding: 0px 0px 15px 15px;"|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.<br/>
Read the below points to learn what data can be synchronized with Freshdesk and what are the possible means of such synchronizations.
+
Select from the list of corresponding fields, that will be visible in the client's profile.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:NF_18.png]]
 
|}
 
|}
===Users===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|The first option offered by our module is the export of users from WHMCS to Freshdesk, proceed to '' 'Users Export' ''.<br/>
+
|style="padding: 0px 0px 15px 15px;"|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.<br/>
You will see here a list of all users who exist in your WHMCS and have not been synchronized with Freshdesk yet.
+
Adequately, optional fields (marked in blue) may be left empty to proceed with the export.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F19.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:NF_20.png]]
 
|}
 
|}
 +
 +
===Freshdesk Ticket Fields===
 +
====Custom Ticket Fields====
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Now, you can manually export all of the users available on the list or choose only some of them.<br/>Check boxes next to the users you are going to export and press '' 'Export' '' button as marked on the screen.
+
|style="padding: 10px 0px 15px 15px;"|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.<br />
 +
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.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:FD20.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_21.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|If a user has already been exported from WHMCS to Freshdesk, they will no longer be visible on the list.<br/> All users newly added to WHMCS will be automatically synchronized with Freshdesk.''<br/><br/>
+
|style="padding: 0px 0px 20px 15px;"|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. <br/>  
After the successful export you may no longer see your users. To change the view proceed to '' 'Toggle Filters' '' to see whether the box defining the view is checked.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F21.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:NF_21_1.png]]
 
|}
 
|}
 +
 +
====Client Services====
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|When the box is not checked, you will see the list of users that have been exported.
+
|style="padding: 10px 0px 15px 15px;"|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. <br/>
 +
Go back to WHMCS addon → '' 'Ticket Settings', '' where you can instantly select it under the '' 'Client Services' '' dropdown.<br />
 +
Do not forget to save the changes.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:F22.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_23.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|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.<br/>
 +
Edit/add ticket fields to adjust the ticket form perfectly to your needs.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:NF_24.png]]
 
|}
 
|}
  
===Tickets===
+
====Custom Ticket Statuses====
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|The next option offered by our module is the export of tickets from WHMCS to Freshdesk, proceed to '' 'Tickets Export'. ''<br/>You will see here a list of all tickets which exist in your WHMCS and have not been synchronized with Freshdesk yet.
+
|style="padding: 10px 0px 15px 15px;"|You can also manage custom ticket statuses used in Freshdesk panel.<br/>
 +
Move again to '' 'Freshdesk' 'Admin' → 'Workflows' → 'Ticket Fields' → 'Status' '' to add new or modify existing ticket statuses.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F23.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_23_1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Now, you can manually export all of the tickets available on the list or choose only some of them.<br/>Check boxes next to the tickets you are going to export and press '' 'Export' '' button as marked on the screen.
+
|style="padding: 0px 0px 15px 15px;"|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.<br/> Select colors for them.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F24.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_24_1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|If a ticket has already been exported from WHMCS to Freshdesk, they will no longer be visible on the list.<br/> All tickets newly created to WHMCS will be automatically synchronized with Freshdesk.''<br/><br/>
+
|style="padding: 0px 0px 30px 15px;"|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.<br/>
After the successful export you may no longer see your tickets. To change the view proceed to '' 'Toggle Filters' '' to see whether the box defining the view is checked.
+
Open the used language file located in ''/your_WHMCS/moduels/addons/Freshdesk/langs/ '' directory and add new lines at the very bottom. <br/>In case you use multilanguage option this possibility allows full translations. <br/>
 +
 
 +
Exemplary lines to add:
 +
 
 +
$_LANG['addonCA']['FreshdeskCustomStatusName'] = "Your translation visible in WHMCS Client Area";
 +
$_LANG['addonCA']['Being Processed'] = "In lavorazione";
 
|}
 
|}
 +
 +
==Export==
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F25.png]]
+
|style="padding: 10px 0px 30px 15px;"|Our module allows to export data gathered in your WHMCS, more specifically, all the users and tickets generated before the installation of the product.<br/>
 +
Read the below points to learn what data can be synchronized with Freshdesk and what are the possible means of such synchronizations.
 
|}
 
|}
 +
===Users===
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|When the box is not checked, you will see the list of tickets that have been exported.
+
|style="padding: 10px 0px 15px 15px;"|The first option offered by our module is the export of users from WHMCS to Freshdesk, proceed to '' 'Users Export'.''<br/>
 +
You will see here a list of all users who exist in your WHMCS and have not been synchronized with Freshdesk yet.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:F26.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_25.png]]
 
|}
 
|}
 
==Support Tickets==
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Move to your client area. There, on your homepage, is a '' 'Recent Support Tickets' '' box. <br/>
+
|style="padding: 0px 0px 15px 15px;"|Now, you can manually export all of the users available on the list or choose only some of them.<br/>
You will find the latest tickets available in your system. The visible tickets are marked with colors related to their current status.
+
Check boxes next to the users you are going to export and press the '' 'Export' '' button, marked with the red arrow on the screen.<br/> You can always check the status of the exported clients (the blue arrow).
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_21.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_26.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Now, we will create a ticket message to show the flow. Just like in case of standard WHMCS support ticket, choose department, fill out the form and submit the ticket.
+
|style="padding: 0px 0px 15px 15px;"|After confirming your choice, the selected user should be exported from WHMCS to Freshdesk, their '' 'Status' '' field will become modified as well.<br/> All users newly added to WHMCS will be automatically synchronized with Freshdesk.''<br/><br/>
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_22.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:NF_27.png]]
 
|}
 
|}
 +
 +
===Tickets===
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|A new ticket, sent with Freshdesk For WHMCS module, is immediately visible in Freshdesk admin area.  
+
|style="padding: 10px 0px 15px 15px;"|The next option offered by our module is the export of tickets from WHMCS to Freshdesk, proceed to '' 'Tickets Export'. ''<br/>You will see here a list of all tickets which exist in your WHMCS and have not been synchronized with Freshdesk yet.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_23.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_28.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Do not hesitate and send a reply to this ticket.
+
|style="padding: 0px 0px 15px 15px;"|Now, you can manually export all of the tickets available on the list or choose only some of them.<br/>Check boxes next to the tickets you are going to export and press the '' 'Export' '' button as marked on the screen.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2_24.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_29.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Client has received an answer. Note that the ticket status has been updated as well.
+
|style="padding: 0px 0px 15px 15px;"|If a ticket has already been exported from WHMCS to Freshdesk, they will have a different ''Freshdesk Status'' visible on the list.<br/> All tickets newly created to WHMCS will be automatically synchronized with Freshdesk.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:F2_25.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_30.png]]
 
|}
 
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|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.<br/> Underneath you can see a command that must be executed from you CLI to start such export. <br/>
 +
'''Please remember to adjust the date rage located at the end of the command to your personal needs first!'''
  
<!--
+
<pre>php /yourWHMCS/modules/addons/Freshdesk/cron/cron.php ExportTicket 2022-01-01 2022-12-31</pre>
=How To Update=
+
 
 +
'''''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.<br/> They indicate the beginning and ending dates of the date range within which all the created tickets shall be exported.''<br>
 +
 
 +
'''''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. <br/> You can find more information about call limits [https://support.freshdesk.com/support/solutions/articles/225439-what-are-the-rate-limits-for-the-api-calls-to-freshdesk- here].''
 +
|}
 
{|
 
{|
|style="padding: 20px 0px 15px 15px;"|Updating Freshdesk For WHMCS to newest version is quite simple.<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:NF_30_1.png]]
'''1. Firstly download the newest version from your client area.'''
+
 
|}
 
|}
 +
 +
==Support Tickets==
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F1.png]]
+
|style="padding: 10px 0px 15px 15px;"|Move to your client area. There, on your homepage, is the '' 'Recent Support Tickets' '' box. <br/>
 +
You will find the latest tickets available in your system. The visible tickets are marked with colors related to their current status.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''2. Upload and extract the module into the main WHMCS directory.'''<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_31.png]]
Files in your WHMCS directory should look like this.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:F2.png]]
+
|style="padding: 0px 0px 20px 15px;"|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.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''3. Copy settings from '' 'configuration.php' '' to '' 'configuration_RENAME.php' ''.'''<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:NF_31_1.png]]
Both files are located at '' 'your_whmcs\modules\support\freshdesk' ''.<br />
+
Afterwards, remove '' 'configuration.php' '' file and rename '' 'configuration_RENAME.php' '' to '' 'configuration.php' ''.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:F13_1.png]]
+
|style="padding: 0px 0px 15px 15px;"|A new ticket, sent with Freshdesk For WHMCS module, is immediately visible in Freshdesk admin area. <br/>
 +
Do not hesitate and send a reply to this ticket.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:NF_31_3.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|A client has received an answer. Note that the ticket status has been updated as well.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:NF_31_4.png]]
 +
|}
 +
 
 +
==Logs==
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|All module activities are recorded in '' 'Logs'.''<br />
 +
'''''Note:''' You might have no visible logs here if there are no logged actions yet.''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:NF_32.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|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.<br/> In order to delete multiple logs at the same time you can simply take advantage of the '' 'Mass Remove Action'.''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:NF_33.png]]
 
|}
 
|}
-->
 
  
 
=Tips=
 
=Tips=
Line 393: Line 602:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|2. When you add '' ' clientservice' '' at the end of the custom field title, a select with list of products and domains will show up.
+
|style="padding: 0px 0px 10px 15px;"|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/
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 15px;"|3. You can configure the support sidebars that are displayed in the client area by switching them on/off.<br/>
 +
Simply, change the flag from '''true''' into '''false''' in the following file if you wish to hide the support sidebars.
 +
<pre>/modules/addons/freshdesk/app/Config/freshdesk.yml</pre>
 +
|}
 +
 
 +
=Update Instructions=
 +
{|
 +
|style="padding: 10px 0px 30px 15px;"|An essential guidance through the process of updating the module is offered '''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module here]'''.<br/><br/>
 +
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.<br/>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.<br/>
 +
However, when the module becomes successfully reconfigured, the previously submitted tickets should be visible in the client profiles.
 +
|}
 +
=Upgrade Guide=
 +
{|
 +
|style="padding: 10px 0px 30px 15px;"|Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?<br/> 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.<br/>
 +
 
 +
Opt for the [https://www.modulesgarden.com/products/whmcs/freshdesk#open-source-version Open Source version] of your Freshdesk For WHMCS module to unlock these benefits.<br/> 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.<br/>
 +
 
 +
Follow a [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module 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=
 
=Common Problems=
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
+
|style="padding: 10px 0px 10px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 15px;"|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.<br/>Some of other module elements may also not reflect immediate changes made in the Freshdesk panel.<br/>
 +
If you need the immediate cache refreshment, go to the '' 'Ticket Settings' '' or save '' 'Server Settings' '' again.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 15px;"|3. We do not recommend using Freshdesk For WHMCS module either with Multibrand For WHMCS or with Resellers Center For WHMCS.<br/>
 +
Integration between these modules is hampered due to specific features of each one of them and their individual work flow.
 
|}
 
|}

Latest revision as of 13:51, 26 April 2024

Contents

[edit] 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.1 Back To PHP 7.4
✔ Supports WHMCS Themes "Six" And "Twenty-One"
✔ Supports WHMCS V8.10 Back To WHMCS V8.6
✔ Requires ionCube Loader V12 Or Later
✔ Easy Module Upgrade To Open Source Version

[edit] 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.

[edit] 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

[edit] 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!

[edit] 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).

[edit] 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

[edit] 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.

[edit] 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

[edit] 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.

[edit] Settings

[edit] 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

[edit] 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

[edit] Freshdesk Ticket Fields

[edit] 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

[edit] 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

[edit] 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";

[edit] 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.

[edit] 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 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, their 'Status' field will become modified as well.
All users newly added to WHMCS will be automatically synchronized with Freshdesk.

NF 27.png

[edit] 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

[edit] 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

[edit] 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

[edit] 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

[edit] 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.

[edit] 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.

[edit] 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