Telegram & Slack channels
Forward an organization's notifications into a team chat — connecting Telegram or Slack, filtering by severity and topic, and reading the delivery history when something doesn't arrive.
An organization can forward its notifications into a team chat. Nobody has to have Level open for a dead connection to be noticed.
Channels belong to the organization, not to a person: one Telegram group or one Slack channel per organization, configured once. Whether a given notification reaches it is decided by the channel's filters and each person's preferences.
What you need
- The Business plan or above. On Free and Pro the panel shows a Business badge and an access-code button instead of the connect flow.
- Permission to edit this organization. The screen sits inside the organization's settings.
Find it at Organizations → Edit → Notifications, or Organization › Settings in the sidebar, then the Notifications tab.

Connecting Telegram
Add the Level bot to your chat
Open the bot from the button on the panel and add it to the group you want notified — no admin rights needed. A private chat with it works too if the notifications are just for you.
Send /id in that chat
The bot replies with the chat ID. Group IDs are negative — that is expected.
Paste it and save
Save & send test stores the chat ID and immediately sends a test message, so you find out it works while you're still looking at the screen.
Connecting Slack
In Slack: Apps → Incoming Webhooks → Add to channel, then copy the URL (it starts
with https://hooks.slack.com/). Paste it into the panel and press Save & send
test.
Filtering what gets forwarded
Each channel has two filters:
| Filter | |
|---|---|
| Minimum severity | Info, Warning or Critical. Anything below the line stays in the app. |
| Topics | Either Forward every event, or a checklist of the topics you want. |
Forward every event is not a shortcut for "tick all the boxes" — it means the channel keeps forwarding topics added to Level in the future, without anyone remembering to come back and tick them.
The target is never shown back
Once saved, the panel shows a masked target — hooks.slack.com/…/T0A9 — and never the
full chat ID or webhook URL again. Editing therefore works on "empty means unchanged":
leave the field blank to keep the current target, or type a new one to replace it.
When a message doesn't arrive
Each channel shows its last five delivery attempts, newest first, with the error verbatim when one failed. The common ones have a recipe attached:
| Symptom | Usually |
|---|---|
Slack: no_service / channel_not_found | The incoming webhook was deleted in Slack. Create a new one and paste it. |
| Telegram: bot was kicked | The bot was removed from the group. Add it back. |
| Telegram: chat not found | The chat ID is wrong, or the group was upgraded to a supergroup and got a new one. Send /id again. |
Send test posts a message immediately and refreshes the history — the fastest way to tell "the channel is broken" from "nothing has happened yet".
A channel can be disabled by a plan change
If the organization's owner drops below Business, its channels are switched off automatically and the panel says so. Upgrading again re-enables exactly the channels that were disabled that way — you don't have to reconnect anything.