Alert channels
HostTracker can deliver an alert over any of the channels below. Each has its own short setup guide with the exact steps, what the message looks like, and any gotchas. See what a contact is for the full contact model these all share (confirmation, alert delay, active hours, grouping).
Which to use
Section titled “Which to use”| Channel | Addressed by | API type token | Best for |
|---|---|---|---|
| Email address | email |
The default channel - always start here. | |
| SMS | Phone number | sms |
A loud alert that reaches you without a data connection. |
| Voice call | Phone number | voiceCall |
The hardest alert to miss - good for a top escalation tier. |
| Telegram | Bot registration | telegram |
Free, instant, and doubles as a chat with the HostTracker bot. |
| Slack | Incoming webhook URL | http + gateway Slack (or auto-detected from the address) |
Team alerts in a shared channel. |
| Microsoft Teams | Workflow webhook URL | http + gateway Teams |
Team alerts for Teams-based organizations. |
| Discord | Bot registration | discord |
Community or team alerts in a Discord server. |
| Viber | Bot registration (QR code) | viber |
Personal chat-app alerts. |
| Mattermost | Incoming webhook URL | http + gateway Mattermost |
Self-hosted team chat, same setup as Slack. |
| PagerDuty | Integration key | http + gateway PagerDuty |
On-call paging and incident management. |
| Opsgenie ¹ | Integration key | http + gateway Opsgenie |
On-call paging and incident management. |
| Pushover | User key | http + gateway Pushover |
Personal push notifications on phone or desktop. |
| Pushbullet | Access token | http + gateway Pushbullet |
Personal push notifications across your devices. |
| WhatsApp ¹ | Phone number | whatsApp |
Reaching people who live in WhatsApp. |
| Web push | Browser subscription | webPush |
A notification in the browser you’re using right now. |
| Webhook | URL you control | http (no gateway) |
Feeding alerts into your own system or automation. |
¹ Opsgenie and WhatsApp are not yet available - both exist in the type catalogue but are non-creatable for every account today: Opsgenie because its setup needs a wire member the contact API doesn’t have yet, WhatsApp because it’s parked pending Meta Cloud API onboarding. Facebook Messenger and Google Chat bot channels also exist in the API but are hidden from the app’s New Contact picker by product decision, and Skype is fully retired (existing rows still read, nothing new can be created).
Slack, Teams, PagerDuty, Opsgenie, Pushover, Pushbullet and Mattermost are all http under the hood
Section titled “Slack, Teams, PagerDuty, Opsgenie, Pushover, Pushbullet and Mattermost are all http under the hood”There’s no separate storage type for each of these seven - every one of them is an ordinary http contact,
distinguished by a gateway value (Slack, Teams, PagerDuty, Opsgenie, Pushover, Pushbullet or
Mattermost) that tells HostTracker how to format and route the request. Slack is the one exception that’s
recognized without a gateway value: an address starting with https://hooks.slack.com/ is detected
automatically. This is why the app shows each as its own type in the picker (so setup matches the service you’re
connecting to) while GET /contact/type and a plain POST /contact {"type":"http", ...} see one underlying
type with a gateway field.
Two ways contacts are addressed
Section titled “Two ways contacts are addressed”- Typed address - you type an email, phone number, webhook URL, integration key, or API/user token directly.
- Registered by wizard - Telegram, Discord and Viber contacts are created by registering with the HostTracker bot (following a link, scanning a QR code, or running a chat command), not by typing an address; web push is registered by the browser’s own push-subscription handshake.
Do it with the API or MCP
Section titled “Do it with the API or MCP”GET /contact/type returns the full catalogue this table is built from, including which types are creatable
today. Create any of the typed-address channels the same way, varying only type/gateway/address:
POST /contact{ "type": "http", "gateway": "PagerDuty", "address": "<integration key>", "name": "On-call" }The MCP create_contact tool covers only email, sms, voiceCall and webPush directly - creating an
http-family contact (including the gateway-recognized ones) from an agent goes through api_request with the
body shape above, since it needs the gateway field create_contact doesn’t expose. See each channel’s own
page for its exact body.

