Notifications
AI Admin Panel sends notifications for important events like deploy completions, health alerts, and quota warnings. Configure one or more notification channels to stay informed.
Supported Channels
| Channel | Description | Configuration Required |
|---|---|---|
| SMTP-based email notifications | SMTP server credentials | |
| Slack | Messages to a Slack channel via webhook | Slack webhook URL |
| Discord | Messages to a Discord channel via webhook | Discord webhook URL |
| Telegram | Messages to a Telegram chat via bot | Bot token + chat ID |
| Webhook | HTTP POST to any URL | Endpoint URL |
Configuration
Navigate to Settings > Notifications to configure channels.
Email
| Field | Description |
|---|---|
| SMTP Host | SMTP server hostname (e.g., smtp.gmail.com) |
| SMTP Port | SMTP port (587 for TLS, 465 for SSL) |
| Username | SMTP authentication username |
| Password | SMTP authentication password |
| From Address | Sender email address |
| To Address | Default recipient (can be overridden per trigger) |
Test the configuration with the Send Test button.
Slack
- Create a Slack webhook: go to your Slack workspace's Apps > Incoming Webhooks
- Create a webhook for the desired channel
- Paste the webhook URL in the panel
| Field | Description |
|---|---|
| Webhook URL | Slack incoming webhook URL |
| Channel | Override channel (optional, uses webhook default) |
Discord
- In your Discord server, go to Channel Settings > Integrations > Webhooks
- Create a webhook and copy the URL
- Paste the webhook URL in the panel
| Field | Description |
|---|---|
| Webhook URL | Discord webhook URL |
Telegram
- Create a bot via @BotFather on Telegram
- Get the bot token
- Add the bot to your group/channel and get the chat ID
| Field | Description |
|---|---|
| Bot Token | Telegram bot API token |
| Chat ID | Target chat/group/channel ID |
Webhook
Send raw HTTP POST requests to any endpoint. Useful for custom integrations, PagerDuty, Opsgenie, or your own automation.
| Field | Description |
|---|---|
| URL | Endpoint URL |
| Headers | Custom headers (e.g., Authorization: Bearer token) |
| Secret | Shared secret for HMAC signature verification |
The webhook payload is a JSON object:
{
"event": "deploy.success",
"service": "my-app",
"customer": "Acme Corp",
"timestamp": "2026-03-29T14:30:00Z",
"message": "Service my-app deployed successfully",
"details": {
"image": "myapp:latest",
"duration_seconds": 45
}
}
If a secret is configured, the panel includes an X-Signature-256 header with an HMAC-SHA256 signature of the payload body.
Notification Triggers
Configure which events trigger notifications:
| Event | Description | Default |
|---|---|---|
deploy.success | Service deployed successfully | On |
deploy.failure | Service deployment failed | On |
service.health.down | Service health check failing | On |
service.health.recovered | Service health recovered | On |
service.stopped | Service stopped (manual or crash) | Off |
service.started | Service started | Off |
backup.success | Backup completed successfully | Off |
backup.failure | Backup failed | On |
quota.warning | Customer approaching quota limit (80%) | On |
quota.exceeded | Customer exceeded quota | On |
ssl.expiring | SSL certificate expiring within 7 days | On |
Per-Channel Triggers
Each notification channel can subscribe to different triggers. For example:
- Slack: All deploy events and health alerts
- Email: Only failures and quota warnings
- Webhook: Everything (for logging/audit)
Notification Preferences
Admin Notifications
Admins receive notifications for all customers by default. Configure admin notification preferences in Settings > Notifications > Admin Preferences.
Customer Notifications
If customer portal access is enabled, customers can configure their own notification preferences for their services. Customer notification options are limited to events related to their own services.
Testing
Each configured channel has a Send Test button that sends a sample notification to verify the configuration is working correctly. Always test after configuring a new channel.