Personal tools



From ModulesGarden Wiki
Jump to: navigation, search



CRM For WHMCS is a module created to expedite the management process of potential clients.

You will be able to not only add new contacts and easily alter their status or labels on a Kanban board but also create accounts for them directly in the addon.
The module will allow you to send automated notifications, create quotes and notes as well as add custom fields to contacts' profiles according to your needs.
What is more, all information about the contacts will be shown in a graphic form on the dashboard.

TIP: You can extend the functionality of CRM For WHMCS by integrating the module with Asterisk VoIP Center For WHMCS, Quotes Automation For WHMCS and SMS Center For WHMCS.

  • Addon Module Features:
✔ Create Contacts:
✔ Leads
✔ Potentials
✔ Custom Types
✔ Convert Contact Type
✔ Send Mass Email & SMS To:
✔ All Clients
✔ Chosen Client Groups
✔ Contacts From Chosen Campaigns
✔ Restrict Access To Contact Types
✔ Assign Client Account To Contact
✔ Assign Administrator To Contact
✔ Assign Ticket To Contact
✔ Quickly Edit Contact Details
✔ Add And Manage Contact's Follow-ups
✔ Add And Manage Contact's Notes
✔ View, Create And Synchronize Quotes For Contact
✔ View Contact Tickets
✔ View Contact Orders
✔ Send Email From Template Or Custom Message - Include Files And Quote
✔ Send And Receive Emails Using Custom Mailboxes
✔ Send Ticket Response
✔ View Email And SMS Messages In Conversation Log
✔ Upload And Manage Files From Contact Profile
✔ Add And Assign Labels To Contacts
✔ Manage Customer Relationship Stages On Kanban Board
✔ View Announcements For Administrators
✔ View Logs Concerning Contact
✔ View Dashboard Containing:
✔ Incoming Follow-ups
✔ Contact Lists
✔ Last Email Messages
✔ Last Activity
✔ View Calendar With All Reminders Sorted By Type
✔ View CRM Statistics And Graphs Concerning Contacts
✔ Import Contacts In Chosen File Formats: CSV, XSL, XSLX, ODS
✔ Export Contacts In Chosen File Formats: CSV, XSL, XSLX, ODS, PDF
✔ Perform Bulk Actions On Multiple Contacts
✔ Remove Contact:
✔ Move Contact To Archive Where It Can Be Restored From
✔ Delete Contact From CRM Database Completely
  • Follow-up Features:
✔ 3 Types Of Notifications: Now, On Follow-up Date, Before Follow-up Date - Both For Administrators And Clients
✔ Administrator To Notify - Defines Included Administrators Per Notification Type
✔ Notify Administrator and Clients via Email And SMS
✔ Notify Administrator via Pop-up Alarm
✔ Follow-up Type - Easier Determination Of Follow-up Purpose
✔ Use Email Template Or Place Custom Message
✔ Synchronize Follow-ups With:
✔ Google Calendar
✔ WHMCS Calendar
  • Campaign Features:
✔ Create Campaign
✔ Define Campaign Duration Time
✔ Assign Contacts To Campaign Using Filters
✔ Manually Assign Campaign To Contact
✔ Display Dashboard Per Campaign
✔ Display Campaign Description In Assigned Contact Profile
  • Web Form Features:
✔ Create Web Form
✔ Allow Your Site Guests To Create New Contacts Via Web Form
✔ Define Details Of Web Form Created Contact:
✔ Contact Type
✔ Contact Status
✔ Assigned Admin
✔ Assign Fields To Web Form
✔ Get Generated Web Form To Be Placed On Your Site
✔ View Number Of Contacts Created From Each Web Form
✔ Notify Administrators About New Contact Creations
  • Addon Settings Features:
✔ View Module Status - Contains Status Of CRM Key Elements
✔ Define Whether To Use Quotes And Administrator Assignment
✔ Define Whether To Disable Contacts Creation With Already Existing Email Addresses
✔ Define Follow-up Types And Default Notifications On Follow-up Reschedule
✔ Define Temporary And Permanent Notifications For Administrators
✔ Define If Notification Needs To Be Acknowledged By Administrators
✔ Automatically Add Follow-Ups And Reminders Based On The Set Conditions
✔ Configure Incoming And Outgoing Mailbox Settings
✔ Manage Custom Fields:
✔ Create Fields Groups
✔ Create Custom Fields - Text, Textarea, Checkbox, Radio And Select
✔ Add Description To Custom Field
✔ Add Validators To Custom Fields
✔ Define WHMCS - CRM Fields Mapping - Automatically Fill Out Form With Appropriate Values
✔ Define Custom Contact Types:
✔ Define Contact Type Color And Icon
✔ Define Contact Type Visibility On Navigation
✔ Configure Default View Of Contact Lists - Visibility And Order In Columns
✔ Define First Day Of Week In Calendar
✔ Define Permissions Per Administrator Role Group
✔ Define Personal Settings:
✔ Define Avatar
✔ Define Default Email Address
✔ Define Visible Fields And Their Order For Contacts And Dashboard
✔ Create CRM Email Templates
✔ View Information About CRM Cron
  • Admin Area Features:
✔ WHMCS Support Tickets System - Create Contact, Quickly View Their Details And Move To CRM Contact Profile
✔ WHMCS Quotes - Quotes Created From CRM Profile Are Assigned To Contact Automatically
✔ WHMCS Client Profile - Create Contact
  • General Info:
✔ Meets GDPR Requirements
✔ Integrated With Asterisk VoIP Center For WHMCS - Call Your Clients At Any Time (read more)
✔ Integrated With Quotes Automation For WHMCS - Extend Your Quotes Possibilities (read more)
✔ Integrated With SMS Center For WHMCS - Send Reminders & Mass Messages via SMS (read more)
✔ Integrated With WhatsApp - Move To Service On Pressing Contact Phone Number
✔ Integrated With WHMCS Notifications - Receive Notifications About New Emails From CRM Mailboxes In Your Slack Channels
✔ Connect With CRM Using Its API
✔ Migration Tool - Migrate Contacts And Settings From CRM For WHMCS 1.2.4
✔ Toggle Standalone Mode - Display CRM Outside WHMCS
✔ Display Any Page Or Panel In Full Screen Mode
✔ Multi-Language Support
✔ Supports PHP 7.1 Up To PHP 7.4
✔ Supports WHMCS V7.9 And Later
✔ Easy Module Upgrade To Open Source Version


This tutorial will show you how to successfully install and configure CRM 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.
CRM2 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.1 and later.

PHP71 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.0, and the second one addressed to PHP 7.1 up to PHP 7.3.
Note: Keep in mind that PHP versions 5.6 up to 7.0 are no longer officially supported and their security issues are not fixed or released any more. Find more info here.

PHP56 73.png
Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'.
3. Extract the package and upload its content into the main WHMCS directory.

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

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

The file is located in 'modules/addons/mgCRM/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

CRM 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 the quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products'.

CRM 4.png
6. The next step is to set up the 'Storage' folder as recursively writable.

It is located in 'your_whmcs/modules/addons/mgCRM2/app/'.

CRM 4 2.png

Activate the Addon

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

Log in to your WHMCS admin area. Go to 'Setup' 'Addon Modules'. Afterward, find 'CRM' and press the 'Activate' button.

CRM2 5.png
8. Next, you need to permit access to this module.

To do so, click on the 'Configure' button and tick checkboxes to assign desired admin roles.
CRM as a standalone page - if selected, the CRM page will be visible in the standalone mode by default, no matter which template is used.
Full Access Admin - select admins who will have full access to your module.
Access Control - select admin groups that will have access to your module.
Now, press 'Save Changes'.

CRM2 6.png
9. Now, you have to set up a cron job, which can be found in CRM Addon → 'Settings' 'General' 'System Overview'.

We advise to set up the cron as frequently as possible to send email notifications, 5 minutes interval is recommended.

CRM2 46.png
10. You have just successfully installed CRM For WHMCS!

You can access your module in 'Addons' 'CRM'.

Configuration and Management

CRM For WHMCS is a module which allows you and your staff to manage relations with your current as well as possible clients in one place.


When you proceed to 'Addons' 'CRMv2', you are automatically moved to the application dashboard.

From there you have a quick preview of the most important information in your CRM.
View follow-ups on the calendar, the list of recently added contacts and last activities.

CRM2 42.png
It is possible to adjust the dashboard view according to applied filters. For example, preview the dashboard of a selected administrator.
Choose '--Any' if you want to display information for all administrators

You may also add campaign filters. Simply choose which campaign records shall be viewed.
Select '--Not Applied' to disable this filter.
CRM2 42 1.png

Standalone Mode

Use the cross-arrows icon to switch into the standalone mode. Your CRM module pages will be then possible to access from outside of WHMCS.

Press it again to return to the WHMCS view.

CRM2 43.png


Create Contact

To create a new contact, press the button marked on the screen below.
CRM2 11 1.png
You will be moved to a contact creation form. As you can see below, fields are divided into two sections: Options and Information.
Fill out the form and press 'Add' to add new contact to the list. If you have previously added and enabled custom fields, they will be visible here as well.

Note: Only staff members with full privileges can assign admins to the contacts.

CRM2 11.png
Immediately after a new contact has been added, you will be moved to its summary where you can find/edit some additional data.

Read more about them in the following section.

CRM2 12.png

Manage Contacts

In the 'Actions' column you will find a list of useful operations which can be performed on a contact.

When clicking on the dropdown menu, you will see such options as 'Convert To Potential/Partners' , 'Move To Archive' and 'Delete' .
Note: The 'Call Out' functionality is also available but only if you have installed and configured Asterisk VoIP Center For WHMCS properly.

CRM2 13.png
Now, let us proceed to the contact itself.

Press the pencil icon to move to the contact's summary page.

CRM2 14.png
You can also filter your contacts by e.g. typing in a client's phone number into the 'Search' field.
CRM2 114.png
You can also perform bulk actions on multiple contacts at once.
CRM2 14 2.png


To edit any of the options in the contact summary page, simply press a pencil icon that appears when you hover your mouse cursor over the option.
In this way, you may reassign the administrator, alter the name and change the current status. Mark the appropriate number of stars to change the contact's priority:
  • Low
  • Medium
  • Important
  • Urgent
CRM2 20.png
As mentioned above, when you press the pencil icon, you may select a current status of the contact. You can choose from:
  • Pending (custom)
  • New
  • Active
  • Closed
  • Urgent

Every time you editing any information, please press the green confirmation button to save the changes.

CRM2 19.png
In the area marked on the following screen, you can preview the assigned client,
ticket on the basis of which the contact was created, contact details, and any campaigns the client belongs to.
CRM2 15.png
The module allows you to assign a client account to the contact.

You can do it in two ways: by creating a new contact or by selecting an existing client and assigning him/her to the contact.

CRM2 16.png
In the same way, you may assign a support ticket to a contact. Then, you can make a background check on the client in an easy and quick way.
CRM2 17.png
When you hover over the email address of a contact, two icons will appear. Press the first one and you will be redirected to the section which allows you to send email messages.
If you decide to use the edit icon instead (2.), you will be able to type in any email address.
CRM2 18.png
Just like with clients and tickets, you may also assign your contact to a campaign (if you have any).
When assigned, campaign details will appear in a separate widget.
CRM2 18 1.png
In the 'Summary' page you can also find all your created notes, the list of follow-ups and quickly perform actions like:
  • adding new notes
  • sending emails
  • sending SMS messages (for SMS Center integration)
  • adding follow-ups
  • sending ticket responses (if assigned)
CRM2 21.png


Follow-ups allow you to send email templates or text messages to contacts and staff members and create ToDo entries.

Any follow-up can be rescheduled (1.) or removed (2.) using buttons in the 'Actions' column.
You can search for the desired follow-ups using the search box and sort them by type.

CRM2 21 1.png
To add a new follow-up, fill out the 'New Follow-up' form.

Here you can define:

  • Date - (required) the time when the notifications will be sent.
  • Description - (required) a short description of a follow-up, it will be later on visible in the follow-up list.
  • Follow-up Type - allows you to define the type of a follow-up and facilitate their better identification.
  • Admin - the admin to whom ToDo entry will be assigned.
CRM2 22.png
The last step is to define reminders. We will briefly describe each of them below.

Reminders for Administrators

  • 'On Create' - Notification is sent to the admin assigned to a contact immediately when a follow-up is created.
  • 'Follow-up Due Date ' - Notification is sent to the admin assigned to a contact on the set date.
  • 'Before Follow-up Due Date ' - Specify time (date/hours/minutes etc) before the Follow-up Due Date to send the notification to the admin assigned to a contact.

Reminders for Clients

  • 'On Create' - Notification is sent to the client assigned to a contact immediately when a follow-up is created.
  • 'Follow-up Due Date ' - Notification is sent to the client assigned to a contact on the set date.
  • 'Before Follow-up Due Date ' - Specify the time (date/hours/minutes etc) before the Follow-up Due Date to send the notification to the client assigned to a contact.

Choose whether you wish to send reminders via email or SMS (if SMS Center For WHMCS is activated) or both.
Once the option is marked and the path is chosen, you will need to fill out the details for the chosen reminder, separate for emails and SMS messages.
Press 'Add Follow-up' to finalize the process.

CRM2 23.png
Added follow-up will be displayed on the list of all follow-ups of the contact. Use action buttons to delete, reschedule or edit the follow-up.
CRM2 24.png
In order to reschedule a follow-up, you will always need to provide a reason.
CRM2 25.png
Edit follow-up details:
  • Edit details
  • Add reminders
  • Manage existing reminders
CRM2 26.png


'Notes' section enables you to make and manage notes about the contact.

On the following screen you can see how to add an exemplary note.

CRM2 27.png
Any existing note can be modified and hidden as presented below.
CRM2 28.png
Please note that only hidden notes can be deleted. To show hidden notes, press 'Display Hidden'.
CRM2 29.png


Any staff member can send an email from the profile of any contact.

As you can see, you can manually fill out the email subject and content as well as attach files and quotes.
Additionally, you can use WYSIWYG editor with merge field variables to make your massage more readable.

Note: The maximum attachment size is based on the 'upload_max_filesize' and 'post_max_size' records from your 'php.ini' configuration file.

CRM2 30.png
Alternatively, you can choose one of the WHMCS email templates (from the 'CRM Messages' group type) to be sent.

You can also select the mailbox from which the message will be sent. These mailboxes are obtained from the CRM 'Mailboxes' , WHMCS 'Support Departments' and 'General Settings' sections.
If you do not want to manually select mailboxes every time, you can set the default one in the 'Personal Settings' .

CRM2 31.png
At the bottom of the emails section you will find 'Conversation Log' .

It contains all messages sent to the customer (marked with a green arrow) as well incoming messages (marked with a red arrow), if they have been configured in Mailboxes.
If you have integrated the module with the SMS Center For WHMCS, here you will also find sent SMS messages.
The information about any attachments, follow-ups and reminders linked to the message will also be shown.
Finally, to read the message, simply click on its subject and a new window with its contents will appear.

CRM2 31 2.png


Move to orders page where you can place orders for the contact. Press 'Add New Order' and you will be redirected to your WHMCS page where an order can be placed.
Preview details of all orders and edit them if required.
CRM2 32.png


Quotes can be created for each CRM contact.

As you can see on the screen below, in the 'Quotes' section of the contact page, brief information about quotes assigned to the contact is displayed.
You can edit any of these quotes through using buttons in the 'Actions' column.

CRM2 34.png
You can also create a new quote for the contact. To do so, press 'Add New Quote' as shown on the following screen.
CRM2 35.png
Now, create a quote for your contact.

You can do it in two ways. If a client is assigned to the contact, they will be automatically linked to the quote.
Otherwise, the module will ask you to fill out account details of a new client to complete the quote.
In the second scenario, a client's account will not be created in the process unless you use the 'Convert to Invoice' functionality.
Important: For extended functionality related to quotes, we recommend our Quotes Automation For WHMCS.
It extends quotes with functionalities like adding product addons and domains to the quote, their automatic provisioning, and quote acceptance from the client area.

CRM2 36.png


The 'Tickets' tab displays all tickets created by a client.

If you want to create a new ticket for the client manually, click 'Add New Ticket'.

CRM2 36 2.png


The 'Files' tab allows you to upload and manage files related to your contact.

To upload a new file, select the file to upload and describe it shortly. Then press 'Upload'.
Note: The maximum file size is based on the 'upload_max_filesize' and 'post_max_size' records from your 'php.ini' configuration file.

CRM2 37.png
Any uploaded file can be downloaded from CRM by pressing its name or using action icons.

It can be also removed by clicking on the dustbin icon.

CRM2 38.png


To view the latest actions performed on the contact, go to the 'Logs' tab.

As you can see, it contains all details you might be interested in.

CRM2 39.png
The 'Logs' page, apart form displaying all logs concerning the contact, contains also a search box.

The search option allows you to find logs on actions performed by specific administrators, at a desired time and related to specific events.
On the following screen you can see logs associated with actions of a specific client.

CRM2 40.png


Move to the 'Calendar' tab to access a fully manageable and adjustable calendar.

Switch between days, month and week view to have a clear and precise insight into your scheduled events (click on a selected day to see the details).
Note: You can change the first day of the week in the calendar to any another day in 'Settings' → 'General' → 'Options' → 'First Day Of The Week' option.

Below you can see a month view:

CRM2 43 1.png
Under the calendar you will notice a legend of follow-up types displayed in the calendar.

Click on any follow-up to see its details.

CRM2 43 2.png


'Board' tab can be used to conveniently present the current stage of business relationships with your contacts.

Using the drag & drop feature, you can easily move your contacts from one column to another.
The moved contact will be then automatically assigned to a specific label that is represented by the given column.

CRM2 80.png
By default, when you open the board for the first time, the only available column will be the 'Contact list' .

To add new columns, you must first add them in the 'Settings' → ' General' 'Labels' section.
Simply enter a new label name and assign a color to it for easier identification.
You may add as many labels as you wish.

CRM2 81.png
Now return to 'Board' . Click 'Add Label' to add your just created label as a new column.
CRM2 82.png
Confirm and repeat this step until you reach the desired number of columns.
CRM2 83.png
Finally, the use drag & drop feature to move your contacts between columns.
CRM2 84.png


Another functionality that CRM For WHMCS has to offer is the possibility to create customized campaigns.

If you decide to apply this option, you will be able to create various campaigns with selected contacts included and filtered according to your personal configurations.
Let us check how this functionality works.

Add Campaign

In order to add a new campaign, use the 'Create Campaigns' button.
CRM2 41.png
Start with filling out some basic data about the campaign such as name and description. Select a color that will be used to distinguish this particular campaign from others.
Assign admins who will have access to the campaign entries, and provide beginning and ending dates.
CRM2 41 1.png
In the second part, you will need to select filters to assign desired record to this campaign. You may use both predefined system fields and your own custom fields.
Finally, press 'Add Campaign'.
CRM2 41 2.png

Campaigns List

Find all created campaigns stored together on a convenient list with the most crucial data close at hand.

Use action buttons to:
1. Manually force a record's reassignment
2. Move to the edition page
3. Delete an unused campaign

CRM2 41 3.png


Due to the wide variety of possible configurations, the 'Settings' section has been moved underneath to make the presentation more precise.

In the 'Settings' 'General' page of the module you can check its current status, enable major features and define follow-up settings.


System Overview

Under System Overview you can find information about:
  • Integration with Asterisk VoIP Center For WHMCS
  • Integration with SMS Center
  • Cron job setup
  • Number of CRM email templates
  • Storage folder used by the module
CRM2 45.png
In 'Cron Details', you can find all information about the cron such as its path, last execution date and interval between cron runs.
CRM2 46.png


In 'Additional Options' , you may enable quotations for contacts and assign contacts to administrators.
You can also change the first day of the week for the calendar.
CRM2 47.png


In the next section of General Settings there are few options allowing to configure follow-ups.

First, activate alarms which will show pop-up notifications on forthcoming follow ups. Next, select the 'Follow-up Per Day' option if you want the follow-up to be set on a given day only, not a specific hour.
You may also choose email template used to notify admins about a follow-up being rescheduled.
Note: Pop-up alarms are sent once per minute. If a follow-up starts e.g. at 12:15, the alarm might be triggered at 12:14.
Moreover, if the 'Follow-ups Per Day' option is enabled, then, if a follow-up starts e.g. on 07.08.2017, the alarm might be triggered on 06.08.2017 at 11:59 PM.

CRM2 48.png
If you enable follow-up alarms, the pop-up notifications will be presented like on the screen below:
CRM2 48 3.png
Additionally, you can enable follow-ups synchronization with WHMCS and Google Calendar .

No additional configuration is required for the WHMCS calendar. To configure Google Calendar, follow the steps described here.

CRM2 48 2.png
At the end, you can add a new follow-up type by entering its name, assigning a color and finally enabling it.
Once added, you will see it on the list of available follow-up types below.
CRM2 49.png
Google Calendar
To set up a connection with Google Calendar, go to 'Settings' 'General' 'Follow-ups' .

Then, select Google Calendar from the dropdown menu and click on 'Update Settings'. You will see a box to configure the API data.

CRM2 67.png
To get your 'Client ID' and 'Client Secret' , go to 'Google API Manager' and log in.

If you do not have your project created, then it is necessary to do it firstly.

CRM2 68.png
Now, click 'New Project' .
CRM2 69.png
Then, provide a name of your project and press 'Create' .
CRM2 70.png
Proceed to 'Library' and type 'Google Calendar API' in the search box.
CRM2 71.png
Now, press the 'Enable' button as shown below.
CRM2 72.png
Here, you need to 'Congifure Consent Screen' .
CRM2 73.png
Choose the preferred 'User Type' and confirm by clicking 'Create' .
  • Internal User Type - only available to users within your organization
  • External User Type - available for any user with a Google Account.
CRM2 74.png
In the next step, provide the details of your application and save changes.
CRM2 74 1.png
When ready, come back to your 'Google Calendar API' and click 'Create Credentials' and select 'OAuth client ID' .
CRM2 74 2.png
Next, provide the project name, your main website URL and callback URL in the following format:

Note that your 'admin' folder might also have a custom name.

CRM2 76 1.png
Once created, you will obtain your 'client ID and 'client secret'.
CRM2 76 2.png
Now, copy and paste them into your CRM authorization settings.

Press the 'Authorization' button.

CRM2 75.png
In the last step, allow the authorization.
CRM2 76.png
Your Google calendar should be now synchronized with CRM follow-ups.

Please note that this synchronization will work only for newly created follow-ups and only in one direction, that is from CRM module to Google Calendar.


Here you can add your own different coloured labels, which can then be assigned to your contacts for easier identification.

Labels can also be used as columns on the Board view. Click here for more information.

CRM2 85.png
Once you have created labels, you can assign them directly from the contact view.

Note: If you want, you can also assign multiple labels to a single contact.

CRM2 86.png
You can also display labels e.g. on the list of your contacts, by adding this field in the 'Fields' View' section.
CRM2 87.png

API Connection

You may easily connect with our module through its own API. To learn more details, please visit this page.
CRM2 49 1.png


Personal Settings

Provide URL to your avatar in order to personalize your CRM according to your needs.

Also, choose the email address which will be used by default when sending email to a contact.
Available mailboxes will be obtained from the CRM 'Mailboxes' , WHMCS 'Support Departments' and 'General Settings' sections.

CRM2 50.png

Fields' View

In this place you may decide which columns and in what order they will appear in each of the available sections
(Contact page and Dashboard). Click on every section one by one to set its view.

Drag and drop available fields to create a perfect configuration.

CRM2 51.png


In this section, custom mailboxes can be added and then assigned to administrators who can then use them as default for sending emails to contacts or receiving emails directly through the CRM module.

This also might be handy if you want to use different mailboxes than those configured in the WHMCS settings.
To begin, press the 'Create Mailbox' button.

CRM2 77.png
If you want to configure outgoing mailbox, provide the name that will be shown in the contact's mail massage.
Next, choose the admin to whom the mailbox shall be assigned and fill in the remaining fields with your mailbox data configuration.

Press the 'Add Mailbox' button when ready.

CRM2 78.png
From now on, when the admin wants to send an email to a contact, they will be able to use the configured mailbox.
CRM2 79.png
For incoming mailbox, additionally provide your POP3 or IMAP server, choose receive protocol with security options, define port as well as receive folder.

Note: You can select multiple receive options if required by your mailbox.

CRM2 88.png
From now on, when the contact sends a email message to a mailbox address, it will be shown on the contact's emails tab at the 'Conversation Log' as well as in the 'Utilities' → 'Received Messages' section.
By clicking on the email subject, a new window with the content of the received message will appear.
CRM2 89.png


Manage 'Fields' fully, add new fields, group them, define statuses and map existing fields.

List Of Fields

Each field, regardless of its type, has its name, description, assigned group and, obviously, its type.

Available types and validators for each of the types (seen when editing an existing field):

  • text: required, min, max, email, url, ip, regex
  • textarea: required, min, max, regex
  • radio: required, min, max
  • checkbox: required, min, max
  • select: required, min, max

On the following screen you can see an example of a dropdown type custom field.
To add a field, press 'Create Field'.

Note: Fields can be also used for a web forms.

CRM2 53.png


This is the place where groups are created to segregate fields. Once you already know how you want to group your fields, create an adequate group.
Name it, assign a color and enable to start using it.
CRM2 54.png


Similarly to groups, in this section you also may add statuses that later on will be used to segregate fields.
Name the new status, assign a color and enable to start using it.
CRM2 55.png

Fields Mapping

'Fields Mapping' option allows you to connect CRM fields with WHMCS standard or client custom fields.

In this way, during creation of a contact from client's ticket or a adding client from a contact, mapped fields will be automatically filled out.

CRM2 56.png

Contact Types

'Leads' and 'Potentials' are the only predefined contact types that are available from the moment you start using your CRM.

However, to make CRM for WHMCS even more customizable and user-friendly, we have implemented a function allowing you to create and manage your own contact types as well.

CRM2 56 1.png

Add New

To add a new type, simply fill out the form as shown on the screen below.
  • Enter its name and choose a color
  • Enter icon code - the icon will be always visible next to this contact type name, remember to use available formats, e.g.: 'fa fa-empire', 'fa fa-plus-circle '
  • Visibility in navigation bar - choose whether you wish the new contact type to be visible on the main navigation menu and submenu (under the 'Contacts' tab)
  • Dashboard - if you select this option, the new type will be visible on the dashboard, and you will be able to filter the view by this type.

Press the 'Add' button to finish the process.

CRM2 56 2.png

Contacts Management

Under the creation form there is a list of all available contact types, together with the predefined 'Leads' and 'Potentials'.

Here you can fully customize your contact by:

  • changing the assigned color or icon
  • turning on/off its availability in the navigation menus and dashboard
  • activating/deactivating the contact
  • deleting useless types.

Any changes made in this section require reloading the page or clearing the browser cache! Changes to contact types are not applied immediately.

CRM2 56 3.png
If you want to delete a contact type, you will be asked to choose another type to which any contacts from the deleted type will be reassigned to.

If you do not want to reassign the contacts to another type, you can move them to the archive. To do so, simply select the 'Move to Archive' option.
Still, you will have to choose a type for the contact. It will be used in case you decide in future to restore these contacts from the archive.

CRM2 56 4.png


The last section in the 'Settings' tab is responsible for assigning permissions to certain roles of group of administrators.
Select permissions for each existing role.
CRM2 57.png
Once you have added a new role, use action buttons to move the page where you can choose particular permissions for the group.
Select the one you need and 'Update' the settings.
CRM2 52.png


Export File

In order to export a file from your CRM system, simply choose a target file format (CSV, XLS, XLSX, ODS or PDF) and press the 'Export' button.
A file with the complete list of contacts available in your system along with their details such as name, type, priority, phone etc will be downloaded shortly.

A list of available fields that can be included in the file for either import or export are available underneath.

Important: It is required that you use only the fields that are visible underneath. In case you name your columns in any other way, the import action will fail!

CRM2 57 1.png

Import File

In order to import a file to your CRM system, simply select a file from your disc and press the 'Upload' button.
A file with uploaded list of contacts will be available shortly.

Note: you can upload files of 'csv', 'xls', 'xlsx' or 'ods' formats only.

CRM2 57 2.png

Web Forms

Web Forms give your the possibility to collect contacts' details from different sources.

In your CRM you may generate sample web forms which you can then locate in your external sites.
Your customers then will fill out their data which will be automatically delivered into your CRM. Creating new contacts is now much faster and easier.

Proceed to 'Settings' → 'Web Forms'. You will find there a list of all already created web forms. You may edit or delete them at any time.
Here you will also find a raw HTML code of the web form, which must be used to locate it in your desired web site (see action buttons).

Press the button marked on the screen to create a new web form.

CRM2 57 4.png
To generate a web form, you must provide some basic details:
  • Your web form name
  • URL of the site where you want to locate the web form (required for CORS)
  • Define contact type for a new customer and its initial status.
  • Optionally, choose administrators who will be informed about the addition of a new client from a web form.
  • Optionally, define the time delay after which a new client will be added to CRM

Additionally, you may select fields that will be visible to fill out. Drag a field and drop it in the currently created web form box.

CRM2 57 5.png
Once your web form draft is ready, you have to manually add it to the desired location.
Underneath, you will find a sample instruction on how to add a web form as a widget to the WordPress application.

1. Log in to your admin area on your WordPress.
2. Move to 'Appearance' → 'Widgets' and press 'Manage in Customizer'.

CRM2 57 6.png

3. Select 'Widgets' → 'Content Sidebar'.
4. Press 'Add a Widget' → 'Text'.

CRM2 57 7.png

5. Title your widget.
6. Paste the HTML code copied from your web form into 'Content'.

CRM2 57 8.png
Congratulations! Your web form with empty fields that can be filled out by your clients is ready for use.
If your clients provide the required data, new contacts will be automatically added to your CRM.
CRM2 57 9.png


Automations allows cron to automatically add reminders and follow-ups based on the chosen rules.

To start, you need to first create a new automations group.

CRM2 90.png
Enter a new group name, enable the option and press the 'Add' button.
CRM2 91.png
Now, move back to the automation group list and press 'Edit' next to a newly created group.
CRM2 92.png
You can now start adding new rules to the group. First, press the 'Edit Rules' button.
CRM2 93.png
Now, click on 'Add Rule' and then select a new condition from the dropdown.

Afterward, press 'Show Form' to expand triggers for the selected condition.

CRM2 94.png
Depending on the chosen condition, select desired triggers and press 'Update' to save changes.
CRM2 95.png
Now, to set the action that will be triggered after the provided condition, you need to add a new sub-rule to it.

Add the desired action in the same manner as you added a condition before.

CRM2 96.png
This is an example of a simple rule. When a 'Proposal Made' label is assigned to the contact, then an email reminder will be sent to the administrator.
When enabled the next time, when the cron is iterated, the rule group will be triggered.

Note: You can insert as many sub-rule into rules, and events into other sub-rules as you want, but make sure that the conditions you specify are correct so that the whole automation group can be still triggered.

Important: In the current version of the module, the automation actions are not logged in any way



'Statistics' contains graph concerning all your contacts.

The available graphs show for example: the number of contacts per status, new contacts per admin, per month and per day.
Additionally, administrators with extended permissions are able to view statistics of other administrators.

In 'Statistics' you can find the overall information such as graphs concerning contacts with a chosen status.
See the list of recently added contacts with details such as assigned admins, status or creation date.

CRM2 58.png
There are also graphs and statistics tables presenting the number of contacts added within certain periods of time (year/month).
CRM2 60.png


In this section you can manage any notifications that shall be delivered to any administrator depending on the configuration.

Let us check how it works. Press 'Create Notification' to begin.

CRM2 59.png
You will be moved to the 'New Notification' creation form. Fill out the data to tailor the notifications perfectly to your needs.
  • Choose the 'Type' from 'Temporary' and 'Permanent'.
  • Select importance: 'Normal', 'Information', 'Warning' and 'Danger'.
  • Mark administrators that this notification will be displayed to. Naturally, you may select more than one admin.
  • In the 'Message' field simply type in the text of the notification. You are allowed to use HTML code here.
  • Select 'Starting' and 'Ending' dates for 'Temporary' notifications
  • 'Confirmation' - if you select this box, administrator will have to confirm receiving such a notification by pressing the 'Accept' button visible on the notification
  • 'Hide Once Accepted' - decide whether accepted notification should disappear from the widget.

Press the 'Create Notification' button when ready.

CRM2 59 1.png
A newly created notification form is now visible on the list of all notifications in the system.

You may easily edit the notification (you will be moved to creation form where you can make any changes) or delete useless notification.
You will see here information if notifications have been accepted by administrators (if required) and by which ones exactly.

CRM2 59 2.png
Created notifications are visible to admins on any page of their CRM system.

'Accept' your notifications if it is required. Such info boxes like on the screen below will be visible until the specified in the configuration 'Ending Date' option has been selected,
or once they have been accepted if the 'Hide Once Accepted' option was enabled. You may easily hide the notification by pressing the icon in the top right corner of the widget.

CRM2 59 3.png

Mass Messages

Configure mass message templates that can be used in your campaigns.

Press 'Create Mass Message' and fill out the template form.

CRM2 60 1.png
*Choose a group the messages will be delivered to. These can be single users, groups of users or campaigns.
  • Select message type: email or SMS (if integrated with SMS Center For WHMCS)
  • Enter subject of the message
  • Select a date when messages will be placed on the list to send (triggered by cron)
  • Select groups/users or campaigns (depending on the chosen target)
  • Select which mailbox will be used to send the message
  • Describe the template shortly
  • Create the message:
    • Enter the main content of the message, use an advanced tool to edit the input (email only) and available merge fields.
CRM2 60 2.png
Once added, mass message template will be visible on the list. You will find there short info on each template.

Use action buttons to edit or remove a template.

CRM2 60 3.png


In the archive you will find the list of no longer used contacts.

Use action buttons to delete them completely or convert back to a contact.

CRM2 61.png
You can also perform the same action on multiple selected contacts at once.
CRM2 61 2.png

Received Messages

In the 'Received Messages' section you have access to all received messages stored in your incoming mailboxes.
In addition, in the 'Resource' column you will see the name of the clients if their email addresses are already linked to the CRM contacts.
However, if the received message is coming from an unknown email address, you can directly create a new CRM contact by clicking 'Create Contact' .
CRM2 97.png
Of course, you can also view the received messages by clicking on their subject, which will open a new window with their content.
CRM2 98.png


Our module offers additional integration in your WHMCS support tickets system.

As you can see on the screen below, your support operators can convert tickets directly into Contact Lead.
In this way you can track relations with your clients.

CRM 53.png
Any ticket from a given client will be displayed with the contact name, status and assigned staff member.

Additionally, after pressing 'Details' , extended information about the contact will be displayed in a pop-up.
Note: Any contact can be transferred between the available types from the ticketing system as shown below (blue arrow).

CRM 54.png
Your staff will be also able to quickly move to the contact profile in CRM For WHMCS by pressing 'Show Contact' .
CRM 55.png

Asterisk VoIP Center For WHMCS Integration

Integration with Asterisk VoIP Center For WHMCS extends your possibilities with ability to originate calls to your CRM contacts.

As soon as you install the module, you can originate a call by pressing the 'Call Out' button.
If everything is set up correctly, you should see something similar to the screen below.

CRM 56.png

WHMCS Notifications Integration

CRM For WHMCS is the module that supports built-in WHMCS notifications. If you wish to find out more about WHMCS notifications, please refer to this page

Exemplary Slack Configuration

In this section, we will provide you with exemplary configuration of Slack. Please remember that the following instruction is only an illustration of what the configuration process might look like.
Firstly, you need to add a new application to your Slack account. To do so, log in to your Slack account and then go to
Next, click on the 'Start Building' button as shown below.
A new popup window will show up. Here, you should complete an 'App Name' and choose the 'Development Slack Workspace' from the dropdown menu. Once ready, press 'Create App' .
The next step is to set up appropriate permissions. Proceed to 'Basic Information' 'Permissions' .
You will be redirected to the 'OAuth & Permissions' section, where the 'Scopes' tab is available. To continue, click 'Add an OAuth Scope' .
Search the following permissions and add them.
  • Access information about user's public channels (channels:read)
  • Send messages as WHMCS (chat:write)
  • Acces information about user's private channels (groups:read)
When the above permissions are attached, you must confirm changes by pressing the 'Install App to Workspace' button.
You will be asked to grant a permission as follows. To carry on, press 'Allow' .
Copy the 'OAuth Access Token' which will be generated in this step.
Proceed to your WHMCS → Setup → Notifications → Slack and click on the 'Configure' button as presented below.
Provide the 'OAuth Access Token' which you copied previously. When ready, save changes. If the connection is established properly, the active status will appear on the Slack icon.
Now, a new notification rule can be created here.
In the newly opened window, provide the rule name, then choose 'API' from the 'Event' tab and click on 'Custom API Trigger' as underlined on the presented screen.
Next, choose the 'Trigger Identifier' from the dropdown menu. Finally, select 'whmcs' as your 'Channel' and provide a desirable display message which will be shown in the notification.
Make sure that you completed all required data and press 'Create' .
The final step is to configure your mailbox. Open CRM For WHMCS, go to 'Settings' 'Mailboxes' and click 'Create Mailbox' . Once you fill in the data, press the 'Update' button.
If the configuration process has been successful, after running a cron job, you should receive new emails on your Slack which was chosen during the configuration process.
If you want to check more details about the configuration of notifications, please go to this page


In order to familiarize you with the module even better, we are presenting here a sample workflow.

In the beginning, let us point the differences between privilege groups:

  • Full Access Admins - admin role groups that will have access to every aspect of the module.
  • Access Control - admin role groups that will have access to the features specified in the 'Permissions' section.
CRM 57.png

Let us assume we have admin X with full privileges and admin Y who has permissions limited to a sales person.

  1. The admin X obtains a new contact which is called Company X and creates a Lead profile in CRM.
    Additionally, he/she assigns the admin Y to the Company X and leaves some notes in the profile.

  2. The admin Y can now read these notes and choose newsletters and promotion notifications from email templates.
    He/she sets them as follow-ups spread over the next two weeks. Luckily, one of the newsletters draws the attention of the Company X.

  3. They respond to the newsletter, so the admin Y changes this contact type to Potential.
    In this way he/she can track the relation with that contact more easily.

  4. After a few emails with the Company X, the admin Y decides to prepare an interesting offer for the contact in the form of a quote.

  5. Once the quote has been accepted, the admin Y creates a client account for the contact.
    Additionally, owing to the integration with Quotes Automation For WHMCS, he/she is able to quickly generate the invoice & order from the quote.

  6. The following month a few more offers are accepted, and both your company and the Company X benefit from it.

  7. All this time admins X and Y can easily track their contact with the Company X.
    Thanks to the quotes in the contact profile, they can see all current offers made for the Company X.
    While notes and files can give them more information about progress in making current agreements.

Supported Variables

The full list of supported variables for reminders and email templates:


  • {$}
  • {$}
  • {$contact.status_id}
  • {$}
  • {$}
  • {$contact.priority}
  • {$contact.type_id}
  • {$contact.admin_id}
  • {$contact.client_id}
  • {$contact.ticket_id}
  • {$contact.created_at}
  • {$contact.updated_at}
  • {$contact.deleted_at}
  • {$}
  • {$}
  • {$contact.client.uuid}
  • {$contact.client.firstname}
  • {$contact.client.lastname}
  • {$contact.client.companyname}
  • {$}
  • {$contact.client.address1}
  • {$contact.client.address2}
  • {$}
  • {$contact.client.state}
  • {$contact.client.postcode}
  • {$}
  • {$contact.client.phonenumber}
  • {$contact.client.password}
  • {$contact.client.authmodule}
  • {$contact.client.authdata}
  • {$contact.client.currency}
  • {$contact.client.defaultgateway}
  • {$}
  • {$contact.client.taxexempt}
  • {$contact.client.latefeeoveride}
  • {$contact.client.overideduenotices}
  • {$contact.client.disableautocc}
  • {$contact.client.datecreated}
  • {$contact.client.notes}
  • {$contact.client.billingcid}
  • {$contact.client.securityqid}
  • {$contact.client.securityqans}
  • {$contact.client.groupid}
  • {$contact.client.cardtype}
  • {$contact.client.cardlastfour}
  • {$contact.client.cardnum}
  • {$contact.client.startdate}
  • {$contact.client.expdate}
  • {$contact.client.issuenumber}
  • {$contact.client.bankname}
  • {$contact.client.banktype}
  • {$contact.client.bankcode}
  • {$contact.client.bankacct}
  • {$contact.client.gatewayid}
  • {$contact.client.lastlogin}
  • {$contact.client.ip}
  • {$}
  • {$contact.client.status}
  • {$contact.client.language}
  • {$contact.client.pwresetkey}
  • {$contact.client.emailoptout}
  • {$contact.client.allow_sso}
  • {$contact.client.created_at}
  • {$contact.client.pwresetexpiry}
  • {$}
  • {$contact.client.ticket.tid}
  • {$contact.client.ticket.userid}
  • {$}
  • {$}
  • {$contact.client.ticket.title}
  • {$contact.field.<fieldID>.id}
  • {$contact.field.<fieldID>.type}
  • {$contact.field.<fieldID>.active}
  • {$contact.field[<fieldID>].name}
  • {$contact.field.<fieldID>.description}
  • {$contact.field.<fieldID>.data}
  • {$contact.field.<fieldID>.options}
  • {$}
  • {$followup.resource_id}
  • {$followup.type_id}
  • {$followup.admin_id}
  • {$followup.description}
  • {$}
  • {$followup.created_at}
  • {$followup.updated_at}
  • {$followup.deleted_at}
  • {$}
  • {$}
  • {$followup.resource.status_id}
  • {$}
  • {$}
  • {$followup.resource.priority}
  • {$followup.resource.type_id}
  • {$followup.resource.client_id}
  • {$followup.resource.ticket_id}
  • {$followup.resource.created_at}
  • {$followup.resource.updated_at}
  • {$followup.resource.deleted_at}
  • {$followup.resource.status}
  • {$}
  • {$followup.resource.client.firstname}
  • {$followup.resource.client.lastname}
  • {$}
  • {$}
  • {$followup.resource.ticket.tid}
  • {$followup.resource.ticket.userid}
  • {$}
  • {$}
  • {$followup.resource.ticket.title}
Email Templates:
  • {$}
  • {$resource.client.firstname}
  • {$resource.client.lastname}
  • {$}
  • {$}
  • {$}
  • {$resource.status_id}
  • {$}
  • {$}
  • {$resource.piority}
  • {$resource.type_id}
  • {$resource.admin_id}
  • {$resource.client_id}
  • {$resource.ticket_id}
  • {$resource.created_at}
  • {$resource.updated_at}
  • {$resource.deleted_at}
  • {$resource.status}
  • {$fields.<fieldID>.id}
  • {$fields.<fieldID>.type}
  • {$fields.<fieldID>.active}
  • {$fields.<fieldID>.name}
  • {$fields.<fieldID>.description}
  • {$fields.<fieldID>.data}
  • {$company_name}
  • {$company_domain}
  • {$company_logo_url}
  • {$whmcs_url}
  • {$whmcs_link}
  • {$whmcs_admin_url}
  • {$whmcs_admin_link}
  • {$signature}
  • {$date}
  • {$time}


1. If you want to see a specific part of your CRM, a single widget only, use full-screen mode for widgets.

You will find it in the top right corner of each widget.

2. In the addon directory you can find the 'configDB.json' file which is used to setup by default the UTF-8 coalition and character set encoding for the module.

You can simply edit this file according to your needs, or remove it to force the module to automatically obtain the configuration from your database source.

CRM2 622.png
The default content of this file contains the following lines:
   "collation": "utf8_unicode_ci",
   "charset": "utf8"
3. The module allows you to prepare automated follow-ups. As an example, you can set follow-up reminders every X days after the contact type has been changed.

Simply, proceed to the 'Settings' 'Automations' and add a new automation group.
Then, edit the newly created automation group and click on the 'Edit Rules' button. Here, you should add a new rule and then another with the ' Add Follow-up' status.
Define the number of days and add a description if necessary.

CRM2 623.png
4. It is possible to send emails to clients that are collected by the 'Web Form' option.
Firstly, add a new label for contacts created by the web form. Let’s name it 'Web Form' .
CRM2 623 1.png
Once you do this, you can now set a new automation group.
Follow the example below to make sure that you complete all the necessary details.
Thanks to this option, clients with the 'Web Form' label will receive email messages with the template you set here.
CRM2 623 2.png
5. To import all your WHMCS clients, you need to run the following cron command:
 php -q /your_WHMCS/modules/addons/mgCRM2/cron.php ImportClients 

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.


If you have already used any of the previous versions of CRM, the very first thing that you need to do with your module before moving to any further is migrating the data from previous CRM to CRM V2.0.0.
To do so, move to 'Addons' → 'CRM' → 'Settings' → 'Migrator'.

Please note that not all data can be migrated due to some incompatibility between systems.
These include:

  • follow-ups
  • uploaded files

Important! Before you proceed to migration itself, you must always make a backup copy of your database for safety reasons.
In this way you will not lose any data in case of any unpredictable issues and will be able to restore the previous version.

If you fulfill all conditions, press 'Begin Migration' to start the process.

CRM2 62.png
Prepare mapping of statuses used in CRM V 1.2.4 that you wish to map to CRM V2.x.
Confirm that you have finished the mapping correctly and then move to custom fields mapping configuration.
CRM2 64.png
Display map fields used in CRM V 1.2.4, confirm proper configuration and move to the last step.
CRM2 65.png
Read carefully all the information about migration consequences, and if you agree with them, start the migration.
CRM2 66.png
Congratulations! You have successfully migrated your database from previous CRM to the latest version!
Now, you can enjoy a much improved management of your contacts with potential clients.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. In case you have problems with your CRM, for example empty tables, no follow-ups in the calendar or you cannot add a new status, group, or follow-up, please make sure that
your .htaccess or vhost do not block the module in any way.

Underneath there is an exemplary input of a .htaccess file, which will unblock the connections and methods:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)crm.php(.*)$ /admin/crm.php [QSA, L]

    Order allow,deny
    Allow from all

Nginx rewriting rule to pass CRM request trough crm.php file:

location ~ ^/admin/crm.php/ {
  try_files $uri $uri.html $uri/ /admin/crm.php;

Please note that admin folder may have a custom name. Remember to adjust its input to your naming.

3. If you get an error saying that 'Directory <your_whmcs>/modules/addons/mgCRM2/app/Storage is NOT Writable. Unable to continue.' , please make sure that this folder has writable permissions set.
4. If you keep getting the '404 Not Found' or 'Internal Server Error 500' message, please verify whether the file '<your_whmcs>/admin/crm.php' has its permissions fixed similarly to the remaining files in this folder. (usually 644)

Please note that the admin folder may have a custom name.

5. If you cannot see the import and export options for the .XLSX or .ODS formats, please make sure you have the PHP Zip library installed on your server.
Otherwise, you will not be able to use these extensions.
6. We do not recommend using CRM 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.

WHMCS Modules
WHMCS Translations
cPanel Modules
Magento Extensions
Magento Themes
PrestaShop Modules
Blesta Extensions