# CRM For WHMCS

This article is currently being updated, so you might notice missing images, incomplete sections, or temporarily broken links. Thanks for your patience while we get everything up to date!

# (opens new window) About CRM For WHMCS (opens new window)

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 SMS Center For WHMCS (opens new window).

  • 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:
      • Tag Staff Members To Receive Notifications
    • 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
    • Follow-up Status - View Follow-up Current Stage
    • 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 And Follow-ups 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, Select, Phone And Date Time
      • 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

# Installation

This tutorial will show you how to successfully install and configure CRM For WHMCS. (opens new window)

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

# Installation

  1. Log in to our client area and download the module.
CRM For WHMCS: CRM download button in the Downloads tab of the ModulesGarden client area product page
  1. Extract the package and upload its content into the main WHMCS directory.
    The content of the package to upload should look like this.

    CRM For WHMCS: extracted CRM package in a file manager with the admin, includes, modules and webform folders
  2. 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 For WHMCS: mgCRM2 module folder listing with the license.php file being renamed from licenseRENAME.php
  3. 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 For WHMCS: license.php file in an editor with the CRM license key between the quotation marks
  4. The next step is to set up the 'Storage' folder as recursively writable.
    It is located in 'your_whmcs/modules/addons/mgCRM2/app/'.

CRM For WHMCS: module app folder listing in an FTP client with the Storage folder and its permissions highlighted

# Activate the Addon

  1. Now, you have to activate the module in your WHMCS system.
    Log in to your WHMCS admin area. Go to 'System Settings' → 'Addon Modules'. Afterward, find 'CRM' and press the 'Activate' button.

    CRM For WHMCS: WHMCS Addon Modules list with the Activate button next to the CRMv2 module
  2. 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'.

    CRM For WHMCS: WHMCS Addon Modules configuration with CRMv2 standalone and admin role access options and Save Changes
  3. 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.

    CRM For WHMCS: CRM cron details widget with the cron path, URL, last execution time and interval
  4. 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.

# Dashboard

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.

CRM For WHMCS: CRM dashboard with the follow-ups calendar, contacts list, last emails and last activity tables

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.

CRM For WHMCS: CRM dashboard with the Dashboard Preview for and Campaign filter drop-down lists highlighted

# 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.

CRM For WHMCS: CRM dashboard with the full screen standalone mode icon highlighted in the top menu

# Contacts

# Create Contact

To create a new contact, press the button marked on the screen below.

CRM For WHMCS: CRM dashboard with an arrow pointing to the Create Contact button in the top menu

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.

CRM For WHMCS: Create New Contact form with the Information section highlighted and the Add button below

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.

CRM For WHMCS: contact summary page of William Smith with main details, follow-ups table and last notes

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

CRM For WHMCS: CRM Lead contacts list with the row action drop-down showing Convert, Move To Archive and Delete

Now, let us proceed to the contact itself.
Press the pencil icon to move to the contact's summary page.

CRM For WHMCS: CRM Lead contacts list with an arrow on the edit pencil icon in the Actions column

You can also filter your contacts by e.g. typing in a client's phone number into the 'Search' field.

CRM For WHMCS: CRM Lead contacts list filtered by a search phrase typed into the Search field

You can also perform bulk actions on multiple contacts at once.
Note: You must previously select at least one lead on the list to activate the 'Choose Action' button marked on the below screen.

CRM For WHMCS: CRM Lead contacts list with several rows selected and the Choose Action menu expanded
# Summary

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
CRM For WHMCS: contact summary header with the pencil icon next to the assigned admin name highlighted

As mentioned above, when you press the pencil icon, you may select the current status of the contact. You can choose from:

  • Pending (custom)
  • New
  • Active
  • Closed
  • Urgent
    Every time you edit any information, please press the green confirmation button to save the changes.
CRM For WHMCS: contact summary header with a status drop-down list showing Pending, New, Active, Closed and Urgent

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.

CRM For WHMCS: contact summary page with the Main Details widget highlighted on the left side

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.

CRM For WHMCS: Main Details widget with the Assigned Client drop-down list and confirm and cancel buttons

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.

CRM For WHMCS: Main Details widget with the Assigned Ticket drop-down list and unassign option

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, you will be able to type in any email address.

CRM For WHMCS: Main Details widget with the Email row highlighted and the edit icon next to the address

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.

CRM For WHMCS: Main Details widget with the Campaign row highlighted showing assigned campaign labels

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)
CRM For WHMCS: contact summary page with the add note, follow-ups table and last 5 notes widgets highlighted
# Follow-ups

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.

CRM For WHMCS: Follow-ups table of a contact with the search filter button, sortable Type column and action buttons

To add a new follow-up, fill out the 'New Follow-up' form.
Here you can define:

  • Admin - the admin to whom ToDo entry will be assigned.
  • Follow-up Type - allows you to define the type of a follow-up and facilitate their better identification.
  • Status - select the follow-up status from: 'Pending', 'Confirmed' and 'Closed'.
  • 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.
CRM For WHMCS: New Follow-up form with admin, date, type, status and description fields and Add Follow-up button

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.
CRM For WHMCS: New Follow-up form with the reminders for admin and client sections and the Add Follow-up button

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.

CRM For WHMCS: Follow-ups table of a contact with the newly added meeting follow-up highlighted

In order to reschedule a follow-up, you will always need to provide a reason.

CRM For WHMCS: Reschedule Follow-up dialog with the new date, reason field, update reminders option and Reschedule

Edit follow-up details:

  • Edit details
  • Add reminders
  • Manage existing reminders
CRM For WHMCS: follow-up edit page with description, type, date and admin fields, add reminder form and reminders list
# Notes

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

CRM For WHMCS: Notes tab of a contact with the new note editor, Add Note button and list of notes

Any existing note can be modified and hidden as presented below.

CRM For WHMCS: List of notes with Edit and Hide buttons and the Display Hidden button

Please note that only hidden notes can be deleted. To show hidden notes, press 'Display Hidden'.

CRM For WHMCS: hidden note in the list of notes with Unhide and Delete buttons and Do Not Display Hidden
# Emails

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 message 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.

CRM For WHMCS: Send Email form on a contact page with the maximum file size notice and attachment field

Alternatively, you can choose one of the WHMCS email templates (opens new window) (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 (opens new window)' and 'General Settings (opens new window)' sections.
If you do not want to manually select mailboxes every time, you can set the default one in the 'Personal Settings'.

CRM For WHMCS: Send Email form with the Template list expanded to pick an email template and a main content editor

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 (opens new window), 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.

CRM For WHMCS: Conversation log in the contact Emails tab listing sent messages with date, recipient and subject
# Orders

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.

CRM For WHMCS: contact Orders tab with the client orders table, Add New Order button and edit icons
# Quotes

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.

CRM For WHMCS: contact Quotes tab with a quotes table and the edit button in the Actions column

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

CRM For WHMCS: contact Quotes tab with the Add New Quote button highlighted above the quotes table

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 (opens new window).
It extends quotes with functionalities like adding product addons and domains to the quote, their automatic provisioning, and quote acceptance from the client area.

CRM For WHMCS: quote edit page with general information, client information and line items for a contact
# Tickets

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

CRM For WHMCS: contact Tickets tab with the list of client tickets and the Add New Ticket button
# Files

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.

CRM For WHMCS: contact Files tab with the Add New File form, file size notice, Browse and Upload buttons

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.

CRM For WHMCS: contact Files tab with the files list and the download and delete icons in the Actions column
# Logs

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.

CRM For WHMCS: contact Logs tab listing the latest actions with date, author, event and message columns

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.

CRM For WHMCS: contact Logs tab filtered by the word change with the filter button highlighted

# Calendar

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:

CRM For WHMCS: Calendar page in month view with view switcher and follow-ups listed under a selected day

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.

CRM For WHMCS: Follow-up details window over the calendar with the assigned contact, date, description and reminders

# Board

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

CRM For WHMCS: Board page with label columns such as Contacted, Qualified and Won holding contact cards

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.

CRM For WHMCS: Settings General Labels tab with the Add New Labels form for name and color

Now return to 'Board'. Click 'Add Label' to add your just created label as a new column.

CRM For WHMCS: Board page with the contacts list column and the Add Label button highlighted

Confirm and repeat this step until you reach the desired number of columns.

CRM For WHMCS: Add Label window on the Board page with the Labels drop-down list and the Add button

Finally, the use drag & drop feature to move your contacts between columns.

CRM For WHMCS: Board page with an arrow showing a contact card dragged from one label column to another

# Campaigns

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.

CRM For WHMCS: Campaigns list with the Create Campaign button, campaign names, dates, admins and status

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.

CRM For WHMCS: Campaign Details form with name, color, admins, description, starting and ending date fields

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

CRM For WHMCS: Campaign Filters form with system fields and the Add Campaign and Show Matching Records buttons

# 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

CRM For WHMCS: Campaigns list with numbered action icons to synchronize, edit and delete a campaign

# Settings

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.

# General

# System Overview

Under System Overview you can find information about:

  • Integration with SMS Center
  • Cron job setup
  • Number of CRM email templates
  • Storage folder used by the module
CRM For WHMCS: Settings General System Overview tab with the system monitoring table showing cron and email templates

In 'Cron Details', you can find all information about the cron such as its path, last execution date and interval between cron runs.

CRM For WHMCS: CRM cron details widget with the cron path, URL, last execution time and interval (2)
# Options

In 'Additional Options', you may:

  • Enable Quotations for contacts and
  • Assign Contacts to administrators.
  • Allow Contact Duplicates
  • Require Email Address -
  • Start Week On - change the first day of the week for the calendar.
  • Synchronize Contact Details - option to automatically synchronize changes made to the WHMCS client profile with CRM contact details, or from CRM contacts with WHMCS clients, or in both directions.
  • Email Notification Visibility (in minutes) - define how long email notifications should be visible
  • Close Notification - If checked, the administrator will be able to close the notification pop-up by pressing the 'Accept' button.
  • Mentioned Admin Notification Content -
  • Email Import Type - define how the imported into the system emails will be reassigned:
    • Per Email Address - the imported email will be accessible and visible in the conversation log of all contacts with the used in the conversation email address
    • Include Contact ID in Subject - the imported email will be accessible and visible in the conversation log of all contacts with the used in the conversation email address.
      The contact ID number will be added to the email subject and conversation log to distinguish who this message is related to
    • Create Separate Conversations - imported conversations will be delivered to the dedicated contact only, the contact ID will be added to the email subject and conversation log
CRM For WHMCS: Settings General Options tab with additional options such as quotations, contact assignment and email
# Follow-ups

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.

CRM For WHMCS: Settings General Follow-ups tab with calendar synchronization, alarm and follow-ups per day options

If you enable follow-up alarms, the pop-up notifications will be presented like on the screen below:

CRM For WHMCS: Dashboard with a follow-up alarm pop-up notification in the corner and the follow-ups calendar

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.

CRM For WHMCS: Follow-ups settings with the Calendar Synchronization list showing WHMCS Calendar and Google Calendar

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.

CRM For WHMCS: Follow-ups settings with the Add New Follow-up Type form and the list of follow-up types
# Google Calendar Authorization

If you want to allow synchronization of your Google calendar with your CRM, you must firstly go through a few steps described below.
Start from moving to 'Google API Manager (opens new window)' and log in to get your 'Client ID' and 'Client Secret', these data will be necessary in the next steps.
If you do not have your project created, then it is necessary to do it firstly.

CRM For WHMCS: Google APIs and Services dashboard with the project selector in the top bar highlighted

Now, click 'New Project'.

CRM For WHMCS: Google Select a project window with the New Project button highlighted

Then, provide a name of your project and press 'Create'.

CRM For WHMCS: Google Cloud New Project form with the project name field and the Create button

Proceed to 'Library' and type 'Google Calendar API' in the search box.

CRM For WHMCS: Google APIs Library page with the search box for finding the Google Calendar API

Now, press the 'Enable' button as shown below.

CRM For WHMCS: Google Calendar API page in the Google API Library with the Enable button highlighted

Here, you need to 'Configure Consent Screen'.

CRM For WHMCS: Google Calendar API Credentials page with the Configure Consent Screen button highlighted

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.
CRM For WHMCS: Google OAuth consent screen with the External user type selected and the Create button

In the next step, provide the details of your application and save changes.

CRM For WHMCS: Google OAuth consent screen form with the application name filled in and the Save button

When ready, come back to your 'Google Calendar API' and click 'Create Credentials' and select 'OAuth client ID'.

CRM For WHMCS: Google Calendar API Credentials page with Create Credentials menu and OAuth client ID option

Next, provide the project name, your main website URL and callback URL in the following format:

http://yourdomain.com/admin/crm.php/api/settings/general/auth/google/json   

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

CRM For WHMCS: Google Create OAuth client ID form with name, JavaScript origins and redirect URI fields

Once created, you will obtain your 'client ID and 'client secret'.

CRM For WHMCS: Google dialog showing the created OAuth client ID and client secret

Now, copy and paste them into your CRM authorization settings: 'Addon' → 'Settings' → 'General' → 'Follow-ups' → 'AUTHORIZATION FOR GOOGLE CALENDAR API'
Press the 'Authorization' button.

CRM For WHMCS: Authorization for Google Calendar API box with Client ID, Client secret and Authorization button

Next, allow the authorization.

CRM For WHMCS: Google consent window asking to allow the domain to manage your calendars with the Allow button

In the last step, enable "Calendar Synchronization". Define which module should synchronize with Google Calendar (if there are multiple Google Calendars created for one account).
Select Google Calendar from the dropdown menu and click on 'Update Settings'.

CRM For WHMCS: Update Settings box in Follow-ups with Google Calendar synchronization and calendar dropdown

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.

# Labels

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.

CRM For WHMCS: Labels tab with the Add New Labels form and the list of labels with colors

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.

CRM For WHMCS: contact summary page with the Labels row showing an assigned label and the edit icon

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

CRM For WHMCS: Lead contacts list with the Labels column highlighted and label badges in each row

Use the mass action menu to manage multiple labels for numerous contacts at once. Select the labels and choose one of the allowed actions:

  • Add Labels - add a new set of labels, the already assigned will remain as they are
  • Change Labels - the already assigned labels will be replaced with the new set
  • Remove Labels - choose labels that will be unassigned from the selected contacts
CRM For WHMCS: Lead contacts list with the Choose Action menu open and the Manage Labels option highlighted
CRM For WHMCS: Manage Labels dialog with the Change Labels action, selected labels and the Update button

# Personal

# 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.

CRM For WHMCS: Personal Settings tab with the avatar URL, Default Email dropdown and update button
# 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.

CRM For WHMCS: Fields' View tab with Contacts and Dashboard sections and the visible fields columns

# Mailboxes

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.

CRM For WHMCS: Mailboxes list with the Outgoing Mailbox table and Create Mailbox button highlighted

If you want to configure outgoing mailbox, provide the name that will be shown in the contact's mail message.
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.

CRM For WHMCS: New Outgoing Mailbox form with SMTP details and the Add Mailbox button

From now on, when the admin wants to send an email to a contact, they will be able to use the configured mailbox.

CRM For WHMCS: contact Emails tab with the Send Email form and a personal mailbox selected in the From field

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.

CRM For WHMCS: mailbox form with the receive server, protocol, port, option and folder fields highlighted

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.

CRM For WHMCS: Conversation Log table listing sent and received emails with subjects and dates

Created mailboxes can be managed. Use the action buttons to:

  • Sent email to yourself
  • Edit the mailbox
  • Delete the mailbox
CRM For WHMCS: Mailboxes list with the action buttons for sending a test email, editing and deleting highlighted

Multiple mailboxes can be deleted at once using the mass action function.

CRM For WHMCS: Mailboxes list with several mailboxes selected and the Mass Action menu showing Delete
# Google Mailbox Manual

If you want to enable a Google mailbox, please follow the instructions below:
Note: Gmail API currently does not support email attachments.

  1. First of all, enable IMAP for the Gmail account that you are going to integrate.

    • Sign in to your Gmail account using any supported browser
    • Press the 'Settings' icon, you will find it in the top right corner
    • Click 'See all settings'
    • Find tab 'Forwarding and POP/IMAP'
    • Select 'Enable IMAP', and then save the changes
    CRM For WHMCS: Gmail Settings page, Forwarding and POP/IMAP tab, with the Enable IMAP option and Save Changes button
  2. Enable 2-Step Verification

    • Navigate to your account at: https://myaccount.google.com/
    • From the panel on the left, select the 'Security' tab
    • In 'Signing in to Google' panel, turn on the 2-Step Verification
    • Click 'App Passwords '
    • Create a password for your application and save it.
    CRM For WHMCS: Google account Signing in to Google panel with 2-Step Verification turned on
  3. Follow the steps presented in the Google Calendar Authorization section to

    • Install 'Gmail API' from the API library
    • Create OAuth Client ID for it
    • In the 'Authorized redirect URIs' field enter your WHMCS admin area address with this ending: /crm.php/api/settings/general/auth/gmail
      For example: mydomain.com/whmcs/admin/crm.php/api/settings/general/auth/gmail
    • Save the 'Client Secret' and 'Client ID'.
  4. Move to your 'WHMCS' → 'Addons' → 'CRMv2' → 'Settings' → 'Mailboxes' → 'Create Mailbox'. There configure the gmail mailbox with the required data.
    Enter your mailbox access data, and then fill in the rest of the options according to the formula below:

  • Server (SMTP) - smtp.gmail.com
  • Application Client ID - your saved Client ID
  • Application Client Secret - your saved Client Secret
  • Password - your saved App Password
  • Encryption – TLS
  • Port – 587
  • Receive Server POP3/IMAP – imap.gmail.com
  • Receive Port – 993
  • Receive Option – SSL and 'Not validate certificates'.

Press the 'Update' button when ready.

CRM For WHMCS: Edit Mailbox form with Gmail SMTP and IMAP server, port and encryption values
  1. Finally, check the connection.
    Click the button highlighted below. If everything is working properly, an appropriate message will appear.
CRM For WHMCS: Mailboxes list with the connection check button highlighted in the Actions column

# Fields

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.
CRM For WHMCS: Fields List tab with the Add New Field form and the lists of social and company fields
# Groups

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.

CRM For WHMCS: Fields Groups tab with the Add New Group Of Fields form and the groups table
# Status

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.

CRM For WHMCS: Fields Statuses tab with the Add New Status form and the statuses table
# 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.

CRM For WHMCS: WHMCS standard and custom fields mapper in the Fields Mapping tab with the Update button

# 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.

CRM For WHMCS: Contact Types settings with the New Contact Type form and the list of Lead and Potential types
# 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.
CRM For WHMCS: New Contact Type form filled with the Business name and fa fa-bank icon, with the Add button
# 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.
    Important!
    Any changes made in this section require reloading the page or clearing the browser cache! Changes to contact types are not applied immediately.
CRM For WHMCS: Contact Types list in settings showing the newly added Business type next to Lead and Potential

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.

CRM For WHMCS: Delete Contact Type dialog with the contact conversion type list and the Move To Archive option

# Permissions

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.

CRM For WHMCS: Permissions settings with the Add New Role form and the Role Permissions list with assigned admin group

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.

CRM For WHMCS: Permissions for the Full Management role with checkbox groups and the Update button at the top

# Import/Export

# 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!

CRM For WHMCS: Settings Import/Export Export tab with the format list, Export button and the available fields overview
# 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.

CRM For WHMCS: Settings Import/Export Import tab with a selected contacts file, allowed formats and the Upload button

# 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.

CRM For WHMCS: Web Forms list in settings with the Create Web Form button and the code action button in each row

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.
CRM For WHMCS: Create New Web Form page with the Details section, available fields to drag and the Web Form box

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

CRM For WHMCS: WordPress admin Appearance Widgets page with the Manage in Customizer button and sidebar areas
  1. Select 'Widgets' → 'Content Sidebar'.

  2. Press 'Add a Widget' → 'Custom HTML'.

CRM For WHMCS: WordPress Customizer for the Content Sidebar widgets area with the Add a Widget button
  1. Title your widget.

  2. Paste the HTML code copied from your web form into 'Content'.

CRM For WHMCS: WordPress Customizer Text widget with the pasted web form HTML code and the CRM form in the page preview

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.

CRM For WHMCS: CRM web form displayed on a WordPress site, filled out with name, email, webpage, industry and request

# Automations

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.

CRM For WHMCS: Automations list in settings with existing groups and the Create Automation Group button

Enter a new group name, enable the option and press the 'Add' button.

CRM For WHMCS: Create Automation Group form with the group name, enabled status switch and the Add button

Now, move back to the automation group list and press 'Edit' next to a newly created group.

CRM For WHMCS: Automations list with the new automation group in the table and the Edit action button highlighted

You can now start adding new rules to the group. First, press the 'Edit Rules' button.

CRM For WHMCS: Edit Automation Group page with no rules added yet and the Edit Rules button highlighted

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.

CRM For WHMCS: Automation rule editor with the condition and action dropdown, Show Form, Add Sub-Rule and Add Rule

Depending on the chosen condition, select desired triggers and press 'Update' to save changes.
List of available conditions:

  • Add Reminder
  • Add Contact Reminder
  • Send Email To Assigned Admin
  • Add Follow-up
  • Update Contract Field
  • On Invoice Creation
  • On Service Suspension
  • On Sending Email
  • Condition 'IF' By Field
  • Condition 'IF CHANGE' Type
  • Condition 'IF CHANGE' Label
  • Condition 'IF CHANGE' To Field
  • Condition 'IF NOT' By Field
  • Condition 'IF' Days After Contact Created
  • Condition 'IF' Days After Order Created
  • Condition 'IF' Client Inactive
  • Condition 'IF' Days After Client Has Inactive Service
  • Condition 'If CHANGE' Admin
CRM For WHMCS: Condition IF Change Label rule form with From Label, To Label and Days Of Last Changes fields

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.

CRM For WHMCS: Automation Add Reminder sub-rule form with template, admin and Email or SMS method options

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

Example 2: Schedule a follow-up on service suspension:
In CRM, you have the capability to schedule follow-ups that are automatically generated based on specific triggers.
This feature allows you to automate the process of setting up tasks, for example, calls or sending email reminders for various events such as suspending service.
Exemplary configuration:

CRM For WHMCS: Automation group with the On Service Suspension condition and the Add Follow-up rule form with 5 days

After the successful cron execution, in the above example, a new follow-up will be added exactly 5 days after the service is suspended.

CRM For WHMCS: Follow-ups list with the highlighted After Suspension follow-up created by the automation rule

# Utilities

# Statistics

'Statistics' contains graphs 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.

CRM For WHMCS: Utilities Statistics page with Lead and Potential status pie charts and the last 10 contacts table

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

CRM For WHMCS: Statistics page with assigned leads chart, monthly leads and potentials table and yearly and monthly

# Notifications

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.

CRM For WHMCS: Utilities Notifications list with no entries and the Create Notification button highlighted

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. Naturally, you may select more than one admin.
  • In the 'Message' field, use the HTML text editor to enter your notification text.
  • Select 'Starting' and 'Ending' dates for 'Temporary' notifications.
  • 'Confirmation' - if you select this box, an administrator will have to confirm receiving such notification by pressing the 'Accept' button visible on the notification.
  • 'Hide Once Accepted' - decide whether the accepted notification should disappear from the widget.
    Press the 'Create Notification' button when ready.
    Important: Please make sure that you run a cron task to review notifications in the system.
CRM For WHMCS: New Notification form with importance, type, admins, message, confirmation and date fields

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 the creation form where you can make any changes) or delete useless notifications.
You will see here information on whether notifications have been accepted by administrators (if required) and by which ones exactly.

CRM For WHMCS: Notifications list with the new notification message, the Accept button and the notification table row

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.

CRM For WHMCS: CRM Campaigns list page showing the notification widget with the Accept button highlighted

# Mass Messages

Configure mass message templates that can be used in your campaigns.
Press 'Create Mass Message' and fill out the template form.

CRM For WHMCS: Utilities Mass Messages list with an existing template and the New Mass Message button highlighted
  • 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 (opens new window))
  • 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.
CRM For WHMCS: New Mass Message form with recipients, subject, mailbox, description, editor and merge fields

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.

CRM For WHMCS: Mass Messages list with the new template and its Edit and Delete action buttons, Edit highlighted

# Archive

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.

CRM For WHMCS: CRM Archive list with the row action menu showing Restore from Archive and Delete

You can also perform the same action on multiple selected contacts at once.

CRM For WHMCS: CRM Archive list with all contacts selected and the Choose Action menu highlighted

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

CRM For WHMCS: CRM Received Messages list with the Create Contact link for an unknown sender

Of course, you can also view the received messages by clicking on their subject, which will open a new window with their content.

CRM For WHMCS: CRM Received Messages list with the message subject link highlighted

You can also respond to the email or delete it with the action buttons.

CRM For WHMCS: CRM Received Messages list with the reply button and the delete action button

# Tickets

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 For WHMCS: WHMCS support ticket page with the CRM bar and the Create Contact button

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 For WHMCS: WHMCS ticket CRM bar with the contact Details window and the Convert To type dropdown

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

CRM For WHMCS: WHMCS ticket CRM bar with the Show Contact button highlighted

# 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 (opens new window)

# 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 https://api.slack.com/.
Next, click on the 'Start Building' button as shown below.

CRM For WHMCS: Slack API start page with the Start Building button highlighted

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

CRM For WHMCS: Slack Create a Slack App dialog with the app name and workspace fields

The next step is to set up appropriate permissions. Proceed to 'Basic Information' → 'Permissions'.

CRM For WHMCS: Slack app Basic Information page with the Permissions tile highlighted

You will be redirected to the 'OAuth & Permissions' section, where the 'Scopes' tab is available. To continue, click 'Add an OAuth Scope'.

CRM For WHMCS: Slack OAuth and Permissions Scopes section with the Add an OAuth Scope button

Search the following permissions and add them.

  • (channels:read) - access information about user's public channels
  • (chat:write) - send messages as WHMCS
  • (groups:read) - access information about user's private channels
  • (channels:join) - join public channels in a workspace
CRM For WHMCS: Slack Bot Token Scopes list with channels:read, chat:write and groups:read added

When the above permissions are attached, you must confirm changes by pressing the 'Install App to Workspace' button.

CRM For WHMCS: Slack OAuth and Permissions page with the Install App to Workspace button

You will be asked to grant a permission as follows. To carry on, press 'Allow'.

CRM For WHMCS: Slack permission request dialog for the app with the Allow button

Copy the 'OAuth Access Token' which will be generated in this step.

CRM For WHMCS: Slack OAuth and Permissions page with the generated OAuth Access Token and Copy button

Proceed to your WHMCS → Setup → Notifications → Slack and click on the 'Configure' button as presented below.

CRM For WHMCS: WHMCS Setup Notifications page with the Configure button under the Slack provider

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.

CRM For WHMCS: WHMCS Configure Slack window with the OAuth Access Token field and Save Changes button

Now, a new notification rule can be created here.

CRM For WHMCS: WHMCS Notifications page with active Slack and the Create New Notification Rule button

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

CRM For WHMCS: WHMCS Create New Notification Rule form with a Custom API Trigger event and Slack channel

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.

CRM For WHMCS: CRM New Mailbox form with name, email, SMTP, receive protocol and Add Mailbox 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.

CRM For WHMCS: Slack whmcs channel showing WHMCS Bot messages about new mail in the Sales Department inbox

If you want to check more details about the configuration of notifications, please go to this page (opens new window)

# Workflow

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 For WHMCS: WHMCS addon modules list with CRMv2 Configure options for full access admins and access control

Storytelling
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:

Reminders

  • {$contact.id}
  • {$contact.name}
  • {$contact.notes}
  • {$contact.status_id}
  • {$contact.email}
  • {$contact.phone}
  • {$contact.priority}
  • {$contact.type_id}
  • {$contact.admin_id}
  • {$contact.client_id}
  • {$contact.ticket_id}
  • {$contact.created_at}
  • {$contact.updated_at}
  • {$contact.deleted_at}
  • {$contact.status.name}
  • {$contact.client.id}
  • {$contact.client.uuid}
  • {$contact.client.firstname}
  • {$contact.client.lastname}
  • {$contact.client.companyname}
  • {$contact.client.email}
  • {$contact.client.address1}
  • {$contact.client.address2}
  • {$contact.client.city}
  • {$contact.client.state}
  • {$contact.client.postcode}
  • {$contact.client.country}
  • {$contact.client.phonenumber}
  • {$contact.client.password}
  • {$contact.client.authmodule}
  • {$contact.client.authdata}
  • {$contact.client.currency}
  • {$contact.client.defaultgateway}
  • {$contact.client.credit}
  • {$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.host}
  • {$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.id}
  • {$contact.client.ticket.tid}
  • {$contact.client.ticket.userid}
  • {$contact.client.ticket.name}
  • {$contact.client.ticket.email}
  • {$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.id}
  • {$followup.resource_id}
  • {$followup.type_id}
  • {$followup.admin_id}
  • {$followup.description}
  • {$followup.date}
  • {$followup.created_at}
  • {$followup.updated_at}
  • {$followup.deleted_at}
  • {$followup.resource.id}
  • {$followup.resource.name}
  • {$followup.resource.status_id}
  • {$followup.resource.email}
  • {$followup.resource.phone}
  • {$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.id}
  • {$followup.resource.client.firstname}
  • {$followup.resource.client.lastname}
  • {$followup.resource.client.email}
  • {$followup.resource.ticket.id}
  • {$followup.resource.ticket.tid}
  • {$followup.resource.ticket.userid}
  • {$followup.resource.ticket.name}
  • {$followup.resource.ticket.email}
  • {$followup.resource.ticket.title}

Email Templates

  • {$resource.client.id}
  • {$resource.client.firstname}
  • {$resource.client.lastname}
  • {$resource.client.email}
  • {$resource.id}
  • {$resource.name}
  • {$resource.status_id}
  • {$resource.email}
  • {$resource.phone}
  • {$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}

Admin related (supported when sent to admin only)

  • {$admin.id}
  • {$admin.firstname}
  • {$admin.lastname}
  • {$admin.email}
  • {$admin.full}
  • {$admin.avatar}

Some variables are of the 'array' type, and include variables of their own:

{$contact.notes}

  • id
  • resource_id
  • admin_id
  • content
  • created_at
  • updated_at
  • deleted_at

{$contact.labels}

  • id
  • name
  • color
  • order
  • created_at
  • updated_at
  • pivot
    • client_id
    • label_id

# Tips

  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.

    CRM For WHMCS: File manager listing of the CRM module directory with the configDB.json file underlined

    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.

    CRM For WHMCS: CRM automation group editor with an If Change condition rule and an Add Follow-up rule
  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'.

    CRM For WHMCS: CRM Settings Labels tab with the Add New Labels form and the Web Form name

    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.

    CRM For WHMCS: CRM automation group with days after contact created, label condition and contact reminder email rule
  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   
    
  6. When navigating to WHMCS → Email Templates, you may notice that CRM module-related email templates are grouped under 'Emailtpls.type.crm Messages'.
    This language entry is independent of the module language file and can be corrected by adding a new line to the main WHMCS admin language file.
    To do so, open:

/home/public_html/client/admin/lang   

and add the following line at the bottom of the file:

$_ADMINLANG['emailtpls']['type']['crm'] = "CRM";   

# Update Instructions

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

Ensure successful completion of the module update by carefully following each step, thereby preventing data loss or any unforeseen issues.
Additionally, you will find a current list of supplementary actions necessary for a smooth update process there.

# Migration

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.
CRM For WHMCS: CRM migration overview page with the Migration Flow steps and Begin Migration button

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.

CRM For WHMCS: CRM migration Statuses tab with status mapping and the Configure Fields Mapping button

Display map fields used in CRM V 1.2.4, confirm proper configuration and move to the last step.

CRM For WHMCS: CRM migration Fields tab with custom field mapping and the Go To Last Step button

Read carefully all the information about migration consequences, and if you agree with them, start the migration.

CRM For WHMCS: CRM migration final step with leads to import, confirmation checkbox and Start Migration button

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.

# 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 (opens new window) of your CRM For WHMCS module to unlock these benefits.
Simply click on either the Get Source Code or Upgrade To Lifetime button found on the product's page in our client area to complete the one-step upgrade process, with a dedicated discount already applied.

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

# Common Problems

  1. When you have problems with connection, check whether your SELinux or firewall does not block ports.

  2. In case 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]
    
    <Limit PUT DELETE OPTIONS>
        Order allow,deny
        Allow from all
    </Limit>
    

    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 (opens new window) 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.

  7. If you enabled 'Synchronization Contact Details Upon Change' option here, and the changes do not synchronize,
    please refresh your page or use the Ctrl+Shift+R keyboard shortcut to perform a hard reload of your page.