PD Azure SMS for WHMCS

PD Azure SMS — Azure Communication Services Transactional & Campaign SMS for WHMCS

Send SMS to your clients from WHMCS through Azure Communication Services — notifications, alerts and campaigns

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

Messaging & SMS BETA

PD Azure SMS lets a hosting company text its clients from WHMCS through its own Azure Communication Services resource. 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. Microsoft bills your Azure subscription at its own per-message rate, with no marked-up credits in between.

It is built for hosts who already run on Azure and want SMS on the same subscription and the same bill, with WHMCS doing the sending and no separate SMS dashboard to maintain.

Why hosts choose PD Azure SMS

Your Azure resource, your rate. You connect your own Communication Services resource, so every text is billed by Microsoft at its own price. We sell no credits and add no margin.

Setup is one paste. Azure setup is a single connection string, which carries both the endpoint and the access key. Test connection signs a request with no recipient, so nothing is sent and nothing is charged, and a wrong key fails there instead of on a customer's text.

Plain answers when Azure is vague. Azure answers a bad send with a bare 401 and no detail. The module points you at the From sender first, which is the usual cause, and Test connection tells you whether the key itself is the problem. When Azure accepts a request but one recipient failed, that message is recorded as failed, not as sent.

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 providers bill 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.

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.

How it works

  1. Get a sender in Azure. Senders are provisioned in the Azure portal: a phone number or an alphanumeric sender ID on the same resource. Free-trial and free-credit subscriptions cannot buy numbers, and UK toll-free numbers do not carry SMS, so check this before you start.
  2. Connect Azure. Under Azure SMS, then Gateways, paste the connection string and enter the From sender. Test connection confirms the key without sending.
  3. Switch on the messages you want. Map templates to events, or send by hand from the Send screen. The Test gateway records messages in History without calling Azure, so you can trial everything for free.
  4. Watch it work. The dashboard and History show what went out and how each message fared.

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 gateways at once, 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, Azure's reference and any error, and resend it in one click
  • Delivery reports can be requested from Azure, which publishes them to Event Grid. The module records whether Azure accepted each message, and says so
  • 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.

The customer's SMS preferences page: which kinds of text they receive, and the messages they have been sent
The customer's SMS preferences page: which kinds of text they receive, and the messages they have been sent

Security built in

  • Your connection string is 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 Azure. Nothing about your clients comes to us

One product, every feature

PD Azure 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 Twilio, Amazon SNS, Vonage, Clickatell or another HTTP gateway, PD SMS Manager covers all of them in one module.

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
  • An Azure Communication Services resource with an SMS sender
  • PD Modules 0.2.309 or later, the free control panel every PD module installs into

Questions

Do I need an Azure account?

Yes. You connect your own Azure Communication Services SMS resource, so you send at Azure's pay-as-you-go rates with no per-seat platform fee on top.

Can I try it without spending credits?

Yes. A built-in Test/Debug gateway records messages in History without making any Azure calls, so you can trial templates, triggers and campaigns for free.

How do automatic notifications work?

You map a WHMCS event (invoice paid, service suspended, a ticket reply, a failed renewal, and more) to a template, and the message fires automatically when that event happens.

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.

Does it need my WHMCS cron?

Yes. The sending queue is drained by your WHMCS cron in batches, with configurable retry and optional quiet hours.

Are my Azure credentials secure?

Yes. Your connection string is stored on your own server and never appears on any customer-facing page; clients never see or touch it.

What happens if my subscription lapses?

Nothing of yours is touched, and nothing is deleted. The module steps down in stages instead: a 14-day grace period where everything still works and you get a renewal reminder, then admin management locks while your customers carry on being served, and only after that do the customer-facing features stop — behind a neutral "temporarily unavailable, please contact support" message that never mentions licensing to your customer. Anything the module provisioned keeps running in your own account throughout, and your data and settings stay exactly where they are. Renewing restores everything immediately.

What data leaves my server?

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.

What’s new in 0.1.72

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