mipo

Notification Channels

Notification channels define where alarm notifications are delivered. Supported types: webhook (HTTP POST with optional HMAC signature), Slack (incoming webhook), and email (raw SMTP). Sensitive credentials (secrets, passwords, webhook URLs) are encrypted at rest and masked in API responses.

Fields & columns

NameDescription
NameUnique identifier for the channel
TypeChannel type: webhook, slack, or email
EnabledWhether the channel is active for notification delivery

How to

Add a webhook channel

  1. Click "Add Channel"
  2. Enter a name and select "webhook" type
  3. Provide the webhook URL
  4. Optionally add an HMAC secret for request signature verification
  5. Click "Test Connection" and wait for it to pass — the form saves only after a test of the values now on screen has succeeded
  6. Click "Add Channel" at the bottom of the form

Test a channel

  1. Find the channel in the table
  2. Click the "Test" button
  3. A test notification will be sent to verify delivery
  4. Check the result message for success or error details

Gotchas

  • Sensitive fields (secrets, passwords, webhook and Slack URLs) are shown as "********" in the UI and API responses. A receiver URL often carries a token in its path or query, so a saved webhook URL is never shown again: leave the mask to keep it, or type a new URL to replace it.
  • When a test or an alert cannot be delivered, the error names the HTTP status or the kind of failure only. Text chosen by the receiver (its reason phrase or response body) is not shown or stored, because a receiver can echo the URL or headers it was sent.
  • When editing a channel, leaving sensitive fields as "********" preserves the existing value.
  • A webhook channel can send custom request headers, but only the API sets them (config.headers, a map of header name to value). Each value is encrypted and returned as "********". The edit form has no control for headers and leaves them unchanged when you test or save.
  • A stored credential that cannot be read (damaged, or encrypted under a key that is no longer configured) is never sent. The channel test answers "The stored credential cannot be read — re-enter it" and alerts for that channel fail until you enter the value again.
  • Deleting a channel cascades to delete all associated policies. Notification log entries are preserved.
  • Webhook channels support HMAC-SHA256 signatures via the X-Mipo-Signature-256 header.
  • Email uses raw SMTP and requires a valid SMTP server. Only plain text is supported — this minimizes formatting issues across email clients and avoids security risks from HTML rendering.

API calls (7)

MethodPathDescription
GET /api/admin/alerting/notification-channels List all notification channels
POST /api/admin/alerting/notification-channels Create a new notification channel
GET /api/admin/alerting/notification-channels/:id Get channel details
PATCH /api/admin/alerting/notification-channels/:id Update a channel
DELETE /api/admin/alerting/notification-channels/:id Delete a channel
POST /api/admin/alerting/notification-channels/:id/test Send a test notification
POST /api/admin/alerting/notification-channels/test-config Test unsaved channel configuration before creating

Related

  • Notification Policies — Policies connect alarm rules to channels with severity and transition filters
  • Notification Log — Log shows delivery history and errors for all channels
  • Alarms — Alarm state transitions trigger notifications through policies