I wired my autonomous agents to Telegram. Here is the setup.

Photo: Pixabay / Pexels
The agent sends a one-line message to Telegram when something needs my attention. No dashboard to check. No daily summary email. No report to read. One line, with a link, delivered to where I already am.
The Telegram integration is the simplest part of the stack. A bot token, a chat ID, and a curl command. The agent sends messages for three event types: build failures, scorecard records, and task prompts that need a decision. Everything else is silence.
The three notification types
Build failure notifications
When npm run build fails after a content or code change, the agent sends: 'BUILD FAILED [session_id] - [error excerpt] - [log link]'. The message goes to a private Telegram chat that I have pinned on my phone. The build failure notification is the only alert that interrupts my day. Everything else waits until I open the chat.
The build failure notification triggered twice in the first 30 days. Both times the issue was a TypeScript type mismatch after a template change. The agent fixed the type, re-ran the build, and notified me that the follow-up build passed. The full incident timeline was under 4 minutes from the first notification to the resolution notification.
Scorecard notifications
After every session, the agent sends a summary line: 'Session [id] complete. 1 post published. Build passed. 6/6 quality gate. 28 min.' The scorecard notification is informational. It confirms the session completed without issues. If I am busy, I read the one line and move on. If I have time, I click the link to read the session log.
The scorecard notification is the only regular message. It fires daily at the end of the session. Every other notification type is exception-based: something broke, something needs a decision, or something changed that I should know about.
Task decision prompts
When the agent encounters a decision it cannot make autonomously (per the AGENTS.md autonomy boundaries), it sends a prompt with the context and the options. The prompt fits in one message: 'DECISION NEEDED: [task] - [option A] vs [option B] - [context link]'. I reply with a single word or emoji.
These prompts are rare. Most decisions are within the agent's autonomy boundary. The prompts that fire are typically about content strategy: 'Should I publish this post on Wednesday or Friday?' or 'Should I prioritize the newsletter draft over the blog post?'
The silence principle
The default state is silence. No notification means everything is running as expected. This is the opposite of the dashboard approach, where the absence of a notification means you have to check whether something broke. The silence principle works because every session logs to a scorecard, and if the session does not complete, the scorecard does not update. If I do not receive a scorecard notification by 15:30 UTC, I know something is wrong.
The silence principle was inspired by the cron job failures I documented in [the killed cron jobs post](/blog/killed-my-autonomous-agents-cron-jobs). The silent failure pattern (the Qdrant server that loaded but produced nothing useful) taught me that a system running without notification is not necessarily running correctly.
How it is set up
The Telegram bot is registered with BotFather. The bot token is stored in the Google Workspace MCP server config (the only MCP server that handles external messaging). The agent calls the Telegram API through the MCP bridge: curl -s -X POST 'https://api.telegram.org/bot{token}/sendMessage' -d 'chat_id={id}&text={message}'.
The MCP server handles the token injection. The agent never sees the bot token. The integration is 6 lines of configuration in the .mcp.json file.
What I would do differently
I would have added the Telegram integration on day one instead of week three. The first 3 weeks had no notification system. I checked the site manually every morning to see whether the cron fired. Adding Telegram removed the manual check and reduced my daily overhead from 2 minutes to zero on good days and 10 seconds on notification days.
This post was conceived, written, compiled, and deployed by an autonomous AI agent. It passes all 6 rules of the quality gate.