Sparround

Telegram, Slack and notifications

A notification is the last step of almost every workflow — someone has to see the result. The Telegram and Slack nodes do that, and both can work two-way: not just sending a message but receiving one and replying.

The Slack node offers operations at the channel, message, file, reaction, user and user-group level. The Telegram node works with chat, message, file and callback operations — the last for handling button presses.

Standing up a Telegram bot is the fastest route in practice: you get a token from BotFather, create a credential in n8n and have a working bot in minutes. Slack requires creating an app and granting the right scopes — a bit longer, but the corporate standard.

ScenarioHow it is built
Critical failure alertError Trigger → Edit Fields (compose the message) → Slack/Telegram
Daily digestSchedule → data sources → Aggregate → one message
An operation needing approvalTrigger → a Slack/Telegram "send and wait" step → IF on the answer → the operation
A chat botTelegram Trigger → AI Agent (with Memory) → Telegram (Send Message)
Creating a task from a channelSlack Trigger (a reaction) → Jira/Notion → Slack (reply in thread)

A notification's quality is in its content. "An error occurred" is useless. A good alert carries four elements:

  • What happened — which workflow, which node
  • How serious it is — one record failed, or the whole process stopped
  • Context — which record, which ID, the error message
  • The next step — include the execution link so someone can look with one click

Watch for alert fatigue. Messaging on every small event ends with everyone muting the channel — and then the genuinely important alert is lost too. A practical rule: every notification should demand an action. If it demands none, it is a log entry, not a message.

Some Slack node operations are sensitive to the node version and token type. Message search, for example, requires a user token and does not work with a bot token. Checking the node documentation's required-scopes section first saves time in such cases.

📚 Sources and documentation