CalDAV Calendar enables your agent to synchronize and interact with CalDAV-compatible calendar services including iCloud, Google Calendar, Fastmail, and Nextcloud. It combines vdirsyncer for server synchronization with khal for local calendar reading and writing — giving agents full calendar access through the command line with offline caching for fast, reliable queries.
Key Features
- Multi-provider support connecting to iCloud, Google Calendar, Fastmail, Nextcloud, and any CalDAV-compatible service
- Event viewing and search across multiple calendars and configurable date ranges with custom output formatting
- Event creation and editing with full support for titles, descriptions, times, locations, and recurring schedules
- Local caching via vdirsyncer that syncs calendar data to local .ics files for offline access and fast queries
- Event deletion through an integrated menu-driven interface
- Scriptable output formatting for integrating calendar data into agent workflows and automated reporting
Use Cases
- Querying upcoming meetings and deadlines as context for agent task planning and prioritization
- Creating calendar events directly from agent conversations — scheduling follow-ups, reminders, or milestones
- Building daily briefing workflows that summarize the day's events from multiple calendar sources
- Automating schedule management across personal and work calendars from a single command-line interface
How It Works
The skill operates through two complementary tools: vdirsyncer handles the synchronization between remote CalDAV servers and local
.ics
files, while khal provides the local calendar interface for viewing, searching, creating, and editing events. The workflow follows a sync-first pattern — always running
vdirsyncer sync
before querying to ensure data freshness, and syncing again after making changes to push them back to the server.
Getting Started
Install vdirsyncer and khal via your package manager (e.g.,
apt install vdirsyncer khal
). Create configuration files at
~/.config/vdirsyncer/config
for remote calendar connections and
~/.config/khal/config
for local calendar discovery. Run
vdirsyncer discover
on first setup to detect available calendars, then
vdirsyncer sync
to establish the initial synchronization. For security, store calendar credentials in your OS keyring rather than plaintext configuration files.