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

Run Claude Code in VSCode/Cursor Integrated Terminal for Better Workflow
Running Claude Code in the VSCode or Cursor integrated terminal instead of an external terminal provides immediate access to git diff panels and debuggers without switching windows, with no configuration required.

Essential Custom Instructions for Claude to Prevent Common Annoyances
A Reddit user shares three specific custom instructions to address common Claude annoyances: requiring warnings before destructive commands, preventing mid-answer plan changes, and keeping code blocks exclusively for functional code.

Claude Compaction Workaround: Using a Handoff.MD File
A Reddit user shares a workaround for Claude's conversation compaction message: create a detailed handoff.md file summarizing the conversation, then start a new session with that file. The post includes specific steps for using ChatGPT to generate prompts and managing projects with instructions.

OpenClaw LLM Timeout Fix for Cold Model Loading
A Reddit user identified and fixed a specific timeout issue in OpenClaw where cold-loaded local LLMs would fail after about 60 seconds, even with higher general timeouts set. The solution involves adjusting the embedded-runner LLM idle timeout configuration.