8 min read

How I Automated a Daily Intelligence Briefing with OpenClaw

Last updated on Mar 15, 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 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.

What I care about: it can run tasks on a schedule (cron jobs, heartbeats, automated workflows) and deliver the output 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 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

Without web search, the model is stuck on training data.

Web search is what lets your report pull 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. Returns structured results with titles, URLs, and snippets. Free tier gives you 2,000 requests/month.
  • Perplexity Sonar: returns AI-synthesized answers with citations from live web search. Good for summarized context on complex topics.
  • Exa: a search engine built for AI. Tends to surface higher-quality sources than 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 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

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 start with that and trim from there.

That’s it.

Every morning at 7am, the agent wakes up, pulls the latest news, and sends a report 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.

Since it’s a cron job, 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

You’re giving an autonomous agent access to your messaging accounts, API keys, and your local filesystem.

It can browse the web, run commands, and send messages on your behalf.

A few things to keep in mind:

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

If any of that gives you pause, run the prompt manually in Claude or ChatGPT for a while 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 runs the agent inside a Cloudflare Sandbox, an isolated micro-VM.

If the agent goes rogue, it’s trapped in a container that gets destroyed when the task finishes.

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.

Worth a look if you want 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 briefing that covers everything I care about, waiting for me when I wake up.

Setup is quick: install OpenClaw, connect Telegram, add the cron job.

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.

Frequently Asked Questions

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. It can run tasks on a schedule using cron jobs, heartbeats, and automated workflows, delivering output to whatever messaging app you use. It supports multiple AI model providers including Anthropic's Claude.
How do you automate a daily intelligence briefing with AI?
Install OpenClaw globally via npm, connect it to Telegram by creating a bot through BotFather, configure your AI model provider (e.g., Anthropic Claude), and set up a cron job with your briefing prompt. The cron expression '0 7 * * *' runs every day at 7am. OpenClaw generates a fresh report using web search tools (Brave Search, Perplexity Sonar, Exa) and delivers it to your Telegram.
How much does running a daily AI briefing cost?
Costs depend on the AI model used. Claude Opus can cost a few dollars per report with web search tool calls. You can reduce costs by switching to a cheaper model like Sonnet. The web search APIs have free tiers — Brave Search offers 2,000 free requests per month. Running the agent itself is free since OpenClaw is open source and runs locally.
What security considerations should I be aware of with OpenClaw?
OpenClaw has full access to send and receive messages on connected channels and stores API keys locally. It's recommended to run it on a dedicated machine (VPS, Raspberry Pi, or Mac Mini) rather than your primary laptop, review the codebase after updates since it's fast-moving open source, and be aware that cron jobs run without human approval so a bad prompt could send unexpected messages.

Subscribe to my newsletter

Get the latest posts delivered to your inbox