Channel types
All 20 channel types are available on every plan, and you can create an unlimited number of channels on any plan — there is no per-plan channel count limit.Lifecycle behavior
Channels fall into two notification models:Fire-and-forget
Email, Slack, Discord, Teams, Webhook Each message is self-contained. The channel sends a notification when an incident is created and a separate notification when it’s resolved. There is no state maintained in the external system.Trigger-resolve
PagerDuty, OpsGenie, Splunk On-Call, Incident.io, Rootly, GitLab The channel opens an alert in the external system when an incident is created and explicitly resolves it when the incident resolves. The external system maintains its own state (acknowledgment, escalation, on-call routing) tied to the DevHelm incident. This distinction matters for escalation chain behavior — stateful integrations always close their external alerts on resolution, even whenonResolve is set to silent.
Creating a channel
--config JSON because the
webhook variant uses url (not webhookUrl):
webhook.site UUID with a fresh URL from
webhook.site to inspect deliveries.
Configuration by type
Email
Slack
Slack
See Slack integration for setup instructions.
Discord
Discord
See Discord integration for setup instructions.
Webhook
Webhook
See Webhooks integration for payload format and verification.
PagerDuty
PagerDuty
See PagerDuty integration for setup instructions.
OpsGenie
OpsGenie
See OpsGenie integration for setup instructions.
Microsoft Teams
Microsoft Teams
See Teams integration for setup instructions.
Testing a channel
Verify your configuration before using it in a notification policy:/api/v1/alert-channels/test accepts an inline config and verifies it
without persisting — useful for pre-flight validation before a create.
The test endpoint sends a sample notification and reports whether delivery succeeded.
Delivery history
Track delivery attempts and failures for a channel:Channel fields
Channel configurations are write-only for security. After creation, the API returns
displayConfig (non-sensitive metadata) and configHash but never the full secret values.Next steps
Notification policies
Route incidents to the right channels based on rules.
Integrations
Step-by-step setup for each integration.
Alerting guide
End-to-end guide for setting up alerting.