All posts
Business Automation

How to Automate Your Morning Briefing with OpenClaw (Step-by-Step)

KillerBot TeamFebruary 22, 202610 min read

The morning briefing is the gateway drug of AI assistants.

You set it up once, and every morning you wake up to a personalized summary of everything you need to know: unread emails, today's calendar, weather, news, whatever matters to you. It takes 60 seconds to read and replaces 20 minutes of inbox-scanning and calendar-checking.

Most people who try a morning briefing become permanent AI assistant users. It's that good.

Here's exactly how to set one up with OpenClaw, from the technical configuration to the prompt engineering that makes the difference between a useful briefing and a wall of text.

What a morning briefing includes

Before we build it, let's talk about what goes in. A good briefing covers:

  1. Email summary - Not all emails. Just the ones that matter. Urgent items highlighted. Routine stuff grouped.
  2. Calendar overview - What's on today's schedule. How much free time you have. Conflicts flagged.
  3. Weather - Simple and practical. "72F and sunny" or "Rain expected at 3pm, bring an umbrella."
  4. Custom sections - This is where it gets personal. News from your industry, stock prices, package tracking, project updates, whatever you care about.

The power isn't any single section. It's having all of them in one place, delivered before you even ask.

The technical setup (self-hosted)

If you're running OpenClaw on your own server, here's how to configure an automated morning briefing.

Create the briefing prompt

OpenClaw runs automations through cron jobs. A cron job is just "do this thing at this time." For a morning briefing, you'll create a prompt that tells your assistant what to include and how to format it.

Create a file called morning-briefing.md in your OpenClaw workspace:

## Morning Briefing Instructions

Generate my morning briefing. Include these sections in order:

### Email Summary
- Check my inbox for unread messages from the last 12 hours
- Group by priority: Urgent (needs response today), Important (needs response this week), FYI (informational only)
- For urgent emails: include sender, subject, and a one-sentence summary
- For important emails: include sender and subject
- For FYI emails: just a count ("12 newsletters and notifications")
- Skip spam and automated notifications entirely

### Today's Calendar
- List all events for today with times
- Flag any conflicts or back-to-back meetings
- Note the total hours of meetings vs. free time
- If there are meetings, briefly note what each is about (check email for context if needed)

### Weather
- Current conditions and high/low for today
- Notable weather (rain, extreme heat/cold, etc.)
- Keep it to one line unless there's something I should plan around

### Action Items
- Any deadlines due today
- Follow-ups from yesterday that I haven't completed
- Anything time-sensitive from email

Keep the whole briefing under 300 words. Use bullet points. No fluff.

Configure the cron job

OpenClaw's cron system runs scheduled tasks. Add this to your OpenClaw configuration:

{
  "cron": [
    {
      "name": "Morning Briefing",
      "schedule": "0 7 * * *",
      "prompt": "Follow the instructions in morning-briefing.md and deliver the briefing.",
      "channel": "telegram",
      "target": "YOUR_TELEGRAM_CHAT_ID"
    }
  ]
}

The schedule 0 7 * * * means "7:00 AM every day." Adjust the hour to match your wake-up time. Remember: the server runs in UTC, so convert your local time. If you're in Pacific time (UTC-8), 7 AM local = 15:00 UTC, so the schedule would be 0 15 * * *.

Test it

Don't wait until tomorrow morning. Run the briefing manually to make sure it works:

openclaw cron trigger "Morning Briefing"

Check your Telegram. Within 30-60 seconds, you should receive the briefing. If something's wrong (missing email data, wrong timezone, formatting issues), tweak the prompt and test again.

Prompt engineering: the difference between good and great

The default briefing prompt above works fine. But the difference between a "fine" briefing and one you actually look forward to reading comes down to prompt refinement.

Here are the tweaks that matter:

Be specific about what "urgent" means

Don't let the AI decide what's urgent. Define it:

Urgent means:
- Emails from clients (my client list: [names or domains])
- Anything mentioning "deadline," "urgent," "ASAP," or "today"
- Replies to emails I sent yesterday that I'm waiting on
- Emails from my boss or direct reports

Everything else is not urgent, even if the sender thinks it is.

Tell it what to skip

More important than what to include is what to leave out:

Skip entirely:
- Newsletters (anything from Substack, Mailchimp, etc.)
- Automated notifications (GitHub, Jira, monitoring alerts)
- Marketing emails
- Shipping/delivery notifications (unless delivery is today)
- Calendar invitations that I've already accepted

Set the tone

Tone: Casual and direct. Like a quick text from a sharp friend, not a corporate memo. 
Use plain language. No "I hope this finds you well" energy.
If there's nothing urgent, just say "Quiet morning. Nothing urgent."

Add personality cues

Some people like their briefing dry and factual. Others want a bit of personality. Here's an example that adds flavor:

Start with a one-line greeting that changes each day. Not generic motivational quotes. 
Something situational: comment on the weather, the day of the week, or how busy 
the calendar looks. Keep it human.

Examples of good greetings:
- "Three meetings and rain. Coffee's going to earn its keep today."
- "Empty calendar and 72 degrees. Don't waste this."
- "Friday. Only two emails actually matter. Here they are."

A real example briefing

Here's an actual morning briefing from a real OpenClaw instance (details changed for privacy):


Morning Briefing - Tuesday, Feb 18

Overcast and 58F. Two meetings today, 4 hours of free time.

Urgent (2)

  • Sarah Chen (Acme Corp) - Re: Q1 proposal - wants the updated pricing by end of day. You said you'd send it Monday, didn't.
  • Mike Reeves (landlord) - Lease renewal docs ready for signature. Deadline is Friday.

Important (3)

  • David Liu - Asking about the March offsite dates
  • Jennifer at CrossFit - Schedule change next week
  • Tom (accountant) - Q4 documents ready for review, no rush

FYI: 8 newsletters, 3 GitHub notifications, 2 shipping updates.

Calendar

  • 10:00 AM - Team standup (30 min)
  • 2:00 PM - Client call with Acme Corp (1 hr) - Sarah will probably ask about that pricing

Action items

  • Send Acme pricing update ASAP (overdue from yesterday)
  • Sign lease renewal before Friday
  • Respond to David about March dates

That took about 45 seconds to read. It replaced 20 minutes of inbox scanning, calendar checking, and mentally prioritizing. Every morning. Automatically.

Notice what makes it good: it's concise, opinionated ("You said you'd send it Monday, didn't"), and actionable. It doesn't just list information. It tells you what to do about it.

Customizing for your use case

The morning briefing is endlessly customizable. Here are some sections people add based on their work:

For sales teams:

### Pipeline Update
- Any deals that moved stages yesterday
- Follow-ups due today
- New inbound leads from overnight

For property managers:

### Property Alerts
- Maintenance requests received overnight
- Rent payments due today
- Any tenant communications needing response

For content creators:

### Content & Social
- Social media metrics from yesterday (engagement, followers)
- Comments/messages needing response
- Content calendar: what's due today and this week

For investors:

### Market Summary
- Major index movements overnight
- Your watchlist: significant moves (>2%)
- Any earnings reports today from companies you track

Common problems and fixes

Problem: The briefing is too long. Fix: Add a hard word limit to your prompt. "Keep the entire briefing under 250 words. If you need to cut, cut the FYI section first."

Problem: It includes irrelevant emails. Fix: Be more specific in your skip list. Add specific sender domains to ignore. "Skip all emails from *@linkedin.com, *@quora.com, *@medium.com."

Problem: The calendar section is just a list of events. Fix: Add context instructions. "For each meeting, check my email for related threads and add one sentence of context. What's this meeting about? What should I prepare?"

Problem: It arrives too early/late. Fix: Adjust the cron schedule. Test with date -u on your server to confirm the UTC time, then calculate your local conversion.

Problem: It misses urgent emails. Fix: Your definition of "urgent" isn't specific enough. Add names, domains, and keywords. The AI can't read your mind about who matters to you.

The non-technical version: KillerBot's morning briefing

Everything above works great if you're comfortable editing configuration files, writing prompts, and configuring cron jobs.

If that's not you, KillerBot includes morning briefings as a built-in feature. Here's the setup:

  1. Go to Automations in your dashboard
  2. Click "Morning Briefing"
  3. Pick what you want included (checkboxes, not code)
  4. Set your delivery time
  5. Choose Telegram or WhatsApp
  6. Done

The briefing template is already optimized. You can customize what's included through the UI without writing any prompts. And it works the moment you finish the 30-second setup.

No cron jobs. No UTC conversion. No prompt engineering (unless you want to).

Why morning briefings work so well

There's a reason this is the most popular OpenClaw automation, and it's not just the time savings.

Morning briefings change your relationship with email. Instead of your inbox being this anxiety-inducing thing you open with dread ("what's waiting for me?"), you already know what's there. The briefing removes the uncertainty. You open your inbox to handle things, not to discover them.

It also changes how you start your day. Most people wake up, grab their phone, and spend 15-20 minutes in a reactive mode: scrolling through notifications, scanning emails, checking calendars across different apps. The briefing consolidates all of that into one message. Read it in 60 seconds. Know where you stand. Start your day proactive instead of reactive.

The compounding effect matters, too. After a week of morning briefings, you start trusting the system. You stop checking email first thing because you know the briefing already told you what matters. That behavioral shift is worth more than the 15 minutes saved. It's a reduction in cognitive load that makes the rest of your morning better.

People who turn off their morning briefing almost always turn it back on within a week. Once you've experienced starting your day with complete awareness, going back to inbox-roulette feels chaotic.

Advanced: multiple briefings for different times

Some users run more than one briefing. A common pattern:

Morning briefing (7 AM): Full overview. Email, calendar, weather, action items.

Midday check-in (12 PM): Just new emails since morning and afternoon calendar. Shorter, 3-4 bullet points.

Evening wrap-up (6 PM): What happened today, what's coming tomorrow, any emails that still need responses.

Each one uses a different prompt and schedule. The midday and evening versions are typically much shorter since you're already caught up from the morning.

To add multiple briefings in your OpenClaw cron configuration, just add more entries:

{
  "cron": [
    {
      "name": "Morning Briefing",
      "schedule": "0 15 * * *",
      "prompt": "Full morning briefing per morning-briefing.md"
    },
    {
      "name": "Midday Check",
      "schedule": "0 20 * * 1-5",
      "prompt": "Quick update: new emails since 7am and afternoon calendar only. Under 100 words."
    },
    {
      "name": "Evening Wrap",
      "schedule": "0 2 * * *",
      "prompt": "End of day: emails still needing response, tomorrow's calendar, any deadlines this week."
    }
  ]
}

Note the midday check only runs Monday through Friday (1-5). No need for a work check-in on weekends.

KillerBot includes morning briefings out of the box. No setup required beyond telling it what time you wake up. Start your free trial at killr.bot and have your first briefing tomorrow morning.

More from the blog