Alerts — Telegram

Send a message to a Telegram chat the moment a log entry matches your conditions.

What are BunnyLogs alerts?

An alert watches your incoming log stream and fires a notification whenever an entry matches all of its conditions. Each alert can target one or more delivery channels — Telegram, email, Slack, or a custom webhook. Alerts evaluate every log entry as it arrives, so the notification reaches you in seconds, not minutes.

Telegram is well suited as an alert channel because messages arrive instantly on all your devices, you can use personal direct messages during development and a shared team group for production, and the BunnyLogs bot requires no token management on your side — the connection is established through a one-time authorisation flow in Settings.

Match conditions
ConditionHow it matches
LogspaceRestrict to a specific logspace, or leave blank to match entries from any logspace you own.
LevelExact match — e.g. ERROR fires only on error-level entries; WARNING fires only on warnings.
Program containsCase-insensitive substring match on the program field. Enter payments to match any program name containing that word.
Message containsCase-insensitive substring match on the message field. Useful for catching specific error strings or keywords.

All specified conditions must match simultaneously — they are combined with AND logic. An alert with level ERROR and message contains database only fires when both are true at the same time.

Setup
  1. Connect Telegram in Settings — click Connect Telegram and follow the link to the BunnyLogs bot. Send the bot the one-time code shown on screen to authorise the connection. This links your Telegram account to your BunnyLogs account.
  2. Make the bot reachable — for a personal DM the bot can message you immediately after you send it any message. For a group chat, add the BunnyLogs bot to the group and send one message so Telegram grants the bot write permission.
  3. Create the alert — go to Alerts, click New Alert, fill in your match conditions, and select Telegram as the channel type.
  4. Pick a chat — after connecting, the dropdown lists every conversation where the bot is active, including your personal chat and any groups the bot has joined.
  5. Test it — click the Test button to fire a sample notification immediately. You should see a message in Telegram within a few seconds.
What the Telegram message looks like

BunnyLogs sends a plain-text message in this format:

🔴 ERROR · payments
Stripe webhook signature validation failed
— My Production App · 14:32:07

The level emoji helps you scan messages at a glance: 🔴 ERROR, 🟡 WARNING, 🔵 INFO, ⚫ DEBUG. The program name appears after the level, followed by the full message text, then the logspace name and the timestamp of the original log entry.

Example use cases
  • Send a personal DM to yourself for every ERROR entry across all logspaces — a lightweight on-call pager.
  • Alert a team group when message contains database, so connection failures get eyes on them immediately.
  • Notify an ops channel when program contains cron and level=WARNING — catches silent cron failures without polling.
  • Use a separate group per environment: #alerts-staging for warnings, #alerts-production for errors only.
  • Monitor a third-party integration by forwarding its webhook payloads to BunnyLogs, then alerting on specific keywords in the messages.
Using multiple channels on one alert

A single alert can deliver to more than one channel. For example, you might send all ERROR entries to both a Telegram group and a Slack channel, so different team members catch them through whichever tool they use. Add each channel as a separate delivery target when creating or editing the alert.

Delivery guarantees and rate limiting

BunnyLogs attempts to deliver each alert notification once. Failures (network errors, Telegram API errors) are logged in the Alert Log with the full error response, so you can investigate and re-test if needed.

The Telegram Bot API imposes a rate limit of roughly 30 messages per second to a single chat and 1 message per second to a group. For high-frequency log streams, consider adding a Message contains condition to filter to the specific events you care about, rather than alerting on every entry.

Troubleshooting
No chats appear in the dropdown
The dropdown is empty until the BunnyLogs bot has received at least one message in that chat. Open Telegram, find the BunnyLogs bot (or the group where you added it), send any message, then reload the alert form.
The Test button fires but I don't receive a message
Check the Alert Log for a delivery failure entry. Common causes: the bot was removed from the group, Telegram blocked the message due to rate limiting, or the chat ID changed because you left and re-joined the group. Reconnect Telegram in Settings to refresh the chat list.
I'm receiving too many notifications
Narrow the match conditions — add a Level filter to catch only ERROR entries, or use Message contains to match only a specific string. You can also create multiple alerts with different conditions targeting different Telegram chats.
Alerts fire for my logspace but not for entries from another integration
Check the Logspace condition on your alert. If it is set to a specific logspace, entries from other logspaces will not match. Set it to blank to match all logspaces, or create a separate alert for each logspace.
Notes
  • Both personal direct messages and group chats are supported.
  • The bot must have sent at least one message in a group before it can post there — this is a Telegram requirement, not a BunnyLogs restriction.
  • Any 2xx response from the Telegram Bot API is treated as successful delivery. Non-2xx responses are logged in the Alert Log.
  • Reconnecting Telegram in Settings refreshes the chat list without affecting existing alerts.