PD Twilio SMS for WHMCS

PD Twilio SMS — Twilio Transactional SMS & Campaigns for WHMCS

Send SMS to your clients from WHMCS through Twilio — notifications, alerts and campaigns

Made and supported by Projektif Digital Ltd. Runs inside PD Modules, the panel every module installs into.

Messaging & SMS

PD Twilio SMS lets a hosting company text its clients from WHMCS through its own Twilio account. Clients get a text when an invoice is created or paid, when a service is activated or suspended, when staff reply to a ticket and when a domain renewal fails. Your team gets a text when a new order lands or something goes wrong. You can also run a campaign to a filtered group of clients. Twilio bills you at its own per-message rate, with no marked-up credits in between.

It is built for hosts who already use Twilio, or who want its reach and its Messaging Services, and who want SMS to work as part of WHMCS rather than as a separate dashboard to log in to.

Why hosts choose PD Twilio SMS

Your Twilio account, your rate. You connect your own Account SID and credentials, so every text is billed by Twilio at its own price. We sell no credits and add no margin.

Texts at the moments that matter. Email about a failing card gets filtered, but a text gets read. Triggers send on invoice created, invoice paid, service activated, service suspended or unsuspended, staff ticket replies, failed domain renewals and client sign-ins.

Know the cost before you send. The Send screen counts segments the way Twilio bills them: 160 characters for GSM-7, 70 for Unicode, with emoji and extension characters counted correctly. Campaigns show the audience and the segment total before you commit.

Honest delivery records. When Twilio answers that a message failed or was undelivered, History records it as failed, not as sent. No message is shown as delivered when it may not have been.

Consent built in. Clients choose which kinds of text they receive, promotional texts are agreement-only by default, and an opt-out made while a message waits in the queue is respected.

A safe way to trial everything. The Test gateway records messages in History without calling Twilio, so you can build templates and triggers without spending a penny.

How it works

  1. Connect Twilio. Under Twilio SMS, then Gateways, add your Account SID and either your Auth Token or an API Key (SID and secret). Choose a From: a Twilio phone number, or a Messaging Service SID. An alphanumeric sender ID goes in From or on the Messaging Service.
  2. Check it. Test connection sends nothing and costs nothing. Send test SMS delivers a real message to a number you give.
  3. Switch on the messages you want. Map templates to events, or send by hand from the Send screen.
  4. Watch it work. The dashboard and History show what went out and how each message fared.

The setup guide in the panel also covers the things that trip people up with Twilio: trial-account limits, geographic permissions (error 21408) and A2P registration (error 30007).

Gateways: two Twilio accounts side by side, with one marked as the default
Gateways: two Twilio accounts side by side, with one marked as the default

What you get in WHMCS

Sending

  • Send a one-off message to a client picked by name, email or client ID using the number on file, or to any number you type
  • Count segments before you send; drop a saved template into the message
  • Several Twilio gateways at once, such as a UK and a US number, with one as the default; each trigger and campaign can use a chosen gateway
  • Numbers are converted to international format automatically, using the client's country when the number is written locally
  • A text box on the client's admin profile, beside the number we would use and when you last texted them

Templates and triggers

  • Templates grouped by category, with merge fields for first name, client name, company, invoice number, total and due date, product, domain, ticket subject and ticket number
  • An empty merge field is left blank, never shown as raw braces
  • Triggers for invoice created, invoice paid, service activated, service suspended or unsuspended, staff ticket reply, failed domain renewal and client sign-in

Campaigns

  • Target clients by status and client group, send now or schedule
  • Preview audience and cost shows who a campaign reaches and how many segments it costs
  • Only clients who agreed to marketing texts are included; cancelling drops the unsent messages

Staff alerts

  • Each administrator sets their own number and picks the events that text them: new order, paid invoice, new ticket, cancellation requests, service setup failures and domain failures
  • Alerts and manual sends are never held back by quiet hours

Running it day to day

  • A sending queue drained by your WHMCS cron in batches, with retries and optional quiet hours
  • History searchable by number or text and filterable by status, gateway and date; open any message for its body, Twilio's reference and any error, and resend it in one click
  • A Health report showing whether the gateway is ready, what failed this month and whether the queue drains

What your customers get

  • A Text messages page in their client area with their recent texts and a summary of what they have agreed to
  • Preferences on their Account Details page, beside their email preferences, each with a plain explanation
  • Real control. A customer who unticks a category is not texted in it

The pages render on WHMCS's Six, Twenty-One and Nexus themes, and their wording can be changed in a file that survives updates.

Security built in

  • Twilio credentials are stored encrypted and never shown again after saving
  • A disabled gateway never sends, even if a trigger names it
  • A message and number go only to Twilio. Nothing about your clients comes to us

One product, every feature

PD Twilio SMS is one paid module with everything included: triggers, campaigns, staff alerts, client preferences and the Test gateway. There are no tiers. It installs into PD Modules in one click and uninstalls cleanly. Customers' text preferences are kept when you uninstall, on purpose, so consent is never lost.

If you also send through Amazon SNS, Vonage, Clickatell or another HTTP gateway, PD SMS Manager covers all of them in one module, and the two can run side by side.

If your subscription ever lapses, your data is kept. After a 14-day grace period admin features lock, then customer-facing features stop and automatic texts pause until you renew.

Requirements

  • WHMCS 9 or later on PHP 8.2 or later, with the ionCube Loader and cron running
  • A Twilio account with a phone number or Messaging Service
  • PD Modules, the free control panel every PD module installs into

Questions

Do I need a Twilio account?

Yes. PD Twilio SMS sends through your own Twilio account, so you pay Twilio's own per-message rate — there are no marked-up message credits from us.

Can I try it without sending real messages?

Yes — add the built-in Test / Debug gateway. It records every message in History and can email them to an admin inbox without making any Twilio API calls. Trial your templates and triggers cost-free before going live.

What do I need from Twilio?

Your Account SID, a credential — your Auth Token or an API Key SID and secret — and at least one Twilio phone number (or a Messaging Service SID). All are in the Twilio Console.

Should I use a phone number or a Messaging Service?

A phone number is a single sending number — fine for low volume. A Messaging Service pools multiple numbers together and is recommended for production use: it handles geographic routing, number rotation and improves deliverability at higher volume.

Does it support alphanumeric Sender IDs?

Yes. There is no separate Sender ID box: the sender is the gateway's From. Put an alphanumeric sender ID (up to 11 characters) in From where every country you text accepts one, or add it as an Alpha Sender on a Twilio Messaging Service and put the service's SID in From — Twilio then uses the name where it is allowed and a number from the pool elsewhere. The US does not accept alphanumeric senders.

Will it text clients who have opted out?

No. Each client manages their text-message preferences on their own Account Details page, beside their email preferences, and every automatic trigger honours them. You choose which preferences are offered and whether each starts on or has to be agreed to — promotional messages are agreement-only, as prior consent requires. Messages you send by hand are unaffected.

What is included in the licence?

Everything — one-off sends, templates, automatic per-event notifications, message history, the sending queue, bulk Campaigns (with a cost estimate) and the per-admin Alert Center. One licence, no second tier.

Do long messages cost more?

An SMS holds 160 GSM-7 characters (70 for emoji messages). Longer messages are split into segments and Twilio bills per segment. The Send screen's Count segments and the campaign builder's preview show the segment count before you send, so there are no surprises.

Does it need my WHMCS cron?

Yes — the cron drains the sending queue and progresses campaigns. Keep your normal WHMCS cron running (every 5 minutes is standard).

Are my Twilio credentials secure?

Yes. Provider secrets are encrypted at rest and are never echoed back to the browser after saving. On the production channel the module code is ionCube-encrypted, protecting the decryption logic.

What if I need more than just Twilio?

PD SMS Manager adds Twilio plus Amazon SNS, Vonage, Clickatell and a Custom HTTP gateway all in one module. The two modules can run side-by-side in the same WHMCS.

What does it cost to run, on top of the subscription?

Only what you already pay your provider. PD Twilio SMS adds no per-unit fee and takes no cut — it connects to your own account with your own credentials, so the provider bills you directly at your rates, and you set what you charge your customers. From us it is the module subscription and nothing else.

What data leaves my server?

To send a text, the recipient's number and the message go to the SMS provider you connected — your own account with them, under your own agreement with that provider; nothing about your clients comes to us. Apart from the texts themselves, which your SMS provider carries, your customers' data stays in your WHMCS. To confirm your licence, the platform sends us four things and nothing else: your licence key, the domain, your server's own IP address and the directory it is installed in — the four values recorded against your licence in your client area. Alongside that we see which module and version you run and whether its licence is healthy, so we can ship compatible updates. We never receive your clients' personal data, your credentials, or the contents of your WHMCS. Crash reports are off unless you turn them on, and a diagnostic report is only ever sent when you send one, after showing you a preview you can edit.

Which WHMCS and PHP versions does it need?

WHMCS 9 or later, on PHP 8.2 or later. It installs alongside whatever else you run — it adds its own tables and templates rather than modifying WHMCS files, so it does not collide with other vendors' modules or with a customised theme. Uninstalling removes its own tables and settings. The text-message preference tickboxes on your clients' profiles are kept on purpose: they record your clients' consent, which is yours to keep.

What’s new in 0.1.80

  • A client who refused every kind of text is no longer ticked for another kind by a second SMS module installed beside this one: only the module that manages client text preferences creates or changes them.

Get your website online with PD Hosting

UK hosting, domains and support from a real team. From a first site to a full server.

Terms and Conditions  ·  Privacy Policy

PD Hosting is the trading name of Projektif Digital Ltd, registered in England and Wales, company number 12482555.

PD Hosting
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.