Calendar & Tasks

Lesson 4 of 4

Managing Recurring Tasks

Estimated time: 5 minutes

Managing Recurring Tasks

One-off scheduling is solved. Now let's automate the events and tasks that repeat — weekly meetings, daily habits, monthly reviews, and everything in between.

Why Automate Recurring Events?

Most people create recurring events in their calendar app and forget about them. The problem is that recurring events go stale:

  • The weekly standup that nobody attends anymore
  • The gym session you skip every Thursday because of a standing conflict
  • The monthly review that always gets rescheduled

OpenClaw keeps recurring events alive — checking for conflicts each time, adjusting when your schedule changes, and cleaning up events that stopped being useful.

Create smart recurring events

Unlike dumb calendar repeats, OpenClaw's recurring events adapt to your schedule:

openclaw agent edit "Calendar Assistant" \
  --append-message "

RECURRING EVENT RULES:
When the user creates a recurring event:
1. Create the series on the calendar
2. Before each occurrence, check for conflicts (1 day ahead)
3. If there's a conflict, notify the user with alternatives
4. Track attendance patterns — if the user cancels 3 times in a row, ask if they want to modify or remove the series

Supported patterns: daily, weekly, biweekly, monthly, weekdays, MWF, TTh, first/last Monday of month"

Now create some recurring events:

/cal recurring team standup every Monday at 9am for 30 minutes

Response:

✅ Recurring event created: Team standup
📅 Every Monday, 9:00-9:30 AM
🔁 No end date (runs until you cancel)
⏰ Reminder: 15 min before

I'll check for conflicts each Sunday evening and alert you
if any Monday needs rescheduling.

Set up daily task routines

Create a daily routine that generates tasks based on your schedule:

openclaw cron add \
  --name "Daily Task Generator" \
  --cron "0 7 * * *" \
  --tz "America/New_York" \
  --session isolated \
  --source "My Calendar,My Tasks" \
  --message "Look at today's calendar and generate preparation tasks:

1. For each meeting, add a 'Prep: [meeting name]' task due 30 min before
2. For client meetings, add 'Review: [client] notes' due 1 hour before
3. If today is Monday, add 'Weekly planning: review this week's goals'
4. If today is Friday, add 'Weekly review: what got done this week?'

Only add tasks that don't already exist. Mark prep tasks as high priority.
Send me a morning summary of today's schedule + generated tasks." \
  --announce \
  --channel telegram \
  --to "CHAT_ID"

Your morning message might look like:

☀️ Good morning! Here's your Thursday:

📅 Schedule:
  9:00 AM  Team standup (30 min)
  11:00 AM Client call — Acme Corp (1 hr)
  2:00 PM  Design review (1 hr)
  4:00 PM  1:1 with Alex (30 min)

✅ Tasks generated:
  □ Prep: Client call — review Acme notes (due 10:00 AM)
  □ Prep: Design review — pull latest mockups (due 1:30 PM)

🕐 Free time today: 3:00-4:00 PM (1 hour block)

Have a productive day!

Create end-of-day cleanup

Automate your end-of-day routine to close out the day and set up tomorrow:

openclaw cron add \
  --name "End of Day Cleanup" \
  --cron "0 18 * * 1-5" \
  --tz "America/New_York" \
  --session isolated \
  --source "My Calendar,My Tasks" \
  --message "End of day review:

1. Check which tasks from today are still incomplete
2. For incomplete tasks, suggest: defer to tomorrow, or remove
3. Check tomorrow's calendar for any prep needed tonight
4. If any meeting from today had an action item mentioned, create a follow-up task
5. Summarize: tasks completed today, tasks deferred, tomorrow's first event

Keep it brief — this is a wind-down message, not a full review." \
  --announce \
  --channel telegram \
  --to "CHAT_ID"

Build a weekly planning ritual

Tie everything together with a weekly planning session:

openclaw cron add \
  --name "Weekly Planning" \
  --cron "0 9 * * 1" \
  --tz "America/New_York" \
  --session isolated \
  --source "My Calendar,My Tasks" \
  --message "Monday morning planning session:

📅 THIS WEEK'S CALENDAR:
- List all events Mon-Fri with times
- Flag any conflicts or back-to-back issues
- Identify the biggest free blocks for deep work

✅ TASK OVERVIEW:
- Overdue tasks (need immediate attention)
- Tasks due this week
- Tasks with no due date that have been sitting for 2+ weeks

💡 SUGGESTIONS:
- Best day for deep work (most free time)
- Any meetings that could be async instead
- One thing to delegate or eliminate

Format as a scannable list. End with '🎯 Top 3 priorities for this week.'" \
  --announce \
  --channel telegram \
  --to "CHAT_ID"

The power of rituals

The weekly planning message arrives every Monday at 9 AM without any action from you. After a few weeks, it becomes the anchor of your productivity system. You read it, adjust a few things, and you're set for the week.

Managing Your Recurring Events

Over time, you'll accumulate recurring events. Here's how to keep them tidy:

CommandWhat It Does
list my recurring eventsShows all active series with frequency
pause gym time for 2 weeksSkips next 2 occurrences (e.g., vacation)
change standup to 9:30amUpdates all future occurrences
cancel the monthly reviewRemoves the entire series
skip next Thursday's 1:1Cancels just one occurrence

Going on vacation? One command pauses everything:

/cal vacation mode Dec 23 to Jan 2

OpenClaw will:

  • Cancel or reschedule all flexible recurring events
  • Send decline RSVPs for meetings you'd normally attend
  • Pause daily/weekly task generation
  • Set an auto-response on your calendar: "Out of office"
  • Resume everything automatically on Jan 3

For schedules that change by season (school year, work schedule):

/cal update gym time: MWF 7am in summer, TTh 6pm in winter

OpenClaw will switch the schedule based on the date, or you can trigger it manually: /cal switch to winter schedule

If your team uses shared calendars, recurring meetings can auto-adjust:

/cal make standup flexible — if anyone on the team has a conflict,
move it to the next 30-min slot where everyone's free

This checks all team calendars before each occurrence and adjusts proactively.

The Complete Calendar System

Here's what you've built across this course:

  💬 Natural language input          📅 Smart Calendar
  ┌────────────────────┐            ┌─────────────────────┐
  │  "schedule..."     │───────────>│  Conflict detection  │
  │  "move..."         │            │  Priority rules      │
  │  "what's on..."    │            │  Buffer protection   │
  │  "cancel..."       │            │  Recurring events    │
  └────────────────────┘            └─────────────────────┘
                                             │
  🤖 Automated Routines                      │
  ┌────────────────────┐                     │
  │  Morning tasks     │<────────────────────┘
  │  EOD cleanup       │
  │  Weekly planning   │
  │  Schedule optimizer│
  └────────────────────┘

What used to take: Opening calendar app → finding date → creating event → checking conflicts → setting reminders → adding tasks → 2-5 minutes per event.

What it takes now: One chat message → 5 seconds.

Course Complete

You've built a calendar management system that:

  1. Creates events from natural language
  2. Detects conflicts and suggests alternatives
  3. Respects priorities — never moves client calls for internal meetings
  4. Enforces buffers to prevent meeting fatigue
  5. Manages recurring events with smart adaptation
  6. Generates daily tasks based on your schedule
  7. Plans your week every Monday morning

The system gets smarter over time — learning your patterns, preferences, and priorities.

Knowledge Check

What makes OpenClaw's recurring events smarter than standard calendar repeats?