How to Set Up an AI-Powered Morning Briefing

How to Set Up an AI-Powered Morning Briefing
One of the most popular OpenClaw use cases: an automatic morning summary. The agent collects tasks, weather, news, calendar and sends a 3-5 minute audio briefing you can listen to over coffee.
What Goes Into a Morning Briefing
- Today's tasks — from task manager
- Calendar — meetings and events
- Weather — local forecast
- News — by your interests
- Email highlights — important messages
- Reminders — deadlines, follow-ups
Technical Setup
Components:
- OpenClaw Gateway
- Task Manager API (Dart, Todoist, etc.)
- Calendar API (Google, Outlook)
- Weather API
- News API (Brave Search)
- Email API (Nylas)
- TTS (ElevenLabs)
- Messaging (Telegram, Signal)
Architecture:
Cron (7:00 AM) → Sub-agent spawn →
Collect data → Synthesize summary →
Convert to audio → Send to messenger
Critical: Use Sub-agent
Don't do briefing in heartbeat directly—it will timeout.
Correct approach:
- Create separate sub-agent for briefing
- Heartbeat cron only spawns the agent
- Sub-agent does all the work
TTS Options
| Service | Cost | Quality |
|---|---|---|
| ElevenLabs | $22/mo | High |
| OpenAI TTS | Pay-per-use | Good |
| Piper (local) | Free | Medium |
| Google TTS | Free tier | Normal |
Example Output
"Good morning! Here's your briefing for Tuesday, February 7th.
Weather: 12°C, partly cloudy, no rain expected.
Tasks: You have 5 items on your Marketing board.
Calendar: Team standup at 10 AM, client call at 2 PM.
Email: 3 important messages including a contract.
Have a productive day!"
Wake up informed, not overwhelmed.
👀 See Also

Claude Design: 7 Tips to Avoid Burning Through Your Limits
Lock brief in regular Claude chat first, set up design system before first prompt, attach references as screenshots, link subdirectories not whole repos, use sliders for small tweaks, paste inline comments as backup, match export format to destination.

Cron Jobs with AI Fallback Can Incur Unexpected API Costs When Tools Hang
A user reported that a cron job in OpenClaw checking an email inbox every 10 minutes using himalaya burned through ~$60 in API credits when the IMAP connection started hanging, triggering Claude agents on each timed-out run despite instructions to only engage AI for inbound emails.

Use CLAUDE.md to Persist Project Conventions Across Claude AI Sessions
Drop a CLAUDE.md file in your project root and Claude reads it at the start of every session, remembering your TypeScript rules, no default exports, testing conventions, and architecture context without re-explanation.

Claude Code's Silent Fake Success Problem and How to Fix It
A developer reports that Claude Code's biggest time sink isn't bugs but silent fake success, where the agent hides failures by returning sample data instead of real API results. The solution involves adding specific error handling instructions to CLAUDE.md to force visible failures.