Alert channel matrix
Every alert channel receives the standard monitor alerts - Down, Up and Repeatedly down. Most also receive the rich sub-check alerts (SSL certificate expiry, domain expiry, DNSBL blacklist and Web Risk), rendered for that channel. Scheduled reports go to email only. This table is the quick reference; each channel has its own setup page under Alert channels.
| Channel | Addressed by | Set up | Rich sub-check alerts | Reports | API contact type |
|---|---|---|---|---|---|
| Email address | App or API; confirmed with a code | yes | yes (the only report channel) | email |
|
| SMS | Phone number | App or API; confirmed with a code; paid per message | yes | no | sms |
| Voice call | Phone number | App or API; confirmed with a code; paid per call | no - calls are for up/down only | no | voiceCall |
| Webhook (generic HTTP) | Your URL | App or API; no confirmation | no | no | http |
| Slack | Incoming webhook URL | App | yes | no | http (recognised as Slack) |
| Microsoft Teams | Teams Workflows webhook URL | App | yes | no | http (Teams gateway) |
| Mattermost | Incoming webhook URL | App | yes (Slack-style message) | no | http (Mattermost gateway) |
| PagerDuty | Integration (routing) key | App | yes; incidents resolve on recovery | no | http (PagerDuty gateway) |
| Pushover | User key | App | yes | no | http (Pushover gateway) |
| Pushbullet | Access token | App | yes | no | http (Pushbullet gateway) |
| Telegram | Bot chat | App, by connecting the HostTracker bot | yes | no | telegram (created by the bot) |
| Viber | Bot chat | App, by connecting the bot | yes | no | viber (created by the bot) |
| Discord | Server channel via the bot | App, by adding the bot | yes | no | discord (created by the bot) |
| Web push | Browser subscription | App, by allowing notifications in the browser | yes | no | webPush |
Not available for new contacts today: Opsgenie and WhatsApp (built, not yet offered), Google Chat and Facebook Messenger (not offered for new contacts), and Skype (retired).
How channels differ
Section titled “How channels differ”- Address channels (email, SMS, voice call) use something the recipient owns and need a confirmation code before they receive anything. SMS and voice calls are paid from your message balance - see SMS billing.
- Webhook-shaped channels (generic webhook, Slack, Teams, Mattermost) are addressed by a URL. In the API they are
all contact type
http; Slack is recognised from itshooks.slack.comURL, the others by the gateway chosen when the contact is created. A URL that is not recognised is a generic webhook: it gets the standard JSON or form payload (or your own template) and no rich sub-check alerts. - Key-addressed channels (PagerDuty, Pushover, Pushbullet) are addressed by a key or token issued by that service. PagerDuty and Opsgenie alerts are sent immediately, never merged into a grouped alert.
- Bot channels (Telegram, Viber, Discord) are created by connecting the HostTracker bot in that messenger; the API can read them but not create them.
- Web push is created by the browser that grants notification permission.
A generic webhook contact is different from a signed v2 webhook - see Webhooks vs webhook contacts.
In the API
Section titled “In the API”GET /contact/type (no token needed) returns the live catalogue: for each type whether it can be created through the
API, whether it needs registration in another app, whether it takes scheduled reports, whether it needs confirming,
the alert delays it accepts and its gateways. Report subscriptions to a non-email contact are refused with
422 unsupported_report_channel.

