caldav
Manage CalDAV calendars and events, with special support for Radicale server. Use when the user wants to create, update, delete, or query calendar events, manage calendars, or configure/administer a Radicale CalDAV server.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/chakyiu/caldav-skillCalDAV & Radicale Management
Interact with CalDAV servers (calendars, events, todos) and manage Radicale server configurations.
Overview
CalDAV is a protocol for accessing and managing calendaring information (RFC 4791). Radicale is a lightweight CalDAV/CardDAV server. This skill enables:
- Calendar CRUD operations (create, list, update, delete)
- Event management (create, update, delete, query)
- Todo/task management
- Radicale server configuration and administration
Prerequisites
Python Library
Install the caldav library:
pip install caldav
For async support:
pip install caldav[async]
Environment Variables (Recommended)
Store credentials securely in environment or config:
export CALDAV_URL="http://localhost:5232"
export CALDAV_USER="your_username"
export CALDAV_PASSWORD="your_password"
Or use a config file at ~/.config/caldav/config.json:
{
"url": "http://localhost:5232",
"username": "your_username",
"password": "your_password"
}
Scripts
Calendar Operations
# List all calendars
python3 {baseDir}/scripts/calendars.py list
# Create a new calendar
python3 {baseDir}/scripts/calendars.py create --name "Work Calendar" --id work
# Delete a calendar
python3 {baseDir}/scripts/calendars.py delete --id work
# Get calendar info
python3 {baseDir}/scripts/calendars.py info --id work
Event Operations
# List events (all calendars, next 30 days)
python3 {baseDir}/scripts/events.py list
# List events from specific calendar
python3 {baseDir}/scripts/events.py list --calendar work
# List events in date range
python3 {baseDir}/scripts/events.py list --start 2024-01-01 --end 2024-01-31
# Create an event
python3 {baseDir}/scripts/events.py create \
--calendar work \
--summary "Team Meeting" \
--start "2024-01-15 14:00" \
--end "2024-01-15 15:00" \
--description "Weekly sync"
# Create all-day event
python3 {baseDir}/scripts/events.py create \
--calendar personal \
--summary "Birthday" \
--start 2024-02-14 \
--allday
# Update an event
python3 {baseDir}/scripts/events.py update \
--uid "event-uid-here" \
--summary "Updated Title"
# Delete an event
python3 {baseDir}/scripts/events.py delete --uid "event-uid-here"
# Search events by text
python3 {baseDir}/scripts/events.py search --query "meeting"
Todo Operations
# List todos
python3 {baseDir}/scripts/todos.py list [--calendar name]
# Create a todo
python3 {baseDir}/scripts/todos.py create \
--calendar work \
--summary "Complete report" \
--due "2024-01-20"
# Complete a todo
python3 {baseDir}/scripts/todos.py complete --uid "todo-uid-here"
# Delete a todo
python3 {baseDir}/scripts/todos.py delete --uid "todo-uid-here"
Radicale Server Management
# Check Radicale status
python3 {baseDir}/scripts/radicale.py status
# List users (from htpasswd file)
python3 {baseDir}/scripts/radicale.py users list
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-chakyiu-caldav-skill": {
"enabled": true,
"auto_update": true
}
}
}