Skip to content

Alerts & contacts overview

View as Markdown

HostTracker alerting has two separate ideas that are easy to mix up: a contact is where an alert can be delivered, and a subscription is what it gets alerted about. Set up a contact once, then subscribe it to as many monitors as you like.

  • A contact is a delivery address: an email, a phone number, a Telegram chat, a Slack webhook, a PagerDuty key and so on. Creating a contact does not alert anyone by itself - and for email, SMS and voice it stays that way until it’s confirmed.
  • A subscription binds one monitor to one contact and picks which events it should hear about (Up, Down, still-down) or which scheduled reports it should receive.
  • Contact groups are a passive, named preset you apply to a monitor in one step - applying it writes ordinary subscriptions once, it isn’t a live link. Subscribing monitors to a contact manages subscriptions from the contact’s side, one contact against many monitors.
  • In the app, a new monitor is subscribed to all your contacts (Up and Down alerts, Weekly and Monthly reports) because the create form’s Subscribe all switch starts on; turn it off before saving to choose contacts yourself. A monitor created through the API or MCP has no subscriptions until you add them.
Channel Typical use
Email The default, always-on channel. Free.
SMS / Voice call Loud, hard-to-miss alerts. Billed from your SMS credit - see SMS & voice billing.
Telegram / Discord / Viber Chat apps, set up by registering with the HostTracker bot rather than typing an address.
Slack / Microsoft Teams / Mattermost Team chat, set up with an incoming webhook.
PagerDuty / Opsgenie ¹ On-call paging, addressed by an integration key. Every alert is sent immediately, never batched.
Pushover / Pushbullet Personal push notifications, addressed by a key or token.
WhatsApp ¹ Sent via the Meta Cloud API.
Web push A browser notification, registered from the web app itself.
Webhook Send the alert as JSON to your own endpoint (unsigned - the signed, typed webhooks system is a separate resource under Integrations).

¹ Opsgenie and WhatsApp aren’t creatable for any account today - the New Contact picker hides both (along with the retired Skype and the hidden-by-design Facebook/Google Chat bot channels). Every other type in the table, including all seven flavors an http contact can take (Slack, Teams, PagerDuty, Pushover, Pushbullet, Mattermost, or a plain webhook), is live. See what a contact is for the full picture.

See the full channel list and setup guides for details on every option.

  • Alert delays & escalation - a contact can wait before it hears about a Down (a fixed ladder from instant up to 24 hours), and an outage that keeps going can escalate to later contacts.
  • Active hours - restrict a contact to chosen hours, days and a timezone.
  • Grouped alerts - many alerts firing close together for the same contact can be coalesced into one message instead of a flood; on-call channels (PagerDuty, Opsgenie) never do this.
  • Test a contact - send a real sample alert to confirm a contact is wired up correctly, before you rely on it.

An agent auditing or rebuilding a user’s alerting setup typically works top-down: list_contacts (or GET /contact) to see every delivery address and whether each is confirmed, then list_subscriptions (or GET /alert / GET /report) to see who’s subscribed to what. GET /contact/{id}?expand=subscription folds both together for one contact. See what a contact is and subscriptions for the exact fields and bodies.