9 min read

How I Automated a Daily Intelligence Briefing with OpenClaw

Last updated on Feb 3, 2026

Every morning I wake up to a personalized intelligence briefing on my phone. It covers AI, crypto, startups, investing, world news, and a dozen other topics I care about — with sources and key takeaways.

No apps to open. No feeds to scroll. It just shows up in my Telegram.

Here’s what it looks like (Redacted the weather report since it has my location):

Daily intelligence briefing delivered via Telegram

Here’s how I set it up using OpenClaw and a prompt from my prompt library.


What is OpenClaw?

OpenClaw is an open-source AI agent that runs locally on your machine and connects to messaging platforms like Telegram and Slack. The key thing that makes it interesting: it can run tasks on a schedule — cron jobs, heartbeats, automated workflows — all delivered to whatever messaging app you already use.

That’s what makes it perfect for a daily briefing.


The Prompt

I’ve had a personal intelligence briefing prompt in my prompt library for a while. It’s designed to generate a report similar to a presidential daily briefing, but tailored to your own interests.

The prompt covers:

  • Blockchain / crypto, AI, startups, SaaS
  • Personal finance, investing, real estate
  • Programming, tech, trends
  • World news, business, economics
  • Psychology, history

For each topic, it generates 3-5 bullet points with key highlights, a brief paragraph of context, and links to sources. It also includes a “Trends to Watch” section and “Key Takeaways” at the end.

I had been running this manually in ChatGPT or Claude every morning. It worked, but it required me to open a browser, paste the prompt, wait, and read it there.

OpenClaw automates the entire thing.


Setting Up OpenClaw

Prerequisites

You’ll need:

  • Node.js 22+ installed
  • An Anthropic API key (I’m using Claude Opus 4.5 as the model)
  • A Telegram account

Install

npm install -g openclaw@latest

Then run the onboarding wizard:

openclaw onboard

The wizard walks you through:

  1. Model selection — I’m using anthropic/claude-opus-4-5 as the primary model
  2. Authentication — enter your Anthropic API key
  3. Gateway config — default port is 18789
  4. Channel provider — choose Telegram

Connecting Web Search Tools

This is what makes the daily briefing actually useful. Without web search, the model is limited to its training data. With it, your report pulls from live sources every morning.

OpenClaw supports several web search providers out of the box. I’d recommend setting up all three:

  • Brave Search — the default search provider. Returns structured results with titles, URLs, and snippets. The free tier gives you 2,000 requests/month, which is more than enough for a daily report.
  • Perplexity Sonar — returns AI-synthesized answers with citations from real-time web search. Great for getting summarized context on complex topics.
  • Exa — a search engine built for AI. Returns semantically relevant results that tend to surface higher quality sources than traditional keyword search.

Set the API keys as environment variables in ~/.openclaw/.env:

BRAVE_API_KEY=your_brave_key
PERPLEXITY_API_KEY=your_perplexity_key
EXA_API_KEY=your_exa_key

The agent picks which provider to use based on the query — Brave for general search, Perplexity for synthesized answers, Exa for finding deeper sources. Having all three gives it more to work with, and the reports are noticeably better with these enabled vs. without.

Connecting Telegram

  1. Search for @BotFather in Telegram
  2. Send /newbot and follow the prompts
  3. Grab the token it gives you
  4. Enter the token during the OpenClaw setup

Setting Up the Daily Briefing

This is the part that makes it all worth it. OpenClaw has a built-in cron system that can run prompts on a schedule and deliver the output to your messaging app.

Adding the Cron Job

openclaw cron add \
  --name "Daily Intel Report" \
  --cron "0 7 * * *" \
  --message "Create a personalized intelligence report, similar to a
    presidential daily briefing, tailored to these interests:
    blockchain/crypto, AI, startups, SaaS, traveling, personal finance,
    investing, programming, real estate, investment themes, trends,
    world news, tech, business, economics, psychology, history.
    For each topic: 3-5 bullet points, a brief paragraph of context,
    and links to 2-3 reputable sources. Include a Trends to Watch
    section and Key Takeaways at the end." \
  --deliver \
  --channel telegram \
  --to "YOUR_CHAT_ID"

Replace YOUR_CHAT_ID with your Telegram chat ID. The full version of the prompt I use is in my prompt library — I’d recommend starting with that and trimming from there.

That’s it. Every morning at 7am, your AI agent wakes up, generates a fresh intelligence report with the latest news and developments, and sends it to your Telegram.

Customizing the Schedule

The cron expression 0 7 * * * means “every day at 7am.” Adjust to whatever works for you:

  • 0 6 * * 1-5 — weekdays at 6am
  • 0 8 * * * — every day at 8am
  • 0 7,18 * * * — twice daily, 7am and 6pm

The timezone defaults to your machine’s local timezone.


Tips and Things I’ve Learned

1) Customize the interests list.

The prompt I shared has my interests baked in. Swap them out for yours. The more specific you are, the better the report. “AI” is fine, but “AI agents and autonomous coding tools” will get you more targeted results.

2) Keep an eye on API costs.

Opus 4.5 is not a cheap model. Running it daily via the Anthropic API adds up — each report with web search tool calls can cost a few dollars depending on output length. Worth it for me, but something to keep in mind. You can always swap to a cheaper model like Sonnet if you want to bring costs down.

3) Iterate on the prompt.

Start with the base prompt, read a few reports, then tune it. I’ve been adding and removing topics based on what I actually read vs. what I skip. The beauty of having it in a cron job is you set it once and tweak as needed.

4) Watch for the heartbeat bug.

There’s a known issue where the heartbeat prompt can get appended to cron events, causing the agent to respond with HEARTBEAT_OK instead of running your report. If your reports stop showing up, check whether you’re hitting this. The fix is to use isolated session mode (which is the default for cron jobs with --deliver).


A Note on Security

OpenClaw is powerful, but that power comes with trade-offs. You’re giving an autonomous agent access to your messaging accounts, API keys, and potentially your local filesystem. It can browse the web, execute commands, and send messages on your behalf.

Be aware of what you’re signing up for:

  • Run it on a dedicated machine — you don’t want this living on your primary laptop alongside your browser sessions, credentials, and personal files. Use a cheap VPS, a Raspberry Pi, or a Mac Mini. If something goes wrong with the agent, the blast radius is limited to a box that has nothing else on it. As a bonus, a dedicated always-on machine means your briefings won’t miss a day because your laptop was asleep.
  • API keys — your model provider keys are stored locally. Secure the machine they’re on.
  • Messaging access — OpenClaw has full access to send and receive messages on whatever channel you connect. Don’t run it on a shared machine.
  • Autonomous execution — cron jobs run without human approval. A bad prompt or a model hallucination could send something unexpected to your Telegram.
  • Open source ≠ audited — the project moves fast. Review what you’re running, especially after updates.

This is the kind of tool that’s best suited for people comfortable with the risks of running autonomous agents. If you’re not sure, start by running the prompt manually before automating it.


Worth Watching: Cloudflare’s MoltWorker

If you don’t want to manage your own hardware, Cloudflare released MoltWorker — an open-source project that runs OpenClaw on Cloudflare’s Developer Platform instead of a local machine.

The interesting part is the architecture. MoltWorker decouples the agent’s “brain” from the execution environment by running it inside a Cloudflare Sandbox — an isolated, ephemeral micro-VM. If the agent goes rogue, it’s trapped in a temporary container that dies when the task is done. No access to your local network or files.

It uses Cloudflare R2 for persistent storage, Cloudflare Access for auth on the admin UI, and their Browser Rendering for web browsing. All for roughly $5/month on the Workers paid plan.

Cloudflare has labeled it a proof-of-concept, not a product. But it’s an interesting alternative if you want the benefits of an always-on agent without babysitting a server. I’m keeping an eye on it.


Why This is Worth It

I used to start my mornings scrolling through Twitter, Hacker News, Reddit, and a handful of newsletters. Now I get a single, structured briefing that covers everything I care about. It’s concise, sourced, and waiting for me when I wake up.

The whole setup — installing OpenClaw, connecting Telegram, and adding the cron job — is straightforward. And since it’s open source and runs locally, you own the entire pipeline.

If you want to try the prompt on its own first, grab it from my prompt library and run it manually in ChatGPT or Claude. Once you’re happy with the output, wire it up with OpenClaw and automate it.


P.S: If you enjoyed this post, check out my prompt library for more useful prompts.

Subscribe to my newsletter

Get the latest posts delivered to your inbox