Tallwatch sends a plain-text message to Telegram using the Bot API. Telegram has no one-click webhook, so setup takes about five minutes: you create a bot, copy its token, and tell Tallwatch which chat to post to. You’ll need a Telegram account and the chat (group, channel, or DM) that should receive alerts.Documentation Index
Fetch the complete documentation index at: https://docs.tallwatch.com/llms.txt
Use this file to discover all available pages before exploring further.
1. Create a bot with BotFather
Open BotFather
Search for
@BotFather in Telegram and start a chat. It’s the official bot for managing bots.Create the bot
Send
/newbot and follow the prompts. Pick a name (Tallwatch alerts) and a username ending in bot (tallwatch_alerts_bot). The username has to be unique across Telegram.2. Add the bot to the chat and find the chat ID
Telegram doesn’t show chat IDs in its client, so you add the bot first, then read the ID from the API.Add the bot
In a group, open the group name and Add member, search for your bot’s username, and add it. For a channel, add the bot as an admin so it can post. For a DM, open the bot and press Start.
Post a message
Send any message in the chat. This guarantees the bot’s update log has a recent entry to read.
3. Add the channel in Tallwatch
What the alert looks like
A plain-text message:- The incident status and monitor name
- The failing regions on their own line
- The check error class and duration
- A clickable link back to the incident
Troubleshooting
`bot was kicked from the group`
`bot was kicked from the group`
Someone removed the bot. Re-add it (as admin for a channel), post a message so
getUpdates works again, and retry the test.`chat not found`
`chat not found`
The chat ID is wrong or the bot was never added. Post a fresh message in the target chat, re-run
getUpdates, and copy the correct ID.`Unauthorized` from the Bot API
`Unauthorized` from the Bot API
The bot doesn't see new messages in `getUpdates`
The bot doesn't see new messages in `getUpdates`
Telegram keeps only the last 24 hours of updates, so old messages expire. Post a fresh one and retry.Also, another long-poll consumer (a second bot integration) may be reading and acknowledging updates before you. If
getUpdates keeps coming back empty, that’s why. Add ?offset=-1 to read just the latest update without acknowledging it.Reference
| Property | Value |
|---|---|
| Channel kind | telegram |
| Required config | bot_token, chat_id |
| Delivery | Immediate, no proactive rate limit; Telegram enforces its own |
| Retry | Up to 3 inline attempts on 5xx, 429, network, or timeout, then failed |
| Outbound to | api.telegram.org |