Turn Telegram Into a Daily AI Briefing Bot

AgentRoost · May 25, 2026 · 7 min read · View as Markdown
AgentRoost — Telegram Bots

Turn Telegram Into a Daily AI Briefing Bot

Every morning you probably open five tabs: a news site, your task manager, your email subject lines, maybe a weather widget, and something for the markets or your industry. Then you context-switch until you figure out what actually matters today.

A Telegram daily briefing bot collapses that ritual into a single message that arrives before your coffee gets cold. This guide shows you exactly how to set one up using a Hermes agent on AgentRoost — a persistent, always-on AI assistant framework that handles scheduling, fetching, summarising, and sending without you managing a single server or cron job.


What "Daily Briefing" Actually Means Here

A daily briefing agent does four things on a schedule:

  1. Pulls sources — RSS feeds, a weather API, a Notion/Todoist task list, a GitHub notifications endpoint, or any public URL you point it at.
  2. Sends the raw content to an LLM — with a prompt you define: "Summarise these headlines in 5 bullets, skip anything about celebrity gossip."
  3. Formats the result — plain text, Markdown, or a structured digest with sections.
  4. Posts to your private Telegram bot — the one only you can see.

The key word is schedule. The agent wakes up at 07:00 every morning (or whenever you set it), does the work, and goes back to sleep. You never touch it again unless you want to tweak the prompt.


Designing Your Briefing

Before writing a single line of config, sketch out what you actually want each morning. A useful briefing has three to five sections, not fifteen. Too many sources produce noise, not clarity.

A realistic example for a solo founder or indie dev:

Section Source What the AI does
Top news HackerNews RSS / your niche's RSS Picks the 5 most relevant, one-line summaries
Weather wttr.in JSON API "Bring an umbrella" or "Clear, 22°C"
Open tasks Todoist REST API or a plain text file Lists tasks due today
GitHub GitHub notifications API Counts open PRs/issues needing your attention
One insight LLM-only, no source A short reflection or "word of the day" — optional, but surprisingly useful

You don't have to implement all five on day one. Start with two sections and expand.


How Hermes Handles This

Hermes is AgentRoost's persistent AI assistant framework. Unlike a stateless webhook or a one-shot script, Hermes:

  • Runs continuously on dedicated hardware — it doesn't need a cron job on your machine or a cloud function with cold-start delays.
  • Remembers context across sessions — if you told it yesterday to skip weekend sports results, it still knows that today.
  • Handles scheduled tasks natively — you define the schedule in natural language or a cron expression; Hermes takes care of the timing.
  • Talks to Telegram through an auto-provisioned bot — you don't set up a BotFather flow manually. AgentRoost provisions the bot, you /start it once, and it's yours.
  • AI credits are included — every LLM call the agent makes (summarising, formatting, deciding what's relevant) comes out of your plan's included credits. No OpenAI API key, no Anthropic billing account, no token math.

That last point is worth sitting with. Every other way to run this — n8n Cloud, a VPS with LangChain, a Railway.app deployment — requires you to wire in your own API key and monitor your own bill. On AgentRoost, the AI just works.


Building the Briefing Step by Step

Step 1: Define your sources as fetch tasks

In your Hermes agent configuration, each source becomes a fetch task — a URL with optional headers and a format hint:

sources:
  - name: hackernews_rss
    url: "https://hnrss.org/frontpage?points=100"
    format: rss
  - name: weather
    url: "https://wttr.in/Istanbul?format=j1"
    format: json
    jq: ".current_condition[0].weatherDesc[0].value + \", \" + .current_condition[0].temp_C + \"°C\""
  - name: todoist_today
    url: "https://api.todoist.com/rest/v2/tasks?filter=today"
    headers:
      Authorization: "Bearer {{secret:TODOIST_TOKEN}}"
    format: json

Note on secrets: API keys for your own services (Todoist, GitHub, etc.) are stored as encrypted secrets on your workspace — not hard-coded. The AI credits for LLM calls are handled by AgentRoost and never need a secret.

Step 2: Write the digest prompt

The prompt tells the LLM what to do with the fetched data. Keep it specific:

You are a concise morning briefing assistant.

Given the data below, produce a Telegram message with these sections:
1. **Top 5 from HN** — one-line per story, link in parens
2. **Weather** — one sentence
3. **Today's tasks** — bullet list, max 5 items
4. **GitHub** — "N PRs and M issues await you" or "All clear"

Omit any section if its data is empty. Keep the whole message under 300 words.
Tone: direct, no filler phrases.

Data:
{{sources}}

The {{sources}} placeholder is filled by Hermes at runtime with the fetched content.

Step 3: Set the schedule

schedule: "0 7 * * *"   # 07:00 every day, server time (UTC)

If you want weekdays only:

schedule: "0 7 * * 1-5"

Hermes respects this schedule on always-on hardware — no sleep, no scale-to-zero, no "warming up" delay at 7:01 when you're already on your second coffee.

Step 4: Connect Telegram

When you create the Hermes agent on AgentRoost, a private Telegram bot is provisioned for it automatically. You open the AgentRoost manager bot, /start your agent's bot, and that's it. The daily briefing will arrive there at the scheduled time.


Running This on AgentRoost

Here is the exact path to get from zero to a working briefing bot:

  1. Sign up at agentroost.app — email/password, Google, Microsoft, or Discord.
  2. Create a new workspace and pick the Hermes framework.
  3. Name your agent (e.g., "morning-briefing") — your manager bot link appears immediately.
  4. Open the manager bot in Telegram and send /start to your agent bot. The channel is live.
  5. Configure your sources, prompt, and schedule in your agent settings and save.
  6. Test once manually — trigger the briefing now to verify the output looks right, then let the schedule take over.

From sign-up to a working briefing: roughly two minutes of setup, a few minutes of prompt tuning.

Plans start at $19.99/mo all-in — server, always-on uptime, and AI credits for the LLM summarisation, no extra bills anywhere. There's a 14-day money-back guarantee, and you can cancel anytime.

See what's included in each plan →


Tips and Pitfalls

Keep the prompt tight. If you give the LLM too much data and no word limit, it fills the message. A 300-word cap in the prompt produces a scannable brief, not a wall of text.

Use jq filters for JSON sources. Passing a 40 KB weather API response raw to the LLM wastes credits and usually confuses it. A small jq selector extracts only what you need.

Time zones. The schedule runs on UTC server time. If you're in Istanbul (UTC+3), "0 7 * * *" sends at 10:00 your time. Use "0 4 * * *" for 07:00 local.

Don't over-source on day one. Two sources (HN + tasks) running reliably beats five sources half-working. Add sections incrementally once the core loop is solid.

Hermes remembers. If you send your agent a Telegram message like "skip the weather section for now," it can incorporate that preference going forward. This is what makes Hermes different from a plain webhook — it's a persistent assistant, not a one-shot script.


Set up your Hermes agent →

Frequently asked questions

Do I need an OpenAI or Anthropic API key for the AI summarisation?

No. AgentRoost includes AI/LLM credits in every plan. The Hermes agent calls the LLM to summarise your sources without you providing or paying for any external API key. You choose from a wide range of models and switch anytime — all covered by your subscription.

What happens if a source URL goes down or returns an error?

Hermes handles fetch errors gracefully — if a source returns a non-200 response, that section is omitted from the briefing and the rest still sends. You can also set a fallback message per source in your config (e.g., on_error: "GitHub unavailable today").

Can I get the briefing at different times on weekdays vs. weekends?

Yes. You can define multiple scheduled tasks within one Hermes agent. For example: "0 7 * * 1-5" for a full weekday briefing and "0 9 * * 0,6" for a shorter weekend version with a different prompt.

How do I add a source that requires authentication, like Todoist or GitHub?

Store the API token as an encrypted secret in your AgentRoost workspace (Settings → Secrets), then reference it in your source config as {{secret:YOUR_TOKEN_NAME}}. The value is never exposed in logs or the editor UI.

Can I cancel if it doesn't work for me?

Yes — there's a 14-day money-back guarantee, and you can cancel your subscription at any time from the billing dashboard. No contracts, no annual lock-in.