Microsoft Teams Notificationsfor WHMCS · Documentation
v1.3.0

Settings Reference

Six editable provider settings apply to every rule, plus a read-only version row. Five rule settings can differ per notification.


Provider settings are configured once under Configuration → System Settings → Notifications → Configure (Microsoft Teams). Rule settings appear when a notification rule selects Microsoft Teams as its provider.

Provider settings

FieldKeyDefaultNotes
Webhook URL webhook none Required. A Teams Workflows trigger URL or a legacy Incoming Webhook URL. Used when a rule leaves Webhook Override blank. HTTPS only.
Card Header Name cardName empty Optional name shown inside the card, for example WHMCS Notifications. Maximum 60 characters. Does not change the Teams sender.
Card Icon URL cardIcon empty Optional HTTPS image URL, maximum 512 characters, shown next to the card header name. About 200×200 is ideal. Does not change the Teams sender icon.
Request Timeout timeout 10 Seconds, 1–30. Invalid values fall back to 10. The connection timeout is capped at 5 seconds.
Strict Delivery strictMode No When ticked, a rejected optional View action fails the notification instead of retrying without it.
Allow Custom Host allowCustomHost No Permits a webhook host outside the Teams and Power Automate domains, for national clouds or a trusted proxy. HTTPS is still required.
Version version 1.3.0 Read-only row shown in the configuration dialog. It is not saved and cannot be edited.
The sender remains “Workflows” — Teams assigns that name and icon to the shared Workflows flow bot. Card Header Name and Card Icon URL add branding inside the card; they cannot change the sender line.
Escaped ampersands are safe — WHMCS may display a Workflows URL with escaped ampersands in this field. Version 1.3.0 decodes repeated escapes before validating and sending, so the Power Automate signature stays valid.

Rule settings

FieldKeyDefaultNotes
Webhook Override webhook empty Optional. Send this rule to a different Teams channel. Blank uses the module webhook. The same URL validation applies.
Message Format messageFormat both both (Message + Card), message or card.
Theme Colour themeColor 0076D7 A 6-digit hex value with or without #. Three-digit values are expanded. Invalid values fail with a clear error.
Hide Attributes hideAttributes No Tick to omit notification attributes such as client, invoice, service or department. Leave unticked to include them.
Hide View Link hideLink No Tick to omit the View in WHMCS button and inline link. Leave unticked to include them.
Existing rules are safe — 1.2.0 rules stored only themeColor. Version 1.3.0 reads that same key, defaults the new format to Message + Card, and uses the provider webhook when a rule has no webhook override, so no rule edit is required after upgrading.
Unique message-format key — WHMCS builds dynamic field IDs from the field key alone, so two providers with a field named format collide and one rule loses its selection. The Teams field uses messageFormat; legacy format values are still read.
Why the toggles are negative — WHMCS does not submit an unchecked rule checkbox, so a positive “include” box could never be turned off. The module uses Hide Attributes and Hide View Link; leaving them unticked keeps both features on. Positive showAttributes and includeLink values are still understood if another build wrote them.

Message format choices

ValueWhat is sentBest for
bothA linked summary line plus a card section with the message and facts.The default. A readable channel preview with full detail on the card.
messageA single Markdown message with title link, body, attributes and a View link.Compact feeds and channels where cards are too large.
cardA titled MessageCard with the message and facts, without a separate summary line.Dashboards and at-a-glance operational alerts.

Strict delivery and fallback

With Strict Delivery off (the default), the module retries once if Teams rejects the payload because of the optional View in WHMCS action:

  • The potentialAction block is removed.
  • The title, message, facts and summary are kept.
  • The second attempt is logged as execute webhook (retry).

With Strict Delivery on, nothing is removed. Use it when the button must be present and a failed notification is preferable to a degraded one. The connection test is always strict.

Only HTTP 400 and 422 trigger the fallback. Authentication, throttling and server errors are never retried automatically, because retrying cannot fix them.

Examples

One channel for everything

  • Provider webhook: the operations channel workflow URL.
  • Every rule uses Message + Card, attributes on, View link on.
  • Theme colour left blank to use the default blue.

Billing and support in separate channels

  • Provider webhook: the operations channel workflow URL.
  • Invoice and order rules: Webhook Override set to the billing channel URL, theme colour #2ecc71.
  • Ticket rules: Webhook Override set to the support channel URL, theme colour #e67e22.
  • Service and domain rules: override left blank, theme colour #5865f2.

Branded cards

  • Card Header Name: WHMCS Notifications.
  • Card Icon URL: https://your-whmcs.com/modules/notifications/MicrosoftTeams/logo.png.
  • Every card from this provider shows the same header inside the card; the Teams sender remains Workflows.

Quiet audit feed

  • Format Message only to keep cards small.
  • Hide Attributes unticked, Hide View Link unticked for one-click investigation.
  • Theme colour #6b7280 to distinguish audit entries.

Validation rules

ValueValidation
Webhook URL (provider or override)HTTPS only; no credentials or fragment; a legacy Teams host must have no query string and must contain /IncomingWebhook/; a Workflows host must contain /workflows/, /triggers/ and /paths/invoke plus its signature query; port 443 unless a custom host is allowed. A rule override is validated exactly like the provider webhook.
TimeoutInteger 1–30; anything else becomes 10.
Theme colourThree or six hexadecimal digits, optionally prefixed with #. Normalised to uppercase six-digit form.
Card icon URLMust be a valid HTTPS URL of 512 characters or fewer. Teams loads the image from the client, so it must be publicly reachable.
FormatOnly both, message or card. Legacy markdown maps to message, legacy embed maps to card, and anything else falls back to both.
View linkOnly a valid HTTP or HTTPS URL is used. Anything else is dropped rather than sent to Teams.