
Caldav Calendar
Sync and query CalDAV calendars (iCloud, Google, Fastmail, Nextcloud, etc.) using vdirsyncer +
Caldav Calendar is a community skill for CalDAV calendar integration, covering event synchronization, calendar querying, multi-provider support, offline caching, and command-line calendar management for Linux systems.
What Is This?
Overview
Caldav Calendar provides terminal-based access to CalDAV calendar services using open-source tools like vdirsyncer and khal. It covers event synchronization that bidirectionally syncs calendar data between local storage and remote CalDAV servers with conflict resolution, calendar querying that searches and filters events by date range, category, and keywords from the command line, multi-provider support that works with iCloud, Google Calendar, Fastmail, Nextcloud, and any CalDAV-compliant service, offline caching that maintains local event copies for fast access without network connectivity, and command-line management that creates, edits, and deletes events using terminal commands. The skill helps Linux users manage calendars efficiently without browser interfaces or desktop GUI applications or proprietary desktop applications.
Who Should Use This
This skill serves Linux users who prefer terminal workflows over GUI applications, developers automating calendar operations in scripts, and privacy-focused individuals using self-hosted and managed calendar servers. System administrators managing multiple user calendars across an organization will also find this skill particularly valuable.
Why Use It?
Problems It Solves
Web-based calendar interfaces require constant browser context switching that interrupts developer workflows and reduces productivity and break terminal-centric workflows. Proprietary calendar applications lack scriptability and automation capabilities and integration with automation pipelines. Accessing multiple calendar providers simultaneously from different services requires managing separate applications and credentials. Offline calendar access fails completely when using cloud-only calendar services without local caching, making reliable access during travel or poor connectivity impossible.
Core Highlights
Sync engine bidirectionally updates events between local and remote CalDAV servers. Calendar query tool searches events by date, keyword, and category. Provider adapter connects to iCloud, Google, Nextcloud, and CalDAV services. Offline cache maintains local event copies for network-independent access.
How to Use It?
Basic Usage
vdirsyncer sync
khal list today 7d
khal new 2025-03-15 10:00 \
1h "Team Meeting" \
-l work
khal search "project review"Real-World Examples
cat > ~/.vdirsyncer/config <<EOF
[pair my_calendar]
a = "my_calendar_local"
b = "my_calendar_remote"
collections = ["from a", "from b"]
[storage my_calendar_local]
type = "filesystem"
path = "~/.calendars/"
[storage my_calendar_remote]
type = "caldav"
url = "https://calendar.google.com"
EOF
khal calendar
khal interactive
khal printcalendarsAdvanced Tips
Schedule vdirsyncer sync as a cron job or systemd timer to automatically keep local and remote calendars synchronized throughout the day. A systemd timer is generally preferred over cron for better logging and dependency management. Use khal in shell scripts to check for conflicts before scheduling new meetings programmatically. Configure multiple CalDAV accounts to view unified calendar data across personal and work calendars in a single interface. You can also pipe khal output into other command-line tools for custom reporting or notification workflows.
When to Use It?
Use Cases
Manage personal and work calendars from the terminal without opening browser tabs or GUI applications. Build automation scripts and tools that check calendar availability programmatically before scheduling meetings or sending invitations. Access synchronized calendar data offline on Linux systems during travel or unreliable network conditions.
Related Topics
CalDAV protocol, calendar synchronization, terminal productivity tools, vdirsyncer, khal, and offline-first applications.
Important Notes
Requirements
Linux operating system with Python installed for running vdirsyncer and khal tools. CalDAV server credentials including server URL, username, and password or app-specific password for each calendar provider. Local storage space for caching calendar events and maintaining offline copies.
Usage Recommendations
Do: run vdirsyncer discover after adding new calendar collections to detect available calendars automatically. Use app-specific passwords instead of main account passwords for enhanced security with CalDAV services. Back up your local calendar storage directory regularly to prevent data loss. Set restrictive file permissions on your vdirsyncer configuration file using chmod 600 to protect stored credentials.
Don't: sync too frequently since excessive API calls may trigger rate limiting from calendar providers. Store CalDAV credentials in plaintext configuration files without proper file permissions and encryption. Assume all CalDAV providers support all features since implementation varies across services.
Limitations
The skill requires Linux operating system since vdirsyncer and khal tools are primarily developed for Unix-like systems. Initial configuration setup involves manual editing and customization of configuration files which may be complex for users unfamiliar with CalDAV. Some calendar features like shared calendars and delegation may have limited support depending on the provider implementation.
More Skills You Might Like
Explore similar skills to enhance your workflow
Kaleido Automation
Automate Kaleido operations through Composio's Kaleido toolkit via Rube
Flutter Adaptive Ui
Automate and integrate Flutter Adaptive UI for responsive cross-platform interface development
Isms Audit Expert
Information Security Management System (ISMS) audit expert for ISO 27001 compliance verification, security control assessment, and certification suppo
Formdesk Automation
Automate Formdesk operations through Composio's Formdesk toolkit via
WooCommerce
WooCommerce REST API integration with managed OAuth. Access products, orders, customers
Mem Automation
Automate Mem operations through Composio's Mem toolkit via Rube MCP