Skip to main content
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.
This recipe hits web search, summarization, and optional TTS — all bundled in a Portal subscription. The fastest setup is mibyan setup --portal. See Nous Portal.

What We’re Building

Here’s the flow:
  1. 8:00 AM — The cron scheduler triggers your job
  2. Mibyan spins up a fresh agent session with your prompt
  3. Web search pulls the latest news on your topics
  4. Summarization distills it into a clean briefing format
  5. 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:
  • Mibyan installed — see the Installation guide
  • Gateway running — the gateway daemon handles cron execution:
  • Firecrawl API key — set FIRECRAWL_API_KEY in your environment for web search
  • Messaging configured (optional but recommended) — Telegram or Discord set up with a home channel
No messaging? No problemYou can still follow this tutorial using deliver: "local". Briefings will be saved to ~/.mibyan/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:
Then enter this prompt:
Mibyan will search the web, read through results, and produce something like:
If this works, you’re ready to automate it.
Iterate on the formatTry 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 Mibyan 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 Mibyan what you want:
Mibyan will create the cron job for you using the unified cronjob_manage tool.

Option B: CLI Slash Command

Use the /cron command for more control:

The Golden Rule: Self-Contained Prompts

Critical conceptCron 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:
Good prompt:
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:

Using Delegation for Parallel Research

For faster briefings, tell Mibyan to delegate each topic to a sub-agent:
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:

Twice-Daily Briefings

Get a morning overview and an evening recap:

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:
Tailor the personaIncluding 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:
Or from the terminal:
You’ll see output like:

Remove a Job

In chat:
Or ask conversationally:
Mibyan 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:
If the gateway isn’t running, your jobs won’t execute. Install it as a background service for reliability:

Going Further

You’ve built a working daily briefing bot. Here are some directions to explore next:
What else can you schedule?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.