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:

FeatureDescription
☀️ WeatherToday's forecast for your location
📧 Email summaryTop unread emails, categorized
📅 CalendarToday's meetings and events
📰 News digestTop stories in your interests
✅ TasksDue tasks and reminders
💡 Daily tipA random productivity or wellness tip

Delivered to your Telegram, Discord, or terminal every morning.

---

Prerequisites

---

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"

Email


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

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

---

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