Uptime Kuma Telegram Alerts Without a Bot Token

Uptime Kuma Telegram Alerts Without a Bot Token

push.tg

Uptime Kuma has a built-in Telegram notification type, but it wants a BotFather bot token and a chat ID. Its generic Webhook type with a custom body does the same job with nothing but a URL. Checked against the Uptime Kuma source (webhook provider and template renderer) in October 2026.

Step 1: get your endpoint (30 seconds)

Open @trafficRobot in Telegram and press Start. You get an address like k3x9q@push.tg. Your endpoint is the part before the @: https://push.tg/k3x9q. Every example below uses k3x9q, so swap in your own key.

There's no bot to create, no chat_id to look up and no token to keep safe. Add @trafficRobot to a group and the group gets its own address, so the whole team sees the alerts.

Step 2: add a Webhook notification

Settings → Notifications → Setup Notification:

  • Notification Type: Webhook
  • Post URL: https://push.tg/k3x9q
  • Request Body: Custom Body
  • Body:
{% if monitorJSON %}{{ monitorJSON['name'] }}: {% endif %}{{ msg }}
  • Additional Headers: leave empty.

Turn on "Default enabled" and "Apply on all existing monitors" if you want every monitor covered, then click Test and Save.

What you'll receive

Uptime Kuma renders the body with Liquid templates. msg is its usual alert text (for example "[My API] [🔴 Down] timeout of 48000ms exceeded"), and monitorJSON holds the monitor. During a Test there's no monitor, which is why the if guard is there. Other variables you can use: {{ name }}, {{ status }} (🔴 Down / ✅ Up) and {{ hostnameOrURL }}. A shorter body:

{{ status }} {{ name }} ({{ hostnameOrURL }})

Tips

  • Create a separate address per environment (prod, staging, homelab) so you know where an alert came from before you open it.
  • Put a status-page team in one group: add @trafficRobot to the group and use the group's address.

Check that the message really arrived. push.tg answers HTTP 200 even when the key is wrong. The body says {"error":"no such user"} instead of {"ok":...}. So a green "test sent" in your tool doesn't prove delivery. Look at Telegram.

More copy-paste guides

Get your endpoint: t.me/trafficRobot?start=tg-uptime-kuma. It takes 30 seconds, it has no ads, and it has been running since 2016.

Report Page