Tutorial: Build a Daily Briefing Bot
In this tutorial, you'll build a personal briefing bot that wakes up every morning, researches topics you care about, summarizes the findings, and delivers a concise briefing straight to your Telegram or Discord.
By the end, you'll have a fully automated workflow combining web search, cron scheduling, delegation, and messaging delivery — no code required.
What We're Building
Here's the flow:
- 8:00 AM — The cron scheduler triggers your job
- Hermes spins up a fresh agent session with your prompt
- Web search pulls the latest news on your topics
- Summarization distills it into a clean briefing format
- Delivery sends the briefing to your Telegram or Discord
The whole thing runs hands-free. You just read your briefing with your morning coffee.
Prerequisites
Before starting, make sure you have:
- Hermes Agent installed — see the Installation guide
- Gateway running — the gateway daemon handles cron execution:
hermes gateway install # Install as a user service
sudo hermes gateway install --system # Linux servers: boot-time system service
# or
hermes gateway # Run in foreground - Firecrawl API key — set
FIRECRAWL_API_KEYin your environment for web search - Messaging configured (optional but recommended) — Telegram or Discord set up with a home channel
You can still follow this tutorial using deliver: "local". Briefings will be saved to ~/.hermes/cron/output/ and you can read them anytime.
Step 1: Test the Workflow Manually
Before automating anything, let's make sure the briefing works. Start a chat session:
hermes
Then enter this prompt:
Search for the latest news about AI agents and open source LLMs.
Summarize the top 3 stories in a concise briefing format with links.
Hermes will search the web, read through results, and produce something like:
☀️ Your AI Briefing — March 8, 2026
1. Qwen 3 Released with 235B Parameters
Alibaba's latest open-weight model matches GPT-4.5 on several
benchmarks while remaining fully open source.
→ https://qwenlm.github.io/blog/qwen3/
2. LangChain Launches Agent Protocol Standard
A new open standard for agent-to-agent communication gains
adoption from 15 major frameworks in its first week.
→ https://blog.langchain.dev/agent-protocol/
3. EU AI Act Enforcement Begins for General-Purpose Models
The first compliance deadlines hit, with open source models
receiving exemptions under the 10M parameter threshold.
→ https://artificialintelligenceact.eu/updates/
---
3 stories • Sources searched: 8 • Generated by Hermes Agent
If this works, you're ready to automate it.
Try different prompts until you get output you love. Add instructions like "use emoji headers" or "keep each summary under 2 sentences." Whatever you settle on goes into the cron job.
Step 2: Create the Cron Job
Now let's schedule this to run automatically every morning. You can do this in two ways.
Option A: Natural Language (in chat)
Just tell Hermes what you want:
Every morning at 8am, search the web for the latest news about AI agents
and open source LLMs. Summarize the top 3 stories in a concise briefing
with links. Use a friendly, professional tone. Deliver to telegram.
Hermes will create the cron job for you using the unified cronjob tool.
Option B: CLI Slash Command
Use the /cron command for more control:
/cron add "0 8 * * *" "Search the web for the latest news about AI agents and open source LLMs. Find at least 5 recent articles from the past 24 hours. Summarize the top 3 most important stories in a concise daily briefing format. For each story include: a clear headline, a 2-sentence summary, and the source URL. Use a friendly, professional tone. Format with emoji bullet points and end with a total story count."
The Golden Rule: Self-Contained Prompts
Cron jobs run in a completely fresh session — no memory of your previous conversations, no context about what you "set up earlier." Your prompt must contain everything the agent needs to do the job.
Bad prompt:
Do my usual morning briefing.
Good prompt:
Search the web for the latest news about AI agents and open source LLMs.
Find at least 5 recent articles from the past 24 hours. Summarize the
top 3 most important stories in a concise daily briefing format. For each
story include: a clear headline, a 2-sentence summary, and the source URL.
Use a friendly, professional tone. Format with emoji bullet points.
The good prompt is specific about what to search, how many articles, what format, and what tone. It's everything the agent needs in one shot.
Step 3: Customize the Briefing
Once the basic briefing works, you can get creative.
Multi-Topic Briefings
Cover several areas in one briefing:
/cron add "0 8 * * *" "Create a morning briefing covering three topics. For each topic, search the web for recent news from the past 24 hours and summarize the top 2 stories with links.
Topics:
1. AI and machine learning — focus on open source models and agent frameworks
2. Cryptocurrency — focus on Bitcoin, Ethereum, and regulatory news
3. Space exploration — focus on SpaceX, NASA, and commercial space
Format as a clean briefing with section headers and emoji. End with today's date and a motivational quote."
Using Delegation for Parallel Research
For faster briefings, tell Hermes to delegate each topic to a sub-agent:
/cron add "0 8 * * *" "Create a morning briefing by delegating research to sub-agents. Delegate three parallel tasks:
1. Delegate: Search for the top 2 AI/ML news stories from the past 24 hours with links
2. Delegate: Search for the top 2 cryptocurrency news stories from the past 24 hours with links
3. Delegate: Search for the top 2 space exploration news stories from the past 24 hours with links
Collect all results and combine them into a single clean briefing with section headers, emoji formatting, and source links. Add today's date as a header."
Each sub-agent searches independently and in parallel, then the main agent combines everything into one polished briefing. See the Delegation docs for more on how this works.
Weekday-Only Schedule
Don't need briefings on weekends? Use a cron expression that targets Monday–Friday:
/cron add "0 8 * * 1-5" "Search for the latest AI and tech news..."
Twice-Daily Briefings
Get a morning overview and an evening recap:
/cron add "0 8 * * *" "Morning briefing: search for AI news from the past 12 hours..."
/cron add "0 18 * * *" "Evening recap: search for AI news from the past 12 hours..."
Adding Personal Context with Memory
If you have memory enabled, you can store preferences that persist across sessions. But remember — cron jobs run in fresh sessions without conversational memory. To add personal context, bake it directly into the prompt:
/cron add "0 8 * * *" "You are creating a briefing for a senior ML engineer who cares about: PyTorch ecosystem, transformer architectures, open-weight models, and AI regulation in the EU. Skip stories about product launches or funding rounds unless they involve open source.
Search for the latest news on these topics. Summarize the top 3 stories with links. Be concise and technical — this reader doesn't need basic explanations."
Including details about who the briefing is for dramatically improves relevance. Tell the agent your role, interests, and what to skip.
Step 4: Manage Your Jobs
List All Scheduled Jobs
In chat:
/cron list
Or from the terminal:
hermes cron list
You'll see output like:
ID | Name | Schedule | Next Run | Deliver
------------|-------------------|-------------|--------------------|--------
a1b2c3d4 | Morning Briefing | 0 8 * * * | 2026-03-09 08:00 | telegram
e5f6g7h8 | Evening Recap | 0 18 * * * | 2026-03-08 18:00 | telegram
Remove a Job
In chat:
/cron remove a1b2c3d4
Or ask conversationally:
Remove my morning briefing cron job.
Hermes will use cronjob(action="list") to find it and cronjob(action="remove") to delete it.
Check Gateway Status
Make sure the scheduler is actually running:
hermes cron status
If the gateway isn't running, your jobs won't execute. Install it as a background service for reliability:
hermes gateway install
# or on Linux servers
sudo hermes gateway install --system
Going Further
You've built a working daily briefing bot. Here are some directions to explore next:
- Scheduled Tasks (Cron) — Full reference for schedule formats, repeat limits, and delivery options
- Delegation — Deep dive into parallel sub-agent workflows
- Messaging Platforms — Set up Telegram, Discord, or other delivery targets
- Memory — Persistent context across sessions
- Tips & Best Practices — More prompt engineering advice
The briefing bot pattern works for anything: competitor monitoring, GitHub repo summaries, weather forecasts, portfolio tracking, server health checks, or even a daily joke. If you can describe it in a prompt, you can schedule it.