Notifications
3DPrintForge supports notifications through a range of channels so you always know what is happening with your printers — whether you are home or on the go.
Go to: https://localhost:3443/#settings → the Notifications tab
Available channels
| Channel | Requires | Supports images |
|---|---|---|
| Telegram | Bot token + Chat ID | ✅ |
| Discord | Webhook URL | ✅ |
| SMTP server | ✅ | |
| Webhook | URL + optional key | ✅ (base64) |
| ntfy | ntfy server + topic | ❌ |
| Pushover | API token + User key | ✅ |
| SMS (Twilio) | Account SID + Auth token | ❌ |
| Browser push | No configuration needed | ❌ |
Setup per channel
Telegram
- Create a bot via @BotFather — send
/newbot - Copy the bot token (format:
123456789:ABC-def...) - Start a conversation with the bot and send
/start - Find your Chat ID: go to
https://api.telegram.org/bot<TOKEN>/getUpdates - In 3DPrintForge: paste token and Chat ID, click Test
You can use a Telegram group as the recipient. Chat IDs for groups start with -.
Discord
- Open the Discord server you want to notify
- Go to channel settings → Integrations → Webhooks
- Click New webhook, give it a name and select a channel
- Copy the webhook URL
- Paste the URL in 3DPrintForge and click Test
Email
- Fill in SMTP server, port (usually 587 for TLS)
- Username and password for the SMTP account
- From address and To address(es) (comma-separated for multiple)
- Enable TLS/STARTTLS for secure sending
- Click Test to send a test email
Use an App password for Gmail, not your regular password. Enable 2-factor authentication in your Google account first.
ntfy
- Create a topic on ntfy.sh or run your own ntfy server
- Fill in the server URL (e.g.
https://ntfy.sh) and topic name - Install the ntfy app on your phone and subscribe to the same topic
- Click Test
Pushover
- Create an account at pushover.net
- Create a new application — copy the API Token
- Find your User Key on the Pushover dashboard
- Fill in both in 3DPrintForge and click Test
Webhook (custom)
3DPrintForge sends an HTTP POST with a JSON payload:
{
"event": "print_complete",
"printer": "My X1C",
"printer_id": "abc123",
"timestamp": "2026-03-22T14:30:00Z",
"data": {
"file": "benchy.3mf",
"duration_minutes": 47,
"filament_used_g": 12.4
}
}
Add a Secret key to validate requests with an HMAC-SHA256 signature in the X-Bambu-Signature header.
Event filter
Choose which events should trigger notifications per channel:
| Event | Description |
|---|---|
| Print started | A new print begins |
| Print completed | Print finished (with image) |
| Print failed | Print cancelled with an error |
| Print paused | Manual or automatic pause |
| Print Guard alert | XCam or sensor triggered an action |
| Filament low | Spool nearly empty |
| AMS error | Clog, moist filament, etc. |
| Printer disconnected | MQTT connection lost |
| Queue job dispatched | Job dispatched from queue |
Check the events you want for each channel individually.
Quiet hours
Avoid notifications at night:
- Enable Quiet hours under notification settings
- Set From and To times (e.g. 23:00 → 07:00)
- Select the Timezone for the timer
- Critical notifications (Print Guard errors) can be overridden — check Always send critical
Browser push notifications
Receive notifications directly in the browser without an app:
- Go to Settings → Notifications → Browser Push
- Click Enable push notifications
- Accept the permission dialog from the browser
- Notifications work even when the dashboard is minimized (requires the tab to be open)
Install 3DPrintForge as a PWA for background push notifications without an open tab. See PWA.