Telegram channel watchlist with smart Slack alerts

By General Input

Every 30 minutes, scan your Telegram channels for posts that actually match what you care about and forward only the signal to Slack.

Integrations

  • Telegram
  • Slack

Type

Agentic Task

Categories

  • Operations
  • Marketing

Build an agent workflow that watches a configured set of Telegram channels and supergroups on a recurring schedule and forwards only contextually relevant posts to a Slack channel as alerts.

Trigger: cron, every 30 minutes.

Inputs the user configures upfront:

1. watchedChannels — a list of Telegram channel or supergroup identifiers the user is already a member of (public @usernames or numeric channel IDs). The user picks these once during setup; do not discover channels dynamically.

2. topics — a paragraph of plain English describing what counts as relevant. Example: "flag actual product launches from competitors X, Y, Z that include funding amounts or pricing; flag new token listings on Coinbase or Binance; ignore casual mentions of the word launch, ignore memes, ignore price chatter without news." The agent must reason contextually against this paragraph, not do substring matching.

3. slackChannel — the Slack channel ID or name where alerts should be posted.

On every run:

Step 1. For each channel in watchedChannels, use the Telegram integration's Get Chat History action to fetch messages newer than the last successful run. Track a per-channel cursor (the highest message ID processed last run) so old messages are never re-evaluated. On first run for a newly added channel, start from now, not from history.

Step 2. For each fetched message, the agent decides whether it genuinely matches the topics paragraph. Use contextual reasoning. A passing comment that contains the word "launch" should be skipped; an actual launch announcement with funding details, product name, or pricing should be flagged. Skip empty media, stickers, polls, and reposts of content already flagged this run.

Step 3. For each post that clears the bar, send a Slack message using the Slack Bot integration's Send a Message action to slackChannel. The message body should contain: a one-line summary of the post (what happened, who it concerns), the source channel name, and a Telegram deeplink back to the original message (https://t.me/<username>/<message_id> for public channels, https://t.me/c/<internal_id>/<message_id> for private supergroups). Keep formatting compact, one alert per Slack message.

Step 4. If no messages cleared the bar this run, post nothing. Silence on a quiet half hour is correct behavior, not a bug.

Use the Slack Bot integration (bot token) for posting, not the user-token Slack integration, because these are automated alerts and should appear as the bot, not as the authorizing user.

Use Telegram's Get Chat History per configured channel rather than Search Messages Globally, because the channel set is fixed upfront and we want full coverage of those channels rather than keyword pre-filtering across the user's entire Telegram account.

Optimize for precision over recall. False positives are more costly than missed posts, because the value of this workflow is keeping the Slack channel readable. When in doubt, skip.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them