---
title: "Turn Telegram Into a Daily AI Briefing Bot"
description: "Set up a scheduled AI agent that delivers a daily briefing to your Telegram every morning — no server, no cron jobs, no API keys. Hermes does it all."
canonical: https://agentroost.app/en/blog/telegram-daily-briefing-ai-agent
date: 2026-05-25T20:00:00Z
---

[Canonical URL](https://agentroost.app/en/blog/telegram-daily-briefing-ai-agent)

# 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:

```yaml
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

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

If you want weekdays only:

```yaml
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](https://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 →](/en/pricing)

---

## 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 →](/en/agents/hermes)
