Changelog
Release notes for Microsoft Teams Notifications for WHMCS.
1.3.0 — 14 November 2026
A modernization release. The folder, class and display name are unchanged, and rules created by 1.2.0 keep working without edits.
Added
- Three per-rule message formats: Message + Card (
both, default), Message only (message) and Card only (card). - Per-rule Webhook Override, so a rule can post to a different Teams channel without changing the provider.
- Optional Card Header Name and Card Icon URL branding inside the card. The Teams sender remains Workflows.
- Per-rule Theme Colour validation: three- or six-digit hex, optional
#, normalised to six uppercase digits. - Per-rule Hide Attributes and Hide View Link toggles.
- Support for Power Automate Workflows trigger URLs alongside legacy Office 365 Incoming Webhook URLs, using the same MessageCard payload.
- Provider settings for Request Timeout, Strict Delivery and Allow Custom Host.
- Read-only Version row in the configuration dialog.
- Webhook validation before every request for both the provider URL and a per-rule override: HTTPS, no credentials, no fragment, host allowlist, path shape, port and signature rules.
- Actionable error mapping for HTTP 400, 401, 403, 404, 410, 413, 429 and 5xx, plus cURL DNS, connection, timeout and TLS failures.
- Detection of Teams errors returned inside an HTTP 2xx response.
- Log redaction for both legacy tokens and Workflows signatures.
- Payload size enforcement with fact trimming, message truncation and a clear failure when nothing can be removed.
- Markdown-aware truncation that closes an unterminated code fence.
- Mention neutralisation for
@everyone,@here,@channeland@online. - Full README and eight-page HTML documentation site.
Changed
- The default theme colour is now
0076D7for both the test card and notifications. - The connection test is always strict, so setup problems surface immediately.
whmcs.jsonnow declarestype: whmcs-notificationsand version1.3.0.- Attribute values are HTML-decoded and stripped of HTML before rendering.
- Empty attributes no longer produce dangling separators or blank facts.
Fixed
- Undefined-index warnings when the webhook, theme colour or attributes were missing.
- cURL failures were ignored; the module now checks the error number, HTTP status and response body.
- A valid empty or JSON response was incorrectly treated as a failure because it was not the string
1. - Rules with no attributes produced an empty card section.
- Long notifications could exceed the Teams payload limit.
- Repeated HTML-escaping of
&in Workflows URLs no longer causes HTTP 401 on provider save; the module decodes every escape layer. - Message Format now saves and reloads correctly when another provider also defines a
formatdynamic field; the Teams field usesmessageFormat.
Compatibility
- Folder, class, display name and
themeColorrule key are unchanged. - Rules without a
webhookkey use the provider webhook. - Rules without a
messageFormatuse the legacyformatkey, then default toboth. - Blank
cardNameandcardIconleave the existing card output unchanged. - Legacy
markdownandembedformat values are mapped, not rejected. - Rule appearance uses negative
hideAttributesandhideLinkcheckboxes, because WHMCS does not submit an unchecked rule checkbox. PositiveshowAttributesandincludeLinkvalues are still honoured. - No database tables, columns or migration scripts.
1.2.0 — legacy release
- MessageCard delivery to a Microsoft Teams Incoming Webhook.
- Per-rule theme colour and notification attributes rendered as facts.
- A single View in WHMCS action on every card.
- Connection test on provider save.
Unreleased
Nothing scheduled. Send feature requests and bug reports to HardSoftCode.