← Back to Skills
Cron

advanced-calendar

toughworm By toughworm 👁 8 views ▲ 0 votes

Advanced calendar skill with natural language

GitHub
---
name: advanced-calendar
description: Advanced calendar skill with natural language processing, automatic reminders, and multi-channel notifications
author: 小机与老板
version: 1.0.2
license: MIT
tags: [calendar, scheduling, reminders, productivity, natural-language, automation, multi-channel]
repository: https://github.com/openclaw/advanced-calendar
---

# Advanced Calendar Skill for OpenClaw

A comprehensive calendar system with natural language processing, automatic reminders, and seamless WhatsApp notifications.

## Features

- **Natural Language Processing**: Create events using everyday language like "Schedule a meeting tomorrow at 3pm for 1 hour, remind me 30 minutes before"
- **Smart Parsing**: Automatically detects dates, times, durations, locations, and reminder preferences from your input
- **Interactive Creation**: When information is incomplete, the system asks for what it needs
- **Multi-Channel Notifications**: Sends notifications via WhatsApp and other configured channels (Discord, Telegram, Signal, etc.)
- **Persistent Reminders**: If no acknowledgment ("OK", "Got it", "Received", etc.) is received, reminders repeat every 15 minutes like a snooze alarm
- **Flexible Reminders**: Set reminders minutes, hours, or days in advance
- **Daily Summary**: Built-in daily summary feature - get a complete overview of today's schedule every morning
- **Complete CRUD Operations**: Create, read, update, delete calendar events
- **Local Storage**: All data stored locally, no external dependencies
- **Cron Integration**: Automatic reminder checking every 5 minutes and optional daily morning summary

## Installation

```bash
clawhub install advanced-calendar
```

## Usage

### Natural Language Commands

The skill understands natural language commands:

```
"Create a meeting tomorrow at 2pm to discuss the project, lasting 1 hour, remind me 30 minutes before"
"Schedule a call with John next Tuesday at 10am, remind me 1 hour ahead"
"I have lunch with Sarah today at 12:30pm"
"Show me my calendar for this week"
"What meetings do I have tomorrow?"
```

### Manual Commands

For more control, you can use structured commands:

```bash
# Create an event
calendar create --title "Event Title" --date YYYY-MM-DD --time HH:MM [--duration MINUTES] [--location LOCATION] [--description DESCRIPTION] [--reminder MINUTES_BEFORE]

# List upcoming events
calendar list [--days N] [--from YYYY-MM-DD] [--to YYYY-MM-DD]

# Get event details
calendar get --id EVENT_ID

# Update an event
calendar update --id EVENT_ID [--title TITLE] [--date YYYY-MM-DD] [--time HH:MM] [--duration MINUTES] [--location LOCATION] [--description DESCRIPTION] [--reminder MINUTES_BEFORE]

# Delete an event
calendar delete --id EVENT_ID

# Daily summary
calendar daily-summary
```

### Integration

The skill automatically integrates with OpenClaw's natural language processing. Simply speak to your OpenClaw instance naturally about scheduling, and it will handle the calendar operations.

## Configuration

After installation, you may want to configure:

1. Multi-channel notifications (WhatsApp, Discord, Telegram, Signal, etc.)
2. Default reminder time preferences
3. Default event duration
4. Repeat reminder intervals (default: every 15 minutes until acknowledged)
5. Acknowledgment keywords (default: "OK", "Got it", "Received", "Understood", "Ack", etc.)

## Examples

### Basic Event Creation
```
User: "Schedule a team meeting tomorrow at 10am"
System: [Asks for missing details like duration and reminder]
```

### Complete Event Specification
```
User: "I have a doctor appointment next Friday at 2:30pm, lasts 45 minutes, please remind me 2 hours before"
System: ✅ Created event: Doctor appointment
      Time: 2026-02-13 14:30, Duration: 45 minutes, Reminder: 120 minutes before
```

### Event Querying
```
User: "What do I have scheduled this week?"
System: [Lists all events for the next 7 days]
```

### Daily Summary
```
User: "Show me my schedule for today"
System: 📅 2026年02月03日 周二

      今日共有 3 个日程:

      1. 团队会议
         ⏰ 09:00
         📍 总部会议室

      2. 客户午餐
         ⏰ 12:30
         📍 赛特大厦

      3. 项目汇报
         ⏰ 15:00
         📝 季度项目进展汇报

      祝您今天顺利!
```

### Automated Daily Summary (Optional)
You can configure automatic daily summaries to be sent every morning at 9:00 AM:

```bash
# Via OpenClaw Cron - add this job to send daily summary automatically
openclaw cron add \
  --name "daily-calendar-summary" \
  --schedule "0 9 * * *" \
  --command "calendar daily-summary"
```

Or via natural language:
```
User: "Set up a daily reminder every morning at 9am with my calendar summary"
System: ✅ Daily summary scheduled for 9:00 AM every day
```

## Architecture

- **Natural Language Processor**: Interprets human language into calendar events
- **Intent Detection**: Identifies whether user wants to create, list, update, delete, or get daily summary of events
- **Information Extraction**: Parses dates, times, durations, locations, and reminders from text
- **Interactive Handler**: Manages conversations when information is incomplete
- **Daily Summary Generator**: Creates formatted daily overview with all scheduled events
- **Storage Layer**: JSON-based persistent storage
- **Multi-Channel Notification System**: Automated reminders via WhatsApp, Discord, Telegram, Signal, and other configured channels
- **Persistent Reminder Engine**: Snooze-alarm-style repeated notifications every 15 minutes until acknowledged
- **Acknowledgment Tracker**: Monitors for user responses to stop repeated notifications
- **Cron Integration**: Scheduled reminder checks and optional daily morning summaries

## Technical Requirements

- OpenClaw 1.0+
- Python 3.6+
- At least one notification channel configured (WhatsApp, Discord, Telegram, Signal, etc.)

## Dependencies

This skill requires the following Python packages which will be installed automatically during skill installation:

- python-docx
- lxml

The skill includes a virtual environment setup script that will create and manage dependencies automatically.

## Customization

The skill can be customized by modifying:
- Default reminder times
- Natural language parsing rules
- Notification preferences
- Storage location

## Troubleshooting

- If events aren't showing up, check that the date/time format is correct
- If reminders aren't working, verify WhatsApp is properly configured
- For parsing issues, try being more explicit with dates and times

## Contributing

We welcome contributions! Please see our contributing guidelines in the repository.

## Support

For support, please open an issue in the GitHub repository or visit the OpenClaw community forums.
cron

Comments

Sign in to leave a comment

Loading comments...