Integrations reference
Supported notification channel integrations, required credentials, and configuration details.
On this page
- Notification channel integrations
- Slack
- Discord
- Telegram
- PagerDuty
- OpsGenie
- Generic webhook
- Microsoft Teams
- Google Chat
- ntfy
- Gotify
- Apprise
- Pushbullet
- ServiceNow, Freshservice, Linear, Rocket.Chat, and Matrix
- Inbound integrations
- Prometheus Alertmanager
- Grafana, Datadog, AWS CloudWatch, and generic webhook
- Sentry, Azure Monitor, and Google Cloud Monitoring
- UptimeRobot and Pingdom
- Integration matrix
- Notification destinations
- Incoming sources
- CI/CD deployments
- See also
Notification channel integrations
Configure outbound destinations under Integrations → Channels.
Slack
Use Add to Slack for alert delivery plus /howlops commands and message actions. OAuth stores the Slack workspace, channel, installer identity, and bot credential as an encrypted notification-channel configuration. Commands are re-authorized against HowlOps permissions and private-team visibility.
The same OAuth connection can auto-create a war-room channel from Incident settings. Org-wide incidents create a public channel; private-team incidents create a private channel and invite the installer. A manually pasted webhook cannot create channels.
Use a manual Incoming Webhook URL only as a delivery fallback. It can receive alerts and recoveries but cannot enable commands or authenticated buttons.
See Slack alerts and ChatOps in 5 minutes.
Discord
| Field | Description |
|---|---|
| Webhook URL | Discord channel webhook URL |
OAuth stores the stable guild, channel, and installer identity required by signed buttons and registered howlops application commands. A manually pasted webhook remains delivery-only.
Telegram
| Field | Description |
|---|---|
| Bot token | Token from BotFather |
| Chat ID | Target chat or channel ID (prefix -100 for supergroups) |
Prefer the pairing link generated by HowlOps. Pairing captures the stable Telegram sender ID and enables /status, /oncall, /ack, /silence, and /resolve plus incident-message buttons. Group members do not inherit the identity of the person who paired the bot.
| Field | Description |
|---|---|
| Recipient email | The email address this channel delivers to. Add one channel per address you want to reach. |
HowlOps sends email via its own transactional mail provider. No SMTP credentials are required.
PagerDuty
| Field | Description |
|---|---|
| Integration key | PagerDuty Events API v2 integration key |
In PagerDuty: Services > select service > Integrations > Add integration > Events API v2 > copy the Integration Key.
OpsGenie
| Field | Description |
|---|---|
| API key | OpsGenie API integration key |
| Region | us or eu |
In OpsGenie: Settings > Integrations > API > copy the API Key.
Generic webhook
| Field | Description |
|---|---|
| URL | Your endpoint URL (must accept POST application/json) |
| Secret | Optional; used to compute the X-HowlOps-Signature header |
See Webhooks reference for payload shapes.
Microsoft Teams
| Field | Description |
|---|---|
| Webhook URL | Power Automate Workflows webhook URL (…logic.azure.com/workflows/…) |
In Teams: channel > ... > Workflows > template Post to a channel when a webhook request is received > copy the generated URL.
Microsoft retired Office 365 Connector webhooks in May 2026. Legacy outlook.office.com/webhook/… and
<tenant>.webhook.office.com/… URLs are dead and are rejected when you save a channel. See
Teams via Workflows to migrate an existing channel.
Google Chat
| Field | Description |
|---|---|
| Webhook URL | Incoming webhook URL from your Google Chat space |
In Google Chat: space > Apps & integrations > Webhooks > Add > copy URL.
ntfy
| Field | Description |
|---|---|
| Server URL | Optional: your self-hosted server (default https://ntfy.sh) |
| Topic | The topic to publish alerts to (subscribe to it in the ntfy app) |
| Access token | Optional: Bearer token for protected topics |
Gotify
| Field | Description |
|---|---|
| Server URL | Your self-hosted Gotify server |
| Application token | Gotify > Apps > create an application > copy its token |
Apprise
| Field | Description |
|---|---|
| Apprise API URL | Your self-hosted Apprise API |
| Config key | Optional: persistent-config mode (/notify/{key}) |
| Apprise URLs | Optional: stateless mode, comma-separated Apprise URLs (fans out to 110+ services) |
Pushbullet
| Field | Description |
|---|---|
| Access token | Token created in Pushbullet account settings |
HowlOps sends a note through Pushbullet API v2. Save the channel and use Send test to verify the token with a real push.
ServiceNow, Freshservice, Linear, Rocket.Chat, and Matrix
| Integration | Required fields |
|---|---|
| ServiceNow | Instance name, integration username, integration password |
| Freshservice | Domain, API key, requester email |
| Linear | Personal API key, team UUID |
| Rocket.Chat | Incoming webhook URL |
| Matrix | Homeserver URL, bot access token, room ID |
Each channel has a real Send test path. See the expanded outbound catalog for setup and local verification.
Inbound integrations
HowlOps can receive alerts from 26 external monitoring, error-tracking, CI/CD, and status systems and convert them to incidents.
Prometheus Alertmanager
HowlOps accepts Alertmanager alerts two ways: a native
opsgenie_configs receiver, or a plain webhook_configs receiver. Use whichever fits your
setup. The opsgenie_configs route is shown first, and the webhook_configs alternative is
right below it.
Generate a Prometheus / Alertmanager endpoint from the Integrations hub (the source card →
Generate endpoint) to obtain a token (starts with howl_), then use it as the receiver
api_key:
receivers:
- name: howlops
opsgenie_configs:
- api_url: https://api.howlops.com/api/v1/prometheus/
api_key: howl_YOUR_TOKEN_HERE
send_resolved: true
api_url must end with a trailing slash (Alertmanager appends v2/alerts). Auth is sent as
Authorization: GenieKey <token> automatically by the OpsGenie receiver. Incident severity
comes from the OpsGenie priority (P1/P2 → critical, P3 → warning, P4/P5 → info); set the
receiver's priority field to map it from your labels.
Alternative: plain webhook_configs
If you would rather not use the OpsGenie receiver, point a standard Alertmanager
webhook_configs receiver at HowlOps instead. Use the same token from the Integrations
hub, sent as a Bearer credential:
receivers:
- name: howlops
webhook_configs:
- url: https://api.howlops.com/api/v1/webhook/alertmanager
send_resolved: true
http_config:
authorization:
type: Bearer
credentials: howl_YOUR_TOKEN_HERE
HowlOps parses Alertmanager's native webhook payload, so firing and resolved alerts dedupe and
auto-resolve exactly like the opsgenie_configs route. See the
Alertmanager setup guide for a full walkthrough.
Grafana, Datadog, AWS CloudWatch, and generic webhook
Grafana (legacy and unified alerting), Datadog, AWS CloudWatch (delivered via SNS), and any generic system are received on a single token-scoped endpoint. Create an inbound integration from the Integrations hub (pick the source card → Generate endpoint) to obtain a token, then point the source at:
POST https://api.howlops.com/api/v1/webhooks/incoming/<integration_token>
Content-Type: application/json
{
"title": "Deploy failed",
"severity": "critical"
}
The payload is parsed according to the source type you selected when you generated the endpoint (Grafana, Datadog, CloudWatch, or generic). The format is not auto-detected, so pick the matching source when creating the integration.
Sentry, Azure Monitor, and Google Cloud Monitoring
These three also use the same token-scoped endpoint as Grafana, Datadog, and CloudWatch above, but each parses the vendor's own native webhook payload. Point the tool's alert webhook directly at the URL below; no reshaping is required. Create an inbound integration from the Integrations hub (pick the source card → Generate endpoint) to obtain a token, select type sentry, azure, or gcp, then configure the vendor with:
POST https://api.howlops.com/api/v1/webhooks/incoming/<integration_token>
Content-Type: application/json
The payload is parsed according to the source type you selected when you generated the endpoint: pick the matching source, since the format is not auto-detected.
Sentry: In Sentry: Settings > Developer Settings > create an Internal Integration, set its Webhook URL to the endpoint above, and subscribe it to the Issue resource (lifecycle events: created/resolved/ignored/assigned/unresolved) and/or enable it as an alert rule action to receive Issue Alert notifications (fires when an alert rule matches). Only an explicit resolved status closes the HowlOps incident: ignored does not, since the underlying problem may still exist. Sentry's level maps to HowlOps severity: fatal/error → critical, warning → warning, info/debug → info.
Azure Monitor: In Azure: your alert rule's Action Groups > add or edit a Webhook action with the endpoint above as its URI, and set Enable the common alert schema to Yes on that action: HowlOps parses the common alert schema's data.essentials envelope, which Azure only sends once the schema is enabled on the action. Metric, log, activity-log, and Prometheus-based alert rules all work the same way. A monitorCondition of Resolved closes the HowlOps incident. Azure's severity (Sev0–Sev4) maps to HowlOps severity: Sev0/Sev1 → critical, Sev2 → warning, Sev3/Sev4 → info.
Google Cloud Monitoring: In Google Cloud Console: Monitoring > Alerting > Edit notification channels > Webhooks > add a channel with the endpoint above as its URL, then attach it to your alerting policy. An incident state of closed closes the HowlOps incident. GCP's webhook payload does not always include a severity field: when it's absent, HowlOps applies its default (warning).
UptimeRobot and Pingdom
Both accept the same generated token-scoped endpoint and their native payloads. For UptimeRobot, select Send default variables as POST parameters; no custom JSON is necessary. For Pingdom, add the URL as a webhook and assign it to the desired checks. See UptimeRobot and Pingdom for the complete setup and local fixture test.
Integration matrix
HowlOps exposes 26 workspace notification-channel types and 26 incoming source parsers. Mobile device push is a separate per-device delivery path, not a workspace channel. Plan availability belongs to the live pricing page; this table describes only the implemented transport and credential.
Notification destinations
| Integration | Connection |
|---|---|
| Managed delivery to a recipient address | |
| Slack | OAuth app or incoming webhook fallback |
| Discord | OAuth app or channel webhook fallback |
| Telegram | Paired managed bot or bot token plus chat ID |
| Generic webhook | HTTPS URL and optional HMAC secret |
| PagerDuty | Events API v2 routing key |
| Microsoft Teams | Power Automate Workflow URL |
| Opsgenie | API key and US/EU region |
| Mattermost | Incoming webhook URL |
| Splunk On-Call | API key and routing key |
| Jira | Domain, email, API token, project, and optional issue type |
| Zendesk | Subdomain, email, and API token |
| AWS SNS | Topic ARN, access key, secret key, and optional region |
| Pushover | Application token and user key |
| Pushbullet | Access token |
| ServiceNow | Instance, username, and password |
| Freshservice | Domain, API key, and requester email |
| Linear | Personal API key and team UUID |
| Rocket.Chat | Incoming webhook URL |
| Matrix | Homeserver, bot token, and room ID |
| Google Chat | Space webhook URL |
| ntfy | Topic, optional server, and optional token |
| Gotify | Server and application token |
| Apprise | API URL plus config key or Apprise URLs |
| SMS | Verified E.164 number; HowlOps-managed telephony |
| Voice call | Verified E.164 number; HowlOps-managed telephony |
Incoming sources
All sources use the token-scoped incoming URL. CloudWatch additionally verifies SNS signatures and pins the topic.
| Category | Sources |
|---|---|
| Monitoring and observability | Prometheus Alertmanager, Grafana, Datadog, AWS CloudWatch, New Relic, Checkly, Splunk, Sumo Logic, Zabbix |
| Error tracking | Sentry, Rollbar, Bugsnag |
| Uptime and cron | UptimeRobot, Pingdom, Better Stack, updown.io, Cronitor, Healthchecks.io |
| Cloud and CI/CD events | Azure Monitor, Google Cloud Monitoring, GitHub Actions, GitLab CI, CircleCI, Vercel |
| Status communication | Atlassian Statuspage |
| Custom | Generic incoming webhook |
These are webhook parsers. They do not install an agent, poll metrics, connect a cloud account, browse a repository, or import infrastructure inventory.
CI/CD deployments
Use the deployment-maintenance API instead of pausing and resuming monitors one by one. It creates a bounded maintenance window and returns a one-time end token for the workflow. See Wrap a deployment in maintenance.
See also
- Integrations for a guided, one-page-per-tool walkthrough of what each integration brings you and how to set it up.
- Webhooks reference
- Events reference
- REST API reference
Was this page helpful?