Stack Junkie
Published on

10-Minute Smart Morning Briefing That Actually Works

Authors
  • avatar
    Name
    Jerry Smith
    Twitter

10-Minute Smart Morning Briefing That Actually Works

Intro

Every morning used to be the same. Wake up. Check five different apps. Weather, calendar, news, tasks, email. Ten minutes gone before I even knew what my day looked like.

I built a single OpenClaw cron job that runs at 6 AM. It gathers everything I need and delivers it to Telegram in one message. One check, full context, done.

This tutorial walks through the complete setup. You'll have a working automated briefing by the end.

TLDR

I built a single OpenClaw cron job that runs every morning at 6 AM.

It pulls weather forecast, task list, news headlines, and calendar events.

Everything gets formatted into one readable message and delivered to my Telegram.

No more checking five different apps before I'm even awake.

Why I Built This

I used to start every morning the same way. Check weather app. Open calendar. Scroll through news. Review task list. Five apps, ten minutes, zero coffee yet.

Each app wanted my attention. Each one sent notifications. My morning routine felt like inbox triage instead of preparation.

I wanted one message with everything I needed. Check it once, plan my day, move on.

That's what this automation does. One message, all the context, delivered before I wake up.

Prerequisites

Before you start, you need:

  • OpenClaw installed and running
  • Telegram channel configured
  • Basic understanding of cron syntax
  • Text editor access to add the cron job via CLI

See the OpenClaw setup guide for installation.

You don't need calendar API access or news API keys. The weather comes from a free service with no authentication.

The task list comes from OpenClaw's built-in Second Brain API if you use it. If you don't use tasks yet, we'll show you how to skip that section.

The Briefing Architecture

OpenClaw cron jobs can run in two modes. Main session jobs inject events into your normal heartbeat conversation. Isolated session jobs run separately and deliver results without cluttering your main chat history.

We're using an isolated session. The job wakes up at 6 AM, gathers data from multiple sources, formats it into sections, and delivers to Telegram. Each run is independent. No conversation history carries over.

The payload type is agentTurn. That means the cron job sends a message to the agent, the agent processes it like a normal request, and the output gets delivered to your channel.

This approach lets you customize the briefing by editing the prompt. Want to add stock prices? Just mention it in the message field. Want to skip news on weekends? Add conditional logic to the prompt.

Creating the Morning Briefing Cron Job

Here's the complete config. You can add this via the OpenClaw CLI:

openclaw cron add \
  --name "Morning Briefing" \
  --cron "0 6 * * *" \
  --tz "America/Los_Angeles" \
  --session isolated \
  --message "MORNING BRIEFING

Compile my daily briefing with the following sections:

**Weather**
Get weather for Vancouver, WA using: curl -s 'wttr.in/Vancouver+WA?format=%l:+%c+%t+%h+%w'
Format: Location, condition, temp, humidity, wind

**Tasks for Today**
GET http://localhost:3001/api/tasks with header X-API-Key: MoltyJuniper23@
Filter status: todo or in_progress
Show top 5 by priority

**News Headlines**
Use web_search with freshness=pd (past day) and count=5
Query: 'AI development tools OR developer productivity'
Show title and source only, no summaries

**Calendar (Optional)**
Note: Calendar integration requires external setup. For now, display: 'Calendar: Check Google Calendar for today's events'

Format the briefing as clean readable sections with headers. Keep it under 500 words total." \
  --deliver \
  --channel telegram \
  --timeout 300

Let me break down the key parts:

Schedule: --cron "0 6 * * *" means 6:00 AM every day. The five fields are minute, hour, day-of-month, month, day-of-week.

Timezone: --tz "America/Los_Angeles" ensures 6 AM Pacific Time, not UTC. Change this to your timezone.

Session: --session isolated keeps the briefing separate from your main conversation.

Message: This is the prompt that tells the agent what to do. It includes specific commands for each data source.

Delivery: --deliver --channel telegram sends the output to your Telegram. You can use whatsapp, discord, or signal instead.

Timeout: --timeout 300 gives the job 5 minutes to complete. Multiple API calls need time.

The message field is where customization happens. Each section uses a different method to get data:

  • Weather uses curl with wttr.in format codes
  • Tasks use HTTP GET to the Second Brain API
  • News uses the built-in web_search tool
  • Calendar is a placeholder you can extend with your own API

Testing Your Briefing

Don't wait 24 hours to see if it works. Test it immediately.

First, add the job using the command above. Then get the job ID:

openclaw cron list

Find your "Morning Briefing" job and copy its ID. Now trigger it manually:

openclaw cron run <job-id> --force

Check your Telegram within 30 seconds. You should see a message with all four sections formatted cleanly.

If something fails, check the logs:

openclaw cron runs --id <job-id> --limit 1

This shows the last run result, any errors, and the exact output. Common issues: wrong timezone, missing API key for tasks, network timeout on web search.

Customizing Your Briefing

The beauty of this approach is that you can modify the message field to match your workflow.

Add stock prices or crypto: Include a line like "Get Bitcoin and Ethereum prices using web_search query 'BTC price' and 'ETH price'". The agent will fetch and format them.

Include RSS feeds: If you have specific blogs or news sources, add "Fetch latest post from [RSS feed URL] and summarize the title".

Adjust time zone: Change --tz to match where you are. America/New_York, Europe/London, Asia/Tokyo all work.

Weekend vs weekday variants: Create two jobs. One for weekdays with work tasks. One for weekends with personal projects. Use cron expressions 0 6 * * 1-5 (Mon-Fri) and 0 7 * * 6-7 (Sat-Sun).

Change the delivery time: Modify the cron expression. 0 7 * * * runs at 7 AM. 30 5 * * * runs at 5:30 AM.

The agent interprets the message field, so you can write instructions in plain English. "Include a motivational quote" works. "Skip news on Sundays" works. "Format as bullet points instead of paragraphs" works.

Frequently Asked Questions

Can I send this to multiple channels?

Yes, but you need multiple jobs. Create one job for Telegram and another for WhatsApp with the same message field. Each job delivers independently.

How do I pause this during vacation?

Disable the job: openclaw cron edit <job-id> --enabled false. Re-enable it when you're back: openclaw cron edit <job-id> --enabled true.

Can I use WhatsApp instead of Telegram?

Absolutely. Change --channel telegram to --channel whatsapp and add --to "+15551234567" with your phone number.

What if a data source fails?

The agent continues with available data. If weather fails, you get tasks and news. If web search times out, you get weather and tasks. The briefing degrades gracefully instead of failing completely.

How do I add my Google Calendar?

You'll need to set up Google Calendar API access and add the API key to your OpenClaw config. Then modify the message field to include: "Use Google Calendar API to fetch today's events for calendar ID [your-calendar-id]". For detailed Google Calendar integration, check the OpenClaw Google Calendar plugin (external tool).

Conclusion

One cron job replaced five apps in my morning routine.

I wake up to a single message with everything I need. Weather, tasks, news, calendar. No hunting, no switching apps, no decision fatigue before breakfast.

The whole setup took 10 minutes. The time saved in the first week paid for it.

Start with the basic config above. Run it once to see the output. Then customize the message field to match your workflow.

For more AI automation guides, check out building a second brain dashboard for task management. The OpenClaw cron documentation covers advanced scheduling options.

Your morning briefing is waiting. Add the job and test it now.

Sources

This tutorial uses the following sources and tools:

Enjoyed this post?

Get new articles delivered to your inbox. No spam, unsubscribe anytime.

Comments