Static Documentation

Integrations

Version latest · Updated 2026-09-30
Interactive docs View on GitHub

Integrations#

IncidentRelay has two different integration layers. Keep them separate when configuring or troubleshooting the system.

Monitoring system -> Incoming integration -> Route -> Notification channels -> User action

Profile-level browser push is separate from notification channels. Users enable browser/PWA push in Profile, and alerts are delivered to active browser push devices of the assigned user. Read more: Browser Push.

Incoming alert integrations#

Incoming integrations create or update alerts in IncidentRelay. They are selected by the route source field and require a route intake token.

SourceEndpointDocumentation
AlertmanagerPOST /api/integrations/alertmanagerAlertmanager
AWS SNS/Cloud watchPOST /api/integrations/aws-snsAWS SNS/Cloud watch
GrafanaPOST /api/integrations/grafanaGrafana
DatadogPOST /api/integrations/datadogDatadog
New RelicPOST /api/integrations/new-relicNew Relic
Azure MonitorPOST /api/integrations/azure-monitorAzure Monitor
Cloud.ru Cloud Eye / SMNPOST /api/integrations/cloud-ru/<route_id>Cloud.ru
NagiosPOST /api/integrations/nagiosNagios
Uptime KumaPOST /api/integrations/uptime-kumaUptime Kuma
RMONPOST /api/integrations/rmonGrafana
ZabbixPOST /api/integrations/zabbixZabbix
SentryPOST /api/integrations/sentry/<route_id>Sentry
LibreNMSPOST /api/integrations/librenmsLibreNMS
Generic webhook / PagerDuty Events API v2POST /api/integrations/webhookGeneric webhook

Route intake tokens belong to routes, not to channels. Create a route first, copy its intake token, and use that token in the monitoring system.

Notification channels#

Notification channels deliver alerts after a route has matched an incoming alert.

Channel typePurposeDocumentation
MattermostChat notifications, optional ACK/Resolve/Shelve buttons, message updatesMattermost channel
TelegramTelegram Bot API notifications, optional inline actionsTelegram channel
EmailSends email to the assigned user's profile emailEmail channel
SlackIncoming webhook or Bot API notifications with ACK/Resolve/Shelve actions and updatesSlack channel
Feishu / LarkCustom bot webhook notifications with optional signature verificationFeishu / Lark channel
DiscordSends notifications to a Discord webhookWebhook-based channels
Microsoft TeamsSends notifications to a Teams webhookWebhook-based channels
WebhookSends notification payloads to a custom HTTP endpointWebhook-based channels
Voice callCalls the assigned user's phone through the globally configured voice providerVoice call channel

Read the common channel behavior first: Notification channels.

Common setup order#

1. Create a group
2. Create users and fill contact fields, such as email, phone, Telegram ID
3. Optional: configure browser push and ask users to enable it in Profile
4. Create a team
5. Create a rotation and assign on-call users
6. Create notification channels
7. Create a route and attach channels
8. Copy the route intake token
9. Configure Alertmanager, Zabbix, or webhook sender
10. Send a test alert
11. Verify notification delivery and ACK/Resolve/Shelve flow

Troubleshooting direction#

When an alert does not notify a user through a channel, check the chain in order:

Incoming payload -> route match -> route channels -> channel severity filter -> notifier -> external provider

For browser push, check the profile-level chain instead:

alert assignee -> assignee has active browser push subscription -> service worker/browser notification

If a test channel notification works but real alerts do not, the issue is usually route matching, route-channel binding, severity filtering, missing assignee contact data, or a silence rule.

If the browser push test works but the real alert push does not, check that the alert is assigned to the same user who enabled push in Profile.