AI AdminPanel Documentation

Notifications

Open Settings → Notifications to enable or disable each notification category for each channel. The matrix contains Service Events, Backup Events, Deploy Events and System Alerts. It is not a list of individual event subscriptions or per-customer notification preferences.

Channels and delivery

The notification providers support Email, Slack, Discord, Telegram and a generic Webhook. A channel/category toggle selects delivery; it does not provision the provider's connection details. Configure panel mail under Settings → Email using SMTP or Resend. The panel also applies that mail configuration to Keycloak for invitation and password-reset mail; verify delivery after a change.

The channel configuration sections accept a Discord webhook URL, Telegram bot token and chat ID, and generic webhook URL. Slack uses the stored notifications.slack_webhook setting. There are no generic webhook header or signing-secret fields. These non-email providers are registered at panel startup; a saved connection setting alone does not prove that the running provider changed. Ask the hosting administrator to arrange a panel restart when needed, then test.

Use Send Test, then check the receiving inbox or channel. The test endpoint queues asynchronous delivery through the notification service; a success response does not prove delivery, and the test is not proof that only the selected channel received it. Investigate delivery errors in panel logs.

Generic webhook contract

The v2.12.8 generic webhook provider sends no HMAC signature. It posts JSON with Content-Type: application/json; there is no configured signing secret or custom authorization-header facility in this provider. Do not rely on the previously documented signature header to authenticate a notification or trigger a privileged action. Arrange receiver authentication before using it for automation.

The JSON fields are event, severity, title, message, resource, timestamp and panel_url. For example, a test event has the event type notification.test. Event names come from their producers; the matrix filters by category rather than by an editable list of event names.

Delivery happens in the background. A successful deploy does not prove that its notification arrived, and a failed notification does not roll back the deploy.