Skip to content

Alert channels

View as Markdown

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).

Channel Addressed by API type token Best for
Email 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.

  • 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.

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.