Contact groups & channels
Contact groups are named recipient lists per workspace. Each token or agent delivers alerts to its assigned contact groups, or to the workspace default group when none are assigned. You can assign one or more groups per asset (multi-group is on by default). For a given threshold window, only groups whose effective thresholds include that window receive that alert; recipients and channels are the union of those matching groups. Groups combine per-contact channels (email, WhatsApp), named webhooks, and an optional thresholds override.
- Per-contact channels: select Email and/or WhatsApp for each contact from the workspace contacts list. Email uses the contact's email; WhatsApp uses the contact's phone number.
- Webhooks: select named webhooks from the workspace webhook list.
- Thresholds override: optionally set group-specific thresholds that override workspace defaults for that group. When a token has multiple groups, alert windows are the union of each group's effective thresholds; delivery for each window still goes only to groups that include that window.
- Default group: set a workspace default; tokens and agents without an explicit assignment use the default.
- Per-token / per-agent assignment: assign one or more contact groups when creating or editing a token or agent.
Workspace contacts
Contacts are people who can receive alerts. Add them once per workspace, then select them in contact groups.
- Add contacts: first name, last name, and at least a valid email or E.164 phone number (for example +14155550100). Optional details: department, title, note.
- Test contacts: use the Test button to send a test WhatsApp message (2-minute cooldown per number).
- Select in groups: in the contact group editor, check which contacts should receive alerts and on which channels.
WhatsApp
WhatsApp requires a Twilio account configured at the deployment level; see WhatsApp provider setup for connecting your Twilio credentials. Add workspace contacts with phone numbers, then select them in contact groups.
- No fallback: if a contact group has no contacts selected for WhatsApp, WhatsApp alerts are not sent.
- Operational limits: provider throttling and Twilio delivery backoff still apply.
Previous section links
WhatsApp templates setup
Continue in WhatsApp templates.
Step 1: Create templates in Twilio
Continue in Create templates in Twilio.
Step 2: Map each SID
Continue in Map each SID.
Placeholder contracts by template
Continue in Placeholder contracts by template.
Copy-ready template examples
Continue in Copy-ready template examples.
EXPIRES
Continue in EXPIRES.
EXPIRED
Continue in EXPIRED.
TEST
Continue in TEST.
WEEKLY_DIGEST
Continue in WEEKLY_DIGEST.
ENDPOINT_DOWN
Continue in ENDPOINT_DOWN.
ENDPOINT_RECOVERED
Continue in ENDPOINT_RECOVERED.
Template creation, SID mappings, and placeholder examples are now in the WhatsApp provider guide.
Webhooks
Webhooks deliver alerts to Slack, Microsoft Teams, Discord, PagerDuty, or any generic HTTPS endpoint.
- Named webhooks: create each webhook once with a required name, then reference it from one or many contact groups. Up to 5 webhooks per workspace.
- Provider host validation: for the Slack, Teams, Discord, and PagerDuty kinds, the URL host must belong to the official provider domain (for example
hooks.slack.com, Teams Workflows / Power Automate hosts such as*.environment.api.powerplatform.comand*.logic.azure.com, legacywebhook.office.com/office365.com,discord.com,events.pagerduty.com); other hosts are rejected withWEBHOOK_HOST_NOT_ALLOWED. Use the generic kind for any other HTTPS endpoint. - Verification: webhooks are verified with a test delivery before use. Test sends are rate limited (a few per minute with a short cooldown between attempts).
- Retry: failed webhook deliveries appear in the alert queue and can be retried from there.
Slack
Create an incoming webhook in your Slack workspace and paste the https://hooks.slack.com/services/... URL. TokenTimer sends Slack-formatted messages with the token name, workspace, expiry date, and days remaining.
Microsoft Teams
Create the webhook with the Workflows app in Teams: open ... (More options) on the target channel, choose Workflows, and use the Post to a channel when a webhook request is received template (or build a Power Automate flow with the When a Teams webhook request is received trigger). Paste the generated https://...environment.api.powerplatform.com/... URL. TokenTimer sends a Teams-compatible card with the token details.
Classic Office 365 incoming webhook connectors (webhook.office.com URLs) were retired by Microsoft in May 2026 and no longer deliver messages; recreate any remaining ones with the Workflows app and update the webhook URL in TokenTimer.
Discord
Create a webhook in the channel settings (Integrations → Webhooks) and paste the https://discord.com/api/webhooks/... URL. TokenTimer sends a Discord-formatted embed with the token details.
PagerDuty
Use a PagerDuty Events API v2 integration key (a 32-character alphanumeric routing key). TokenTimer triggers an event with the token name and expiry details so your escalation policies take over. PagerDuty is not supported for weekly digests.
Generic HTTPS endpoint
Any HTTPS endpoint can receive alert deliveries as JSON with the generic kind (the provider host validation above applies only to the named kinds). Use this for internal tooling, automation, or chat systems not listed above.