caldav-calendar-1-0-1Sync and query CalDAV calendars (iCloud, Google, Fastmail, Nextcloud, etc.) using vdirsyncer + khal. Works on Linux.
Install via ClawdBot CLI:
clawdbot install BIGDONUTS0/caldav-calendar-1-0-1Install vdirsyncer + khal via apt:
Install vdirsyncer + khal via aptRequires:
vdirsyncer syncs CalDAV calendars to local .ics files. khal reads and writes them.
Always sync before querying or after making changes:
vdirsyncer sync
khal list # Today
khal list today 7d # Next 7 days
khal list tomorrow # Tomorrow
khal list 2026-01-15 2026-01-20 # Date range
khal list -a Work today # Specific calendar
khal search "meeting"
khal search "dentist" --format "{start-date} {title}"
khal new 2026-01-15 10:00 11:00 "Meeting title"
khal new 2026-01-15 "All day event"
khal new tomorrow 14:00 15:30 "Call" -a Work
khal new 2026-01-15 10:00 11:00 "With notes" :: Description goes here
After creating, sync to push changes:
vdirsyncer sync
khal edit is interactive — requires a TTY. Use tmux if automating:
khal edit "search term"
khal edit -a CalendarName "search term"
khal edit --show-past "old event"
Menu options:
s → edit summaryd → edit descriptiont → edit datetime rangel → edit locationD → delete eventn → skip (save changes, next match)q → quitAfter editing, sync:
vdirsyncer sync
Use khal edit, then press D to delete.
For scripting:
khal list --format "{start-date} {start-time}-{end-time} {title}" today 7d
khal list --format "{uid} | {title} | {calendar}" today
Placeholders: {title}, {description}, {start}, {end}, {start-date}, {start-time}, {end-date}, {end-time}, {location}, {calendar}, {uid}
khal caches events in ~/.local/share/khal/khal.db. If data looks stale after syncing:
rm ~/.local/share/khal/khal.db
~/.config/vdirsyncer/config)Example for iCloud:
[general]
status_path = "~/.local/share/vdirsyncer/status/"
[pair icloud_calendar]
a = "icloud_remote"
b = "icloud_local"
collections = ["from a", "from b"]
conflict_resolution = "a wins"
[storage icloud_remote]
type = "caldav"
url = "https://caldav.icloud.com/"
username = "your@icloud.com"
password.fetch = ["command", "cat", "~/.config/vdirsyncer/icloud_password"]
[storage icloud_local]
type = "filesystem"
path = "~/.local/share/vdirsyncer/calendars/"
fileext = ".ics"
Provider URLs:
https://caldav.icloud.com/google_calendar storage typehttps://caldav.fastmail.com/dav/calendars/user/EMAIL/https://YOUR.CLOUD/remote.php/dav/calendars/USERNAME/~/.config/khal/config)[calendars]
[[my_calendars]]
path = ~/.local/share/vdirsyncer/calendars/*
type = discover
[default]
default_calendar = Home
highlight_event_days = True
[locale]
timeformat = %H:%M
dateformat = %Y-%m-%d
vdirsyncer discover # First time only
vdirsyncer sync
Generated Mar 1, 2026
Remote workers can sync their personal and work calendars from services like iCloud and Google to a unified local view, enabling efficient daily planning without switching apps. They can quickly view upcoming meetings, create new events, and search for specific appointments using simple terminal commands, enhancing productivity in a Linux-based workflow.
IT teams in organizations using Nextcloud or similar self-hosted solutions can automate calendar syncing and querying for system maintenance schedules, on-call rotations, or team meetings. By scripting khal commands with formatted outputs, they can generate reports or integrate with other tools for monitoring and alerting purposes.
Researchers and academics on Linux systems can manage complex calendars for lab meetings, conference deadlines, and teaching schedules by syncing from Fastmail or other CalDAV providers. They can use search and edit features to update events interactively, ensuring accurate scheduling across multiple projects and collaborations.
Small business owners, such as consultants or therapists, can use this skill to sync client appointments from a shared calendar service to a local backup, reducing reliance on cloud interfaces. They can list upcoming appointments, create new events with notes, and maintain data privacy through local caching and control.
Software developers can integrate calendar data into their development workflows by using khal's formatted output to feed into project management tools or scripts. This allows for automating reminders for deadlines, syncing sprint calendars, or logging time spent on tasks based on calendar events from services like Google Calendar.
Offer consulting or managed services to help businesses integrate this skill into their existing Linux infrastructure, providing setup, customization, and ongoing support for calendar syncing and automation. Revenue can come from subscription-based support plans or one-time implementation fees tailored to organizational needs.
Develop a cloud-based platform that aggregates data from multiple CalDAV sources using this skill as a backend, offering advanced analytics, reporting, and insights on calendar usage for teams or individuals. Revenue can be generated through tiered subscription models based on features like data visualization or integration capabilities.
Create online courses or certification programs teaching users how to leverage this skill for productivity, targeting Linux enthusiasts, IT professionals, or remote workers. Revenue can come from course sales, certification exams, or corporate training packages that include hands-on labs and documentation.
💬 Integration Tip
Ensure vdirsyncer and khal are properly configured with correct CalDAV URLs and authentication; use tmux or similar tools for automating interactive edits in headless environments.
Manage Trello boards, lists, and cards via the Trello REST API.
Sync and query CalDAV calendars (iCloud, Google, Fastmail, Nextcloud, etc.) using vdirsyncer + khal. Works on Linux.
Manage tasks and projects in Todoist. Use when user asks about tasks, to-dos, reminders, or productivity.
Master OpenClaw's timing systems. Use for scheduling reliable reminders, setting up periodic maintenance (janitor jobs), and understanding when to use Cron v...
Calendar management and scheduling. Create events, manage meetings, and sync across calendar providers.
Kanban-style task management dashboard for AI assistants. Manage tasks via CLI or dashboard UI. Use when user mentions tasks, kanban, task board, mission con...