- Guides & Tutorials
- Tutorial: Daily Briefing Bot
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 combiningweb search,cron scheduling,delegation, andmessaging delivery— no code required.
This recipe hits web search, summarization, and optional TTS — all bundled in a Portal subscription. The fastest setup ishermes setup –portal. SeeNous Portal.
hermes setup --portal
What We’re Building
Here’s the flow:
- 8:00 AM— The cron scheduler triggers your job
- Hermes spins upa fresh agent session with your prompt
- Web searchpulls the latest news on your topics
- Summarizationdistills it into a clean briefing format
- Deliverysends 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 theInstallation guide
- Gateway running— the gateway daemon handles cron execution:hermes gatewayinstall# Install as a user servicesudohermes gatewayinstall–system# Linux servers: boot-time system service# orhermes gateway# Run in foreground
- Firecrawl API key— setFIRECRAWL_API_KEYin your environment for web search
- Messaging configured(optional but recommended) —Telegramor Discord set up with a home channel
hermes gateway install # Install as a user servicesudo hermes gateway install --system # Linux servers: boot-time system service# orhermes gateway # Run in foreground
FIRECRAWL_API_KEY
You can still follow this tutorial usingdeliver: “local”. Briefings will be saved to~/.hermes/cron/output/and you can read them anytime.
deliver: "local"
~/.hermes/cron/output/
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, 20261. 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.
Before creating cron jobs, ensure Hermes has a default model and provider configured globally. If you want a specific job to use different values, set explicit per-job model/provider overrides when creating it.
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 agentsand open source LLMs. Summarize the top 3 stories in a concise briefingwith links. Use a friendly, professional tone. Deliver to telegram.
Hermes will create the cron job for you using the unifiedcronjobtool.
cronjob
Option B: CLI Slash Command
Use the/croncommand for more control:
/cron
/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 acompletely fresh session— no memory of your previous conversations, no context about what you “set up earlier.” Your prompt must containeverythingthe 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 thetop 3 most important stories in a concise daily briefing format. For eachstory 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 aboutwhat to search,how many articles,what format, andwhat 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 frameworks2. Cryptocurrency — focus on Bitcoin, Ethereum, and regulatory news3. Space exploration — focus on SpaceX, NASA, and commercial spaceFormat 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 links2. Delegate: Search for the top 2 cryptocurrency news stories from the past 24 hours with links3. Delegate: Search for the top 2 space exploration news stories from the past 24 hours with linksCollect 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 theDelegation docsfor 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 havememoryenabled, 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 isfordramatically 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 | telegrame5f6g7h8 | 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 usecronjob(action=”list”)to find it andcronjob(action=”remove”)to delete it.
cronjob(action="list")
cronjob(action="remove")
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 serverssudo 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.