Proxmox to Telegram in five minutes
You’ll get: every failed (and recovered) Proxmox VE or Proxmox Backup Server job showing up as a Telegram message, with no routing rule to write.
Before you start
Section titled “Before you start”- A workspace on InfraInbox, and access to your Proxmox VE or PBS web UI.
- A Telegram account.
1. Add the Proxmox source
Section titled “1. Add the Proxmox source”In InfraInbox, click Add source, choose Proxmox VE or Proxmox Backup Server (PBS), give it a name (the cluster, node or Backup Server it’s for), then click Create source.
The wizard’s next screen, Paste this into Proxmox, shows the exact endpoint name, method, URL, headers and body InfraInbox generated for this source, plus a one-time secret. Keep this screen open.
2. Paste it into Proxmox
Section titled “2. Paste it into Proxmox”In Proxmox:
- PVE: Datacenter → Notifications → Notification Targets → add a Webhook target.
- PBS: Configuration → Notifications → add a Webhook target.
Copy each field from InfraInbox’s screen into the matching Proxmox field, exactly as shown — it’s Proxmox’s own template syntax, so don’t retype it by hand. Paste the secret into Proxmox’s own Secret field under the name InfraInbox gives you.
Click Test in Proxmox. It should say the test was received, and the source in InfraInbox turns Reachable.
3. Add a matcher (PVE only)
Section titled “3. Add a matcher (PVE only)”Still in Datacenter → Notifications, add a matcher named infrainbox, targeting the webhook target you just created, with no match rules — leaving it empty makes it match everything. Don’t filter out info-level notifications: a successful run is what auto-resolves an incident that a previous failure opened.
PBS has no separate matcher step; the webhook target itself receives everything.
4. Point your backup jobs at it
Section titled “4. Point your backup jobs at it”For every backup job (Datacenter → Backup), switch its notification mode to the notification system — the Notifications tab on PVE 9.x, General on 8.x. A job still set to email root directly never reaches InfraInbox.
5. Add the Telegram destination
Section titled “5. Add the Telegram destination”Back in InfraInbox, add a Telegram destination:
- Message @BotFather on Telegram, send
/newbot, and copy the token it gives you. - Paste that token into InfraInbox’s Your bot field.
- Click Find my chats, and pick the chat you want alerts in (or paste a chat ID by hand if you already have one).
- Leave Enabled checked, then click Save destination.
Click Send test — you should get a Telegram message immediately.
6. Add Telegram to your default route
Section titled “6. Add Telegram to your default route”A new destination isn’t notified of anything until something routes to it — InfraInbox’s default route only ever pushes to the built-in InfraInbox Push unless you add more. No rule to write, though: open Notifications → Routing → Default route, expand CRITICAL, and in Who is told add your Telegram destination; do the same for ERROR. Save.
(If you’d rather keep the default route untouched and only send this Proxmox source to Telegram, see Send one app’s alerts to its own channel instead — that uses a routing rule.)
7. Check it works end to end
Section titled “7. Check it works end to end”Run (or wait for) a real backup job:
- The source’s status turns Receiving events.
- The job shows up as an incident in the inbox.
- You get a Telegram message for it — and, if the job was previously failing, another one when it recovers, since InfraInbox auto-resolves the incident.
If it doesn’t work
Section titled “If it doesn’t work”| Symptom in Proxmox’s test | Likely cause |
|---|---|
| Certificate/unknown issuer error | Proxmox doesn’t trust your certificate yet — see TLS and reverse proxies if you’re using a private CA. |
| HTTP 401 | The Authorization header wasn’t pasted exactly, or the secret was rotated since. |
| Timeout | An egress firewall, proxy or DNS issue between Proxmox and InfraInbox. |
- Add a heartbeat per node so a Proxmox host that goes silent altogether — not just a failed job — also raises an incident.
- Route just this source to a different channel once you have more than one.