Microsoft Teams Notifications for WHMCS
Rule-based notifications from WHMCS to a Microsoft Teams channel — delivered as a formatted MessageCard through a webhook.
WHMCS already knows when an invoice is paid, an order is placed, a ticket is opened or a service is suspended. Microsoft Teams Notifications plugs into the native WHMCS notification system as a provider, so those events can be posted straight into a Teams channel — no bot registration and no Azure application required.
Each WHMCS notification rule decides which events matter, which conditions apply and which channel receives the message. The module builds a safe MessageCard, validates the webhook URL, enforces the Teams payload size limit, redacts the webhook secret from logs and reports delivery problems in language an administrator can act on.
Rule-based delivery
Use WHMCS events and conditions to decide exactly which invoice, order, ticket, service or domain activity reaches Teams.
Per-rule destination
Send billing, support and operations rules to different Teams channels with a per-rule webhook override.
Branded cards
Add a Card Header Name and Card Icon URL inside the card. The Teams sender line remains Workflows.
Three card formats
Send a linked summary plus a full card, a compact Markdown message, or a card on its own — chosen per notification rule.
Workflows or legacy URL
Accepts the current Teams Workflows trigger URL and the legacy Office 365 Incoming Webhook URL, with the same MessageCard payload.
Hardened transport
HTTPS-only validation, TLS verification, timeouts, payload truncation and module logs with the token and signature redacted.
How it works
- A WHMCS event fires — for example
InvoicePaidorTicketOpen. - WHMCS matches the event against your notification rules and their conditions.
- The matching rule calls the Microsoft Teams provider with its per-rule settings.
- The module builds the MessageCard, validates the selected webhook URL and posts JSON over HTTPS.
- Teams renders the card in the target channel.
Every delivery attempt is written to the WHMCS module log with the webhook token redacted, so you can diagnose a revoked webhook or a rate limit without exposing the channel secret.
Requirements
| Requirement | Minimum |
|---|---|
| WHMCS | 8.13+ / 9.x (developed on WHMCS 9) |
| PHP | 8.1 or higher |
| Extensions | cURL, JSON, mbstring (all standard WHMCS requirements) |
| Network | Outbound HTTPS on port 443 to Microsoft Teams or Power Automate |
| Teams | A channel where you can create a Workflows webhook or a legacy Incoming Webhook |
| WHMCS cron | Running, so cron-driven events such as invoice reminders are delivered |
Quick start
- Upload the
MicrosoftTeamsfolder tomodules/notifications/. - Create a webhook in Teams. In the channel, open Workflows and use the When a Teams webhook request is received trigger, then copy the trigger URL.
- Configure the provider in WHMCS: Configuration → System Settings → Notifications → Configure (Microsoft Teams). Saving sends a test message.
- Create a notification rule, choose Microsoft Teams as the provider and pick the format.
- Verify the card in Teams and the entry in the WHMCS module log.