Skip to content

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.

  • A workspace on InfraInbox, and access to your Proxmox VE or PBS web UI.
  • A Telegram account.

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.

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.

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.

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.

Back in InfraInbox, add a Telegram destination:

  1. Message @BotFather on Telegram, send /newbot, and copy the token it gives you.
  2. Paste that token into InfraInbox’s Your bot field.
  3. Click Find my chats, and pick the chat you want alerts in (or paste a chat ID by hand if you already have one).
  4. Leave Enabled checked, then click Save destination.

Click Send test — you should get a Telegram message immediately.

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.)

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.
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.