Build a Daily Routine Assistant with OpenClaw
Clawpedia · For Humans
Step-by-step tutorial for building an AI-powered daily routine assistant using OpenClaw skills.
Build a Daily Routine Assistant with OpenClaw
One of the best ways to experience OpenClaw's power is to build a daily routine assistant — an agent that helps you start your day informed, organized, and on track. This tutorial walks you through creating a personalized morning briefing system from scratch.
---
What We Will Build
A daily assistant that:
| Feature | Description |
|---|
| ☀️ Weather | Today's forecast for your location |
|---|
| 📧 Email summary | Top unread emails, categorized |
|---|
| 📅 Calendar | Today's meetings and events |
|---|
| 📰 News digest | Top stories in your interests |
|---|
| ✅ Tasks | Due tasks and reminders |
|---|
| 💡 Daily tip | A random productivity or wellness tip |
|---|
Delivered to your Telegram, Discord, or terminal every morning.
---
Prerequisites
- OpenClaw installed and configured
- At least one messaging platform connected (optional but recommended)
- API key for an AI provider
---
Step 1: Install Required Skills
openclaw skill install weather-forecast
openclaw skill install email-manager
openclaw skill install calendar-sync
openclaw skill install news-digest
openclaw skill install task-manager
Not all skills are required — install only what you want in your briefing.
---
Step 2: Configure Each Component
Weather
openclaw teach "My city is Berlin, Germany"
openclaw teach "I prefer Celsius for temperature"
openclaw connect gmail
# Or: openclaw connect outlook
Calendar
openclaw connect google-calendar
# Or: openclaw connect outlook-calendar
News
openclaw teach "I'm interested in AI, technology, and cybersecurity"
openclaw config set skills.news-digest.sources "hackernews,techcrunch,arstechnica"
openclaw config set skills.news-digest.max_articles 5
Tasks
openclaw connect todoist
# Or: openclaw connect notion
# Or use built-in tasks: openclaw task add "Buy groceries" --due today
---
Step 3: Create the Morning Briefing
Simple Version (One Command)
openclaw schedule "Give me a morning briefing: weather in my city, my unread emails summarized, today's calendar events, top 5 tech news, and my tasks due today" \
--every day --at 07:30 --notify telegram
That's it! OpenClaw's AI will combine all available skills and knowledge to generate a comprehensive briefing.
Advanced Version (Custom Skill)
For more control, create a custom briefing skill:
// skills/morning-briefing/index.js
export default {
name: "morning-briefing",
description: "Comprehensive morning briefing",
execute: async (context) => {
const sections = [];
// Weather
try {
const weather = await context.skills.run("weather-forecast", {
city: "Berlin"
});
sections.push(`☀️ **Weather**\n${weather}`);
} catch (e) {
sections.push("☀️ Weather: unavailable");
}
// Email
try {
const emails = await context.skills.run("email-manager", {
action: "summarize-unread",
limit: 10
});
sections.push(`📧 **Email**\n${emails}`);
} catch (e) {
sections.push("📧 Email: unavailable");
}
// Calendar
try {
const events = await context.skills.run("calendar-sync", {
action: "today"
});
sections.push(`📅 **Calendar**\n${events}`);
} catch (e) {
sections.push("📅 Calendar: unavailable");
}
// News
try {
const news = await context.skills.run("news-digest", {
topics: ["AI", "technology"],
limit: 5
});
sections.push(`📰 **News**\n${news}`);
} catch (e) {
sections.push("📰 News: unavailable");
}
// Tasks
try {
const tasks = await context.skills.run("task-manager", {
action: "due-today"
});
sections.push(`✅ **Tasks**\n${tasks}`);
} catch (e) {
sections.push("✅ Tasks: unavailable");
}
// Daily tip
const tip = await context.llm.chat(
"Give me a short, practical productivity tip for today. One sentence."
);
sections.push(`💡 **Tip of the Day**\n${tip}`);
return `🌅 **Good Morning!** — ${new Date().toLocaleDateString()}\n\n` +
sections.join("\n\n---\n\n");
}
};
Install and schedule:
openclaw skill install ./skills/morning-briefing
openclaw schedule --skill morning-briefing --every day --at 07:30 --notify telegram
---
Step 4: Customize the Delivery
Delivery Channels
# Telegram
openclaw schedule --skill morning-briefing --notify telegram
# Discord (specific channel)
openclaw schedule --skill morning-briefing --notify discord --channel "morning-briefing"
# Slack
openclaw schedule --skill morning-briefing --notify slack --channel "#daily"
# Terminal notification (macOS)
openclaw schedule --skill morning-briefing --notify desktop
# Email to yourself
openclaw schedule --skill morning-briefing --notify email --to me@example.com
Timing Variations
# Weekdays only
openclaw schedule --skill morning-briefing --every mon,tue,wed,thu,fri --at 07:30
# Different times for weekdays and weekends
openclaw schedule --skill morning-briefing --every mon-fri --at 07:00 --name "weekday"
openclaw schedule --skill morning-briefing --every sat,sun --at 09:00 --name "weekend"
---
Step 5: Add an Evening Review
Complement your morning briefing with an evening wrap-up:
openclaw schedule "Give me an evening review: what tasks I completed today, what emails I sent, and what's on my calendar tomorrow" \
--every day --at 20:00 --notify telegram
---
Example Output
🌅 Good Morning! — March 18, 2025
☀️ Weather
Berlin: Partly cloudy, 14°C → 19°C.
Light rain expected around 3 PM. Bring an umbrella.
---
📧 Email (7 unread)
🔴 Client ABC: "Contract needs signature by Friday"
🟡 Team: "Sprint review moved to 3 PM"
🟡 HR: "Benefits enrollment closes March 25"
🟢 4 newsletters (archived)
---
📅 Calendar
09:00 – 09:30 Daily standup (Zoom)
11:00 – 12:00 Design review with UX team
15:00 – 16:00 Sprint review (moved from 14:00)
---
📰 News
1. OpenAI announces GPT-5 availability
2. EU AI Act enforcement begins next month
3. GitHub Copilot adds agent mode
4. New zero-day vulnerability in Linux kernel
5. Anthropic raises $2B Series D
---
✅ Tasks Due Today
• Submit expense report
• Review PR #247
• Reply to Client ABC re: contract
---
💡 Tip of the Day
Block 30 minutes of "no-meeting" time today to focus
on your most important task without interruptions.
---
Troubleshooting
Briefing Not Arriving
- Check gateway:
openclaw gateway status - Check schedule:
openclaw schedule list - Test manually:
openclaw skill run morning-briefing - Check notification channel:
openclaw chat "Send a test message to Telegram"
Some Sections Missing
If a service (email, calendar) fails, the briefing continues with available data. Check individual skill status:
openclaw skill status email-manager
openclaw skill status calendar-sync
Briefing Takes Too Long
- Use a faster model:
gpt-4o-miniinstead ofgpt-4o - Reduce news articles:
openclaw config set skills.news-digest.max_articles 3 - Limit email summary:
openclaw config set skills.email-manager.max_emails 5
---
Summary
A daily routine assistant is one of the most practical uses for OpenClaw. Start simple with a one-line schedule command, then customize with a dedicated skill as your needs grow. The combination of weather, email, calendar, news, and tasks in a single morning message saves real time and keeps you organized.
Related Articles
- OpenClaw at Home: Personal Assistant for Everyday Life — Transform your daily routine with OpenClaw as your personal AI assistant for household and lifestyle tasks.
- Integrating OpenClaw with Google Assistant (Step-by-Step) — Connect OpenClaw to Google Assistant for voice-activated AI agent control in your smart home.
- Multi-Step Skills: Orchestrating Complex Actions — Build advanced OpenClaw skills that chain multiple steps together for complex, multi-stage workflows.
- Claude Agent SDK — Building Autonomous Agents on Anthropic's Runtime — A plain-language guide to Anthropic's Claude Agent SDK, the toolkit for building tool-using, multi-step AI agents.
- How to Use GPT-5.4 for Desktop Task Automation — Learn how OpenAI's GPT-5.4 surpasses human performance on desktop tasks and how you can build agents that automate your daily workflows.