Alerts & Notifications
O.D.I.N. sends notifications when important events occur on your print farm. Configure one or more alert channels, then select which events trigger notifications.
Alert Channels
| Channel | Configuration |
|---|---|
| Email (SMTP) | SMTP server settings (see below) |
| Discord | Webhook URL from a Discord channel |
| Slack | Webhook URL from a Slack app |
| ntfy | Topic URL (e.g., https://ntfy.sh/my-odin-farm) |
| Telegram | Bot token + chat ID |
| Push Notifications | Browser push via the web UI (no external config needed) |
Configure channels under Settings > Notifications.
You can enable multiple channels simultaneously. Each channel can be configured independently at the system level and per-organization.
SMTP Configuration
For email alerts, configure your SMTP server:
| Field | Example |
|---|---|
| SMTP Host | smtp.gmail.com |
| SMTP Port | 587 |
| Username | alerts@yourdomain.com |
| Password | App-specific password |
| From Address | odin@yourdomain.com |
| Encryption | STARTTLS or SSL/TLS |
For Gmail, use an App Password rather than your account password. Standard credentials will be rejected if 2FA is enabled.
Discord Webhook
- In your Discord server, go to Channel Settings > Integrations > Webhooks
- Create a new webhook and copy the URL
- Paste the URL in Settings > Notifications > Discord
Slack Webhook
- Create a Slack Incoming Webhook
- Select the target channel
- Paste the webhook URL in Settings > Notifications > Slack
ntfy
Enter your ntfy topic URL. Works with the public ntfy.sh service or a self-hosted ntfy instance.
https://ntfy.sh/my-odin-farm
Telegram
- Create a bot via @BotFather and copy the bot token
- Get your chat ID (send a message to the bot, then check
https://api.telegram.org/bot<token>/getUpdates) - Enter both values in Settings > Notifications > Telegram
Alert Triggers
Select which events send notifications:
| Event | Description |
|---|---|
| Print Complete | A print job finished successfully |
| Print Failed | A print job failed or was aborted by the printer |
| Printer Offline | A previously online printer stopped responding |
| Printer Error / HMS | Hardware error reported by the printer (Bambu HMS codes, Klipper errors) |
| AI Detection | Vigil AI detected a print issue (spaghetti, detachment, etc.) |
Each trigger can be enabled or disabled per channel. For example, you might send all events to Discord but only failures and AI detections to email.
Quiet Hours
Suppress notifications during configured time windows. Useful for overnight prints where you don't want alerts at 3 AM.
Configure under Settings > Notifications > Quiet Hours:
| Field | Description |
|---|---|
| Start Time | When quiet hours begin (e.g., 22:00) |
| End Time | When quiet hours end (e.g., 07:00) |
| Days | Which days of the week quiet hours are active |
Quiet hours can be configured at two levels:
- System-level — Applies to all notifications across the instance.
- Per-organization — Each organization can define its own quiet hours, overriding the system default for users in that org.
Events are not lost during quiet hours — they are queued and included in a digest.
Digest
When quiet hours end, O.D.I.N. sends a digest summary of all suppressed events. The digest includes:
- Total events by type (completed, failed, errors)
- Printers that went offline during the quiet period
- AI detections that occurred
The digest is delivered to all configured and enabled alert channels.
If a print failure or AI detection triggers an auto-pause, the pause action still occurs immediately during quiet hours. Only the notification is suppressed — safety actions are never delayed.