notification channels
A channel is a destination pngr delivers alerts to. Channels are scoped to an organization and shared across rules — configure a channel once, reference it from as many rules as you like. A rule decides when to notify; a channel is where the notification lands.
supported types
| type | delivery | config it needs |
|---|---|---|
| platform SMTP provider | recipient (defaults to your account email if blank) | |
| slack | incoming webhook or bot token | webhook_url or bot_token |
| ms_teams | incoming webhook | webhook_url |
| telegram | bot API | bot_token + chat_id |
| webhook | generic HTTP POST of a JSON payload | url |
| sms | platform Twilio account | to (destination number) |
Step-by-step setup for each — including where to get a webhook URL or a Telegram chat ID — is in set up notifications.
self-contained vs platform channels
Most channels are self-contained: their config holds everything needed to deliver (a Slack/Teams webhook URL, a Telegram bot token, a generic webhook URL). Two types instead ride on a single platform-level provider account shared across the whole deployment, with the channel config holding only the destination:
- email is sent through a platform email provider; the channel only stores the recipient address.
- sms is sent through a platform Twilio account; the channel only stores the destination number.
Because email and SMS dispatch through platform credentials rather than the channel's own config, the test ping doesn't exercise them — the test only covers the self-contained dispatch path. If the platform provider isn't configured on the deployment, an email/SMS channel can still be created and listed, but delivery is a no-op that logs a failure.
credentials are write-only
Channel config is encrypted at rest. The list never returns it, and the
single-channel view returns it with credential fields redacted to
${...} placeholders — only non-secret fields (the email recipient, a
Telegram chat ID) come back in clear so an edit form can pre-fill them.
You can't read a stored secret back out; to rotate one, type the new
value and save, which re-encrypts the whole config blob.
test ping & enable toggle
- send test ping delivers a real notification immediately, so you can confirm the destination works before you depend on it. Used during setup to validate the credentials. (Not available for email/SMS — see the callout above.)
- enable / disable toggles a channel without deleting it. A disabled channel stays configured and attached to its rules but delivers nothing — handy for muting a noisy destination during maintenance.