Premium Cloud Hosting!

Contact Info

Hostnali Webhost Limited

+254 748285257

[email protected]

ORDER NOW
Documentation · v1.21

HostCRM for WHMCS

A customer-service and CRM workspace built into WHMCS. Follow-ups, tickets, leads, collections, call-backs, staff KPIs and self-building reports — in one module.

Module  addons/hncrm Platform  WHMCS Licensing  Domain-locked Install  Upload & activate
Getting started

Overview

HostCRM turns WHMCS into a complete customer-service desk. Your support team works from a single daily queue: follow-ups that fall due, overdue-invoice collections, promise-to-pay callbacks, website call-back requests, and support tickets — all in one place, all logged automatically.

Because every customer contact is recorded against the client as it happens, your support reports build themselves. You never write a report by hand; the numbers come from what your team logs as they work.

What HostCRM does

Automates follow-ups

Creates follow-up actions automatically when invoices fall overdue, clients sign up, or services suspend.

Works tickets inline

Read and reply to WHMCS support tickets without leaving the module.

Logs every contact

Calls, WhatsApp, email, SMS, chat and social contacts recorded against the client record.

Tracks money

Overdue invoices become worked follow-ups; promises to pay are booked and chased.

Measures the team

Per-staff KPIs with weighted scorecards and a single performance score.

Reports itself

Support volume by issue, channel, ticket, lead and collection — exportable to PDF.

Getting started

Requirements

ComponentRequirement
PlatformA working WHMCS installation with admin access
PHPPHP 7.4 or newer (PHP 8.x supported)
DatabaseThe MySQL/MariaDB database WHMCS already uses — HostCRM creates its own tables
AccessAbility to upload files to modules/addons/ and activate addons in WHMCS
Outbound HTTPSThe server must be able to reach the licensing server over HTTPS to validate the license
LicenseA HostCRM license key issued for your domain
Good to know

HostCRM never modifies WHMCS core tables. It reads from them (clients, invoices, tickets) and stores all of its own data in dedicated mod_hncrm_* tables. Deactivating the module never deletes your data.

Getting started

Installation

  1. Upload the module. Extract the HostCRM zip and upload the hncrm folder to modules/addons/ in your WHMCS root, so the path is modules/addons/hncrm/.
  2. Activate it. In the WHMCS admin, go to System Settings → Addon Modules (or Setup → Addon Modules on older versions). Find HostCRM and click Activate.
  3. Grant access. Still on the addon row, click Configure and tick the admin role groups allowed to use HostCRM, then save.
  4. Open the module. A HostCRM item appears in the WHMCS Addons menu. Open it — on first load it creates its tables and seeds default follow-up rules.
First load does the setup

The database tables and default rules are created the first time the module page loads after activation. If you ever upgrade to a newer version, just open the module page once so any schema updates apply.

Getting started

Activation & licensing

HostCRM is domain-locked. On first use it asks for a license key and validates it against the licensing server. Until a valid license is active, the admin interface is replaced with a license screen — but background automation (cron and hooks) keeps running, so no customer data is ever lost while a license is being sorted out.

  1. Open HostCRM. If no valid license is present you'll see the “HostCRM license required” screen.
  2. Enter your license key in the field provided and click Activate license.
  3. Done. On a successful check the module unlocks and loads normally. The result is cached, so day-to-day page loads don't call out every time.
“Directory Invalid” or “signature” errors

These come from the licensing server, not the module. The most common cause is directory validation being enabled on the license — clear the “Valid Directories” field for the license (installation paths differ between servers). See Troubleshooting.

Once activated, the license status is visible any time under Setup → Settings → License, where the key can also be updated. A daily background check re-validates the license automatically.

Getting started

First-run setup

After activation, spend five minutes on these settings so the module fits your business. All of them live under the Setup tab.

  1. Set business hours (in the addon's WHMCS configuration screen) so follow-up scheduling and response-time reporting reflect your working day.
  2. Review the follow-up rules under Setup → Follow-up rules. Sensible defaults for overdue invoices and new-client welcomes are seeded — adjust timing and messaging to taste. See Follow-up rules.
  3. Check issue types under Setup → Issue types. These drive your support reports, so make sure the list matches how you categorise work.
  4. Assign managers. In Setup → Settings, set which admins are managers — managers see Reports, KPIs setup, and the full team view.
  5. Optional: set your logo and accent colour under Setup → Settings → Appearance for a branded look.
You're ready

That's enough to start working. The sections below explain each feature in depth — but your team can begin logging contacts and clearing the daily queue right away.

Using HostCRM

Core concepts

A few ideas underpin everything in HostCRM. Understanding them makes the rest obvious.

ConceptWhat it means
ContactA single logged interaction with a customer — a call, WhatsApp, email, SMS, chat, visit or social message. Contacts build the support reports.
Follow-upA task that lands in someone's daily queue with a due date. Created by hand when you log a contact, or automatically by a rule.
RuleAn automation: “when X happens, create a follow-up.” For example, an overdue invoice creating a collections follow-up.
Issue typeThe category of a contact or follow-up (Billing, Email, DNS, SSL…). What the support reports are grouped by.
OutcomeHow a follow-up ended — resolved, promise to pay, no answer, and so on. Some outcomes (like a self-resolved invoice) are set automatically.
LeadA non-client enquiry you're tracking toward becoming a customer.
Staff taskInternal work a manager assigns to a team member, optionally with an approval-based bonus. Separate from customer follow-ups.
Using HostCRM

My day & the queue

My day is where every staff member starts. It's their work list: follow-ups due today, anything overdue, and everything assigned to them. The module opens here by default.

How to work it

  • Clear money first. The Promises and collections items are time-sensitive — work them at the start of the shift. Both carry a count badge in the menu.
  • Open a follow-up to see the client's context, what's owed, the history, and the reason the follow-up exists.
  • Complete it with an outcome. If it needs another touch, the module schedules the next follow-up for you.
  • Reschedule with a reason if you must push something — the trail stays honest, and the follow-up keeps its issue type so reporting stays accurate.
The 12-hour rule

A healthy support operation aims to keep any customer contact from sitting unanswered more than 12 hours. My day surfaces overdue items so nothing slips.

Using HostCRM

Logging contacts

Whenever a customer reaches your team — by call, WhatsApp, SMS, email, live chat or social — log it under Log. This is the single most important habit: accurate logging is what makes the reports real.

  1. Search the client first so the contact attaches to their record. Matching is by phone and email, so repeat callers don't create duplicates. Always capture a phone number, even for a general enquiry, so the person is recognised next time.
  2. Pick the issue type under “What was it about” — Billing, Email, DNS, SSL, Website Down, Domain, Login/cPanel, Migration, Orders, Performance, Pre Sales, Onboarding, and so on. This is what the reports are built from.
  3. Tick “This needs a follow-up” if the matter needs a callback or further action, and it lands back in My day with the right owner and date.

If the person isn't a client yet, log them as a lead (real sales intent) or a general enquiry (just recorded). Either way, their history is kept and builds up over time.

The Log book tab shows the full day-book of what's been logged — yours or the whole team's — for checking what happened on any account.

Using HostCRM

Leads

A lead is a non-client enquiry with real sales intent. Logging someone as a lead keeps their contact history in one place and lets you track them toward conversion.

  • Capture a lead from the Log screen when a non-client makes contact.
  • Own it — leads are assigned to a staff member, who is credited on conversion.
  • Convert it when they become a paying client. Conversion is what the Leads report and the “leads converted” KPI measure.
Using HostCRM

Tickets

The Tickets tab brings WHMCS support tickets into the module. Your team reads the full conversation and replies to the client directly — the reply reaches them exactly as it would from WHMCS.

What you can do

  • See what needs a reply. A red badge shows tickets awaiting your response (Open and Customer-Reply).
  • Filter and search by status, department, date range, and keyword (subject, ticket number, or message text).
  • Read the full thread with the client's CRM context alongside — their follow-ups, invoices and history.
  • Reply and set status from the module. The reply is attributed to the logged-in admin.
  • Open in WHMCS for anything that needs the full ticket interface.
Version-safe

HostCRM adapts to your WHMCS version's ticket schema automatically, so ticket subjects and replies display correctly across WHMCS releases.

Using HostCRM

Collections & promises

Overdue invoices and unpaid orders generate collections follow-ups automatically, so chasing money is a worked queue rather than a manual hunt.

Working collections

  • Collections follow-ups appear in My day, tagged with the Billing issue type so they report correctly.
  • Guide the customer through payment, renewals and receipts; point them to the right upgrade or downgrade.
  • If they commit to pay by a date, complete the follow-up and set the outcome to Promise to pay. The system books the callback for you and files it under Promises.

Self-resolving follow-ups

Some follow-ups close themselves. If a customer pays an overdue invoice (or a suspended service is reactivated, or an unplaced order is finally placed) before a staffer works the follow-up, HostCRM detects that the underlying reason is gone and closes the follow-up automatically with the outcome condition cleared. It's a positive signal — work your team didn't have to do.

Using HostCRM

Call requests & the website widget

HostCRM includes an embeddable “Call me” button for your website. A visitor leaves their name and number, and the request lands in the Requests tab for your team to action.

Enabling it

  1. Go to Setup → Settings → Website “Call me” button and turn it on. Until it's enabled, the public endpoint rejects everything.
  2. In Allowed website domains, list the domains your button is embedded on — one per line or comma-separated. Subdomains are included automatically. Requests from any other domain are rejected.
  3. Under Website widget code, copy the snippet (the endpoint is already filled in for your install) or download the HTML, and paste it into your site before </body>.
Set the domains, or it won't work

The allowed-domains list is a security control (CORS). If it's blank, all cross-site requests are blocked — so the widget won't submit until your site's domain is listed.

The widget includes a hidden honeypot field and per-IP rate limiting, so bot and spam submissions are dropped automatically.

Using HostCRM

Staff tasks & bonuses

Separate from customer follow-ups, the Manage tab lets managers assign internal work to team members — with an optional bonus paid on approval.

  • Create a task with a title, description, assignee, due date and priority.
  • Set a bonus (or leave it at zero for unpaid work). Paid tasks require manager approval before the bonus is credited.
  • Approve or send back submitted work. On approval, the bonus is credited to the staffer's ledger.
  • Withdrawals let staff draw down earned bonuses; managers process them.

Recurring tasks can be scheduled so routine internal work is assigned automatically.

Using HostCRM

Calendar

The Calendar gives each staff member a dated view of their follow-ups and tasks, so they can see what's coming rather than only what's due today. It's a planning companion to My day.

Automation

Follow-up rules

Rules are the automation engine. Each rule says: when a trigger fires and its conditions match, create a follow-up with a chosen category, issue type, owner, timing and template. HostCRM ships with sensible defaults; you tune them under Setup → Follow-up rules.

Anatomy of a rule

PartWhat it controls
TriggerThe WHMCS event that starts it — invoice overdue, client created, client settled, service suspended, order placed, and so on.
ConditionsExtra filters, e.g. only if the client has (or hasn't) placed an order, or only after N days.
TimingWhen the follow-up is due — immediately, or a set number of days after the trigger.
Issue typeThe category stamped on the follow-up, so it reports correctly and carries through to the logged contact.
AssignmentWho the follow-up goes to — a specific admin, or round-robin across the team.
TemplateThe message text suggested to the staffer (email/SMS/call script), with placeholders like {client_first_name}.

Resolve conditions & auto-close

A rule can define a resolve condition — the thing that makes the follow-up unnecessary. When that condition clears on its own (the invoice gets paid, the service reactivates), HostCRM auto-closes the follow-up with the outcome condition cleared. This is what stops your team chasing problems that already fixed themselves.

Issue type flows through

The issue type set on a rule copies onto the follow-up, and then onto the logged contact when the follow-up is completed — and onto any rescheduled or child follow-up. That's why completed collections work shows up correctly as “Billing” in your reports rather than “Not set”.

Automation

Issue types

Issue types are the categories your support work is grouped by — Billing, Email, DNS, SSL, Website Down, Domain, Login/cPanel, Migration, Orders, Performance, Pre Sales, Onboarding, and any others you add. They matter because the reports are built from them.

  • Manage the list under Setup → Issue types.
  • Each has a label and a colour used in reports and badges.
  • Choose the right issue type every time you log a contact — it's the difference between a report that tells you what your customers actually need and one full of “Not set”.
Automation

Templates

Templates are reusable message bodies for follow-ups — a collections email, a welcome-call script, a renewal reminder. They're suggested to the staffer when they work a follow-up, so messaging stays consistent.

  • Manage them under Setup → Templates.
  • Use placeholders that fill in per client — for example {client_first_name}, {invoice_id}, {amount}, {due_date}, {pay_link}, {admin_name}, and WHMCS's {company} for your business name.
Automation

Onboarding & welcome

New clients can be welcomed automatically. HostCRM seeds welcome rules that fire after signup — with a delay so they land once the order has settled — and it distinguishes between clients who placed an order and those who signed up without one, so the message fits.

  • Welcome follow-ups carry the Onboarding issue type, so onboarding effort shows up in your reports.
  • Adjust the timing, script and assignment like any other rule under Setup → Follow-up rules.
Measurement

KPIs & scorecards

HostCRM measures each staff member against targets you set, and rolls their KPIs into a single weighted performance score. Actuals are computed live from what's already logged — there's no extra data entry.

Setting targets

Under Setup → KPIs (managers only), set a target per staff member per metric, choosing weekly or monthly, and a weight.

MetricMeasuresPercentage mode
Follow-ups completedFollow-ups the person completed% of follow-ups assigned
Leads convertedLeads that became clientsConversion rate (% of leads owned)
Collections recoveredValue recovered on their collections follow-ups
Tickets repliedTicket replies they sent
Promises to pay securedPayment commitments obtained% of collections follow-ups worked
Staff tasks approvedInternal tasks approved% of tasks assigned to them
Contacts loggedCustomer contacts logged

Number vs percentage

Each KPI is set as a number (e.g. 40 follow-ups) or a percentage (e.g. 80% of tasks assigned). Percentage is only offered for metrics that have a sensible denominator — the others are counts. A percentage KPI shows both the rate and the raw numbers behind it, e.g. “80% (15 of 20).”

Weights & the overall score

Each KPI carries a weight. The overall score is the weighted average of achievement across a person's KPIs. Two rules keep it fair:

  • Each KPI caps at 100% before weighting, so overachieving one target can't mask a weak area.
  • Weights should total 100% per person. The setup screen shows a running total and warns if it doesn't add up — but it still scores with whatever weights are set.

The score is colour-banded: ≥90 excelling  ≥70 on track  ≥50 attention  below behind

Where scores appear

  • Manager overview — under Reports → KPIs: every staffer's targets vs actuals, progress bars, and overall score. Managers only.
  • My KPIs — a main-menu tab (after Calendar) where each staff member sees only their own scorecard. Hidden by default; enable it under Setup → Settings → Staff KPI view when you're ready to share scores with the team.
Choosing weights

Weight outcomes (leads converted, collections recovered, promises secured) above activity (contacts logged) — activity metrics are easy to game. Only weight metrics you've actually set a target for, and tailor the mix to each person's real role.

Measurement

Reports

Reports compile themselves from what your team logs. They're under the Reports tab (managers only), each with its own date range and a one-click PDF export.

ReportShows
Support issuesContacts received, broken down by issue type and channel, with period-on-period comparison.
LeadsLead volume and conversions, per staff.
Collections recoveryMoney recovered through worked collections follow-ups.
Most rescheduledFollow-ups pushed most often — a signal of stuck work.
Most contactsClients and leads ranked by how often they've been in touch.
Call requestsWebsite call-backs received, handled and waiting, by website and staff.
TicketsOpened, still-open, replies by staff, first-response time, ageing, busiest days and hours.
Follow-upsCreated, completed, overdue, by category, per staff, and by outcome.
Staff tasksInternal tasks created, approved, awaiting approval, and bonuses credited, per staff.
KPIsThe team scorecard — targets vs actuals and weighted overall scores.

Exporting to PDF

Every report has a Print / Save as PDF button. It opens your browser's print dialog with everything except the report hidden, so you get a clean, styled PDF of just the report.

Coloured bars in the PDF

In Chrome or Edge, tick More settings → Background graphics in the print dialog so the coloured bars and badges print. It's a one-time browser setting.

Administration

Settings reference

All settings live under Setup → Settings. Here's what each does.

SettingEffect
License keyYour HostCRM license. Changing it re-validates immediately.
Product nameFixed to HostCRM.
LogoShown in place of the page title. Blank keeps the text heading.
Accent colourUsed for tabs, links and primary buttons.
Colour follow-ups byWhether follow-up badges are coloured by action type or issue type.
Manager admin IDsWhich admins are treated as managers (see Reports, KPI setup, team views).
Maximum automated follow-ups per clientA fatigue cap so automation can't over-contact one client.
Fatigue window (days)The period the fatigue cap applies over.
Staff KPI viewShows the “My KPIs” tab to all staff. Off by default.
Website “Call me” buttonEnables the public call-back endpoint.
Allowed website domainsCORS allow-list for the call-me widget.
Daily digestEmails each staff member their follow-up counts every morning.
Diagnostics loggingVerbose logging for troubleshooting. Leave off in normal use.
Administration

Roles & permissions

HostCRM has two levels of access, on top of the WHMCS admin-role groups you allow at activation.

RoleCan access
StaffMy day, My tasks, Promises, Leads, Log, Log book, Requests, Tickets, Calendar, and (if enabled) their own My KPIs.
ManagerEverything staff can, plus Reports, the KPI team overview, KPI setup, Staff-task management and approvals, and Settings.

Set who's a manager under Setup → Settings → Manager admin IDs. Managers are defined by their WHMCS admin ID.

Administration

Licensing (admin)

HostCRM validates against the WHMCS Licensing Addon. Day to day there's nothing to manage — but here's how it behaves.

  • Domain-locked. A license is valid for the domain(s) registered for it.
  • Cached. A successful check is trusted locally so normal page loads don't call out. A daily cron re-check keeps it current and catches revocations.
  • Grace on outage. If the licensing server is briefly unreachable, the last-known-good result is honoured for a grace period, so a network blip never locks out a valid install.
  • Blocks admin only. When a license is invalid, the admin UI is replaced with the license screen — but cron and hooks keep running, so no data is lost.
Development installs

Installs on localhost, 127.0.0.1, or .local / .dev / .test domains don't require a license, so staging environments just work.

Administration

Branding

HostCRM presents in your business's identity, not the vendor's.

  • Logo — set your own under Appearance; it replaces the page title.
  • Accent colour — drives tabs, links and buttons.
  • Currency — all money is shown in your WHMCS default currency automatically.
  • Templates — default messages use WHMCS's {company} placeholder, so they carry your company name out of the box.
Reference

Troubleshooting

“HostCRM license required” — Directory Invalid

The license key and domain are fine, but the licensing server is rejecting the installation path. Edit the license in your WHMCS Licensing Addon and clear the Valid Directories field (installation paths differ between servers, so directory-locking causes this). Then reload the module.

“License signature check failed”

The response signature didn't verify. Confirm the licensing secret configured in the module matches the product's Secret Key in the Licensing Addon exactly. Turn on Diagnostics logging in Settings to see the raw exchange on the license screen.

A report shows “Not set” for issue type

Contacts were logged without an issue type. Make sure staff select an issue type every time, and that your follow-up rules have an issue type assigned so completed follow-ups carry it through.

The call-me widget doesn't submit

Check two things: the Website “Call me” button setting is on, and your site's domain is listed under Allowed website domains. A blank domain list blocks all submissions.

The module page shows an error instead of loading

HostCRM catches errors and shows a clean message rather than a raw WHMCS error page. Turn on Diagnostics logging in Settings to see the detail, then reload. Most load-time issues clear on a second load as any pending schema update applies.

KPI weights look wrong

Weights and percentages display exactly as stored (10 shows as 10%, not 1%). If a weight total warning appears, it means that person's weights don't add to 100% — adjust them on the KPI setup screen.

Reference

FAQ

Does HostCRM change my WHMCS data?

No. It reads clients, invoices and tickets, and stores its own data in dedicated tables. Deactivating never deletes anything.

What happens to my data if the license lapses?

Nothing is lost. The admin UI locks, but background automation keeps running and all your logged data stays intact. Re-activate a valid license and everything's there.

Can staff see each other's KPIs?

No. The team overview is manager-only. When you enable the staff view, each person sees only their own scorecard.

Can I turn off the bonus/ledger system?

Yes — simply leave task bonuses at zero. Tasks then work as plain internal assignments with no payment.

Does the daily digest need configuration?

Just enable it in Settings. It sends on the first cron run each day using your server's mail setup — send yourself a test if none arrive.

Which WHMCS versions are supported?

HostCRM adapts to schema differences across WHMCS versions (for example, ticket columns), so it runs on current and recent releases.

Reference

Data & privacy

  • Storage. All HostCRM data lives in mod_hncrm_* tables in your WHMCS database. It never leaves your server except for the license check.
  • License check. The only outbound call is the license validation to the licensing server, which sends the license key, domain, server IP and install path — no customer data.
  • Call-me widget. Submissions are validated, rate-limited and honeypot-protected, and stored only in your database.
  • Retention. Deactivating the module keeps all data. Removal of data is only ever explicit.

HostCRM — Customer Service & CRM Add-on for WHMCS. Documentation v1.21.
For support, contact your HostCRM provider.