Triage private Telegram DMs and route VIPs to Slack

By General Input

Every 15 minutes, sort your incoming Telegram messages into VIP, casual, and noise, and let only the important ones ping you in Slack.

Integrations

  • Telegram Secretary Bot
  • Slack

Type

Agentic Task

Categories

  • Personal Productivity
  • Operations

Build an agent workflow that triages my incoming private Telegram DMs and routes only the signal to Slack. Trigger: cron every 15 minutes.

On each run, use telegram-secretary Receive Updates to pull the latest business_message updates since the last confirmed update_id, then advance the offset so the same messages are not re-triaged. Group updates by sender or thread so a burst from one person becomes one item, not many.

For each new sender or thread, classify into one of three buckets: (1) VIP or work-critical, (2) casual chat, (3) spam or promo. Use the VIP contact list from config plus content signals like urgency, invoices, meeting requests, or explicit questions directed at me. Anything ambiguous defaults to VIP so I never miss something real.

For every VIP or work-critical item, post a compact card into the Slack channel from config using slack Send a Message. The card should include: sender name and handle, a short snippet of what they said (trim to about 240 chars), a one-line why it matters, and a suggested one-line reply I can copy. Use Slack mrkdwn formatting, not markdown.

For the casual or trivial acknowledgments bucket (things like thanks, ok, on my way, got it), silently call telegram-secretary Mark Messages as Read to clean up my Telegram unread count. Do not post these to Slack. For the spam or promo bucket, do nothing at all, do not mark them read and do not post them, so I can eyeball and delete on my own.

Never send a reply on Telegram as me. The suggested reply lives inside the Slack card only, so I can decide.

Config knobs I want exposed on the workflow: the Slack channel id for alerts, a VIP contact list (names, phone numbers, and Telegram handles or usernames), a keyword list that always counts as VIP (for example invoice, urgent, contract), and a quiet hours window (start hour, end hour, timezone) during which only truly urgent items post to Slack and everything else waits for the next non-quiet run.

Keep small state between runs so I do not get duplicate alerts: track the last confirmed update_id from telegram-secretary Receive Updates, and track which sender+message id pairs have already been posted to Slack this session.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teamsCatch feature flags that never got switched on in productionKajabi customer support console for member access fixes