These Telegram bots let a script, a server or another service send you a message through an HTTP request or a webhook, without running a bot of your own.
| # | Bot | Price | Languages | Inline | Groups | Score |
|---|---|---|---|---|---|---|
| 1 | @HealthchecksBot | Freemium · Hobbyist plan: 20 jobs and 100 log entries per job, Telegram alerts included | EN | no | yes | 79 |
| 2 | @beep_notifine_bot | Free | EN | no | yes | 72 |
We looked for bots that accept a request from your code and deliver it to a chat, then checked each against its source code or the vendor's documentation and its t.me page. Telepush, the best-known relay of this kind, was removed: its hosted service now says it is discontinued and its repository is archived. Zapier, Make and n8n connect to Telegram through a bot you create yourself, so they have no bot to list. We noted how each remaining bot is connected, what a request can contain, what is free and who can post to your chat.
The most reliable way to get messages from code is the Bot API itself: create a bot in BotFather, send it /start, and call sendMessage with the token and your chat ID. A bot cannot write to you first, so the /start step matters. A relay saves you from keeping a bot token in every script: Beep Beep (@beep_notifine_bot) gives a chat its own webhook URL and posts the text you send to it. The trade-off is trust, because your messages pass through someone else's server.
Sometimes the useful message is the one that never comes. Healthchecks.io (@HealthchecksBot) gives each job a ping URL: call it on success, append /fail on error, and a missing ping becomes a Telegram alert after the grace time. That covers backups and cron jobs better than a plain relay, which only speaks when your script is still able to run.
IFTTT has its own verified bot (@IFTTT) and can post to Telegram when a webhook fires, but its Webhooks service is part of the Pro plan. Zapier, Make and n8n also work with Telegram, through a bot you create in BotFather, so you still manage a token. Whatever you pick, treat webhook URLs and tokens as secrets: anyone who has one can post to your chat.
Create a bot in @BotFather, press Start in it, then call sendMessage with the bot token and your chat_id: a bot cannot message you first. To keep a bot token out of your scripts, Beep Beep (@beep_notifine_bot) gives your chat a webhook URL, and the text of any POST request to it arrives as a message.
Call getWebhookInfo: it shows the last delivery error and how many updates are waiting. Usual causes are a URL without HTTPS or a certificate Telegram rejects. While a webhook is set, getUpdates does not work: the two modes exclude each other.
Pass secret_token when you call setWebhook: Telegram then sends it in the X-Telegram-Bot-Api-Secret-Token header of every request. Reject anything where the header is missing or wrong, because the webhook URL alone is not a secret.