Alerts & Notifications
Get notified immediately when something goes wrong. Configure multiple channels and control exactly when and how you're alerted.

Notification channels
HowlOps supports multiple notification channels. You can add as many channels as you need and assign different channels to different monitors.
Send incident alerts to any email address. Available on every plan.
addressRecipient email
Generic webhook
POSTs the standard HowlOps JSON payload to any HTTPS endpoint on every incident event.
urlWebhook URL (HTTPS)
Slack
Post rich incident alerts (with Ack / Resolve / Silence buttons) to any Slack channel.
For OAuth setup, use the Slack card on the Integrations page.urlSlack incoming-webhook URL: Create an incoming webhook at api.slack.com/apps → Incoming Webhooks.
Discord
Send notifications with interactive buttons to any Discord server channel.
webhook_urlDiscord webhook URL: Server Settings → Integrations → Webhooks → New Webhook.
Telegram
Forwards alerts via the HowlOps Telegram bot. Connect with one click from the Integrations page.
Easiest path: use the Telegram card on the Integrations page to deep-link the bot.token (optional)Bot token: Leave blank to use the platform-managed HowlOps bot.
chat_idChat ID
PagerDuty
Triggers and auto-resolves PagerDuty incidents via Events API v2 (Routing Key required).
routing_keyIntegration Key (Routing Key): Services → your service → Integrations → Events API v2 → Integration Key.
Pushover
Push notifications to the Pushover mobile/desktop apps using your user key and application token.
userUser key: Visible on your Pushover dashboard at pushover.net.
tokenApplication token: Create an application at pushover.net/apps/build.
Opsgenie
Creates and auto-closes Opsgenie alerts. Use the EU region if your Opsgenie account is on the EU data centre.
api_keyIntegration API key: Settings → API key management → Create API key.
region (optional)Region
VictorOps / Splunk On-Call
Routes incidents through VictorOps generic integration. Needs both the API key from the integration and a routing key for the on-call team.
api_keyAPI Key: Settings → Integrations → REST Endpoint → API key.
routing_keyRouting Key: Alert routing key for the target on-call policy.
Mattermost
Posts alerts to a Mattermost channel via an incoming webhook (Slack-compatible payload).
webhook_urlIncoming webhook URL: Mattermost: Main Menu → Integrations → Incoming Webhooks.
Google Chat
Posts alerts to a Google Chat space via an incoming webhook.
webhook_urlIncoming webhook URL: Google Chat space → Apps & integrations → Webhooks → Add.
ntfy
Self-hostable pub/sub push. Alerts go to a topic on ntfy.sh or your own server.
server (optional)Server URL: Leave blank for the public ntfy.sh, or point at your self-hosted server.
topicTopic: The topic to publish to. Subscribe to it in the ntfy app.
token (optional)Access token: Optional — only for protected topics (Bearer auth).
Gotify
Self-hosted push server. Alerts are delivered as Gotify messages.
serverServer URL
tokenApplication token: Gotify → Apps → create an application → copy its token.
Apprise
Self-hosted Apprise API — fans a single alert out to 110+ services (Slack, Telegram, SMS, etc.).
serverApprise API URL
config_key (optional)Config key: For persistent-config mode (/notify/{key}). Leave blank to use stateless URLs below.
urls (optional)Apprise URLs: Stateless mode — comma-separated Apprise URLs.
Microsoft Teams
Posts Adaptive Card alerts to a Teams channel via an incoming webhook (legacy MessageCard fallback for outlook.office.com URLs).
webhook_urlIncoming webhook URL: Teams channel → Connectors → Incoming Webhook (or a Power Automate workflow webhook).
Jira
Creates a Jira issue for every new incident. Uses Atlassian Cloud REST API with basic auth (email + API token).
domainAtlassian domain: The part before .atlassian.net (e.g. acme for acme.atlassian.net).
emailAccount email
api_tokenAPI token: Create at id.atlassian.com/manage-profile/security/api-tokens.
project_keyProject key: Short project identifier (e.g. OPS, INFRA).
issue_type (optional)Issue type: Defaults to "Bug" when left blank.
Zendesk
Opens a Zendesk ticket for every new incident. Uses email/token basic auth against the Zendesk API.
subdomainSubdomain: The part before .zendesk.com (e.g. acme for acme.zendesk.com).
emailAgent email
api_tokenAPI token: Admin Center → Apps and integrations → Zendesk API → API token.
AWS SNS
Publishes incident messages to an AWS SNS topic using raw SigV4 signing. Pair with SNS subscriptions for SMS/email/SQS/HTTPS fan-out.
topic_arnTopic ARN
region (optional)AWS region
access_key_idAccess key ID
secret_access_keySecret access key
SMS
Receive SMS alerts via the HowlOps Twilio account (platform admin manages credentials). Just enter the recipient phone in E.164 format.
SMS sending requires a platform admin to enable Twilio in Admin → Notification Providers.toRecipient phone (E.164): International format with leading "+", e.g. +14155550123.
Voice call
Receive a voice call on a verified phone number when an incident fires. The platform places the call through Twilio and reads the alert payload via TTS. Only verified numbers are dialable.
Verify the phone number under Settings → Notifications → Voice + phone verification. Backend test-send refuses unverified numbers as a safety guard.phone_e164Recipient phone (verified, E.164): Must be a phone number verified via Settings → Notifications → Verify phone.
Assigning channels to a monitor
Once you have added a channel, attach it to any monitor in three steps:
- Open the monitor from the Monitors list and click Edit
- Scroll to the Notifications section and select one or more channels from the dropdown
- Click Save. Alerts for this monitor will now be sent to the selected channels.
Webhook payload
When using a custom webhook, HowlOps POSTs the following JSON to your endpoint:
Event types
| Event | When it fires |
|---|---|
| monitor.down | Monitor or heartbeat is unreachable / failed |
| monitor.up | Monitor or heartbeat recovers after an incident |
| monitor.ssl_expiry | SSL certificate is expiring within the configured threshold |
| test | Sent when you click Send Test Alert in channel settings |
Verifying webhook signatures
Each request includes an X-HowlOps-Signature header, an HMAC-SHA256 hex digest of the raw request body, signed with your webhook secret. Verify it on your server to reject forged requests:
Alert sensitivity
Control when alerts fire with the alert threshold setting:
- Threshold 2: Wait for 2 consecutive failures before alerting (default, reduces false alarms from transient blips)
- Threshold 1: Alert on the first failure. Opt in for critical services where you want to be paged immediately.