← Back to Skills Marketplace
gzlicanyi

caldav-sync

by gzlicanyi · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ⚠ pending
82
Downloads
1
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install caldav-sync
Description
Calendar and task management via CalDAV protocol. Query, create, edit, and delete calendar events and todos. Free/busy query, multi-account support.
README (SKILL.md)

CalDAV Sync Tool

Manage calendar events and todos via CalDAV protocol. Supports Google Calendar, iCloud, Nextcloud, Fastmail, NetEase (163/126/yeah.net), and any standard CalDAV server.

Configuration

Run the setup script to install dependencies and configure your CalDAV account:

bash setup.sh

If running commands manually without setup.sh, install dependencies first:

npm install --production

Configuration is stored at ~/.config/mail-skills/.env (shared with imap-smtp-email skill). If no shared config is found, the skill falls back to a .env file in the skill directory.

Config file format

# Default account
PROVIDER=163
[email protected]
PASSWORD=your_password
CALDAV_DEFAULT_CALENDAR=

The PROVIDER preset auto-fills the CalDAV server URL. For custom servers:

PROVIDER=custom
[email protected]
PASSWORD=your_password
CALDAV_SERVER_URL=https://your-caldav-server.com/

Multi-Account

You can configure additional accounts in the same config file. Each account uses a name prefix (uppercase) on all variables.

# Work account (WORK_ prefix)
WORK_PROVIDER=gmail
[email protected]
WORK_PASSWORD=app_password
WORK_CALDAV_DEFAULT_CALENDAR=work

Add --account \x3Cname> before the command:

node scripts/caldav.js --account work list-calendars
node scripts/caldav.js --account work list-events --start 2026-01-01 --end 2026-12-31

Supported Providers

Provider Server URL Auth
Google Calendar https://calendar.google.com/calendar/dav/ App Password
iCloud https://caldav.icloud.com/ App-Specific Password
Nextcloud https://\x3Chost>/remote.php/dav/calendars/\x3Cuser>/ Username/Password
Fastmail https://caldav.fastmail.com/dav/ Username/Password
NetEase (163/126/yeah.net) https://caldav.163.com/ Authorization Code
NetEase Enterprise (North) https://caldav.qiye.163.com/ Username/Password
NetEase Enterprise (East) https://caldavhz.qiye.163.com/ Username/Password

Commands

list-calendars

List all available calendars.

node scripts/caldav.js [--account \x3Cname>] list-calendars

list-events

Query events in a time range.

node scripts/caldav.js [--account \x3Cname>] list-events --start \x3Cdate> --end \x3Cdate> [--calendar \x3Cid>]

get-event

Get a specific event by UID.

node scripts/caldav.js [--account \x3Cname>] get-event --uid \x3Cuid> [--calendar \x3Cid>]

create-event

Create a new calendar event.

node scripts/caldav.js [--account \x3Cname>] create-event --summary \x3Ctext> --start \x3Cdatetime> --end \x3Cdatetime> \
  [--description \x3Ctext>] [--location \x3Ctext>] [--calendar \x3Cid>]

update-event

Update an existing event.

node scripts/caldav.js [--account \x3Cname>] update-event --uid \x3Cuid> [--summary \x3Ctext>] [--start \x3Cdatetime>] \
  [--end \x3Cdatetime>] [--description \x3Ctext>] [--location \x3Ctext>] [--calendar \x3Cid>]

delete-event

Delete an event.

node scripts/caldav.js [--account \x3Cname>] delete-event --uid \x3Cuid> [--calendar \x3Cid>]

list-todos

List all todos/tasks.

node scripts/caldav.js [--account \x3Cname>] list-todos [--status \x3Call|pending|completed>] [--calendar \x3Cid>]

create-todo

Create a new todo/task.

node scripts/caldav.js [--account \x3Cname>] create-todo --summary \x3Ctext> [--due \x3Cdate>] \
  [--description \x3Ctext>] [--priority \x3C1-9>] [--calendar \x3Cid>]

update-todo

Update an existing todo.

node scripts/caldav.js [--account \x3Cname>] update-todo --uid \x3Cuid> [--summary \x3Ctext>] [--due \x3Cdate>] \
  [--status \x3Cpending|completed>] [--calendar \x3Cid>]

delete-todo

Delete a todo.

node scripts/caldav.js [--account \x3Cname>] delete-todo --uid \x3Cuid> [--calendar \x3Cid>]

freebusy

Query free/busy information for a time range.

node scripts/caldav.js [--account \x3Cname>] freebusy --start \x3Cdatetime> --end \x3Cdatetime> [--calendar \x3Cid>]

list-accounts

List all configured CalDAV accounts.

node scripts/caldav.js list-accounts

Security Notes

  • Configuration is stored at ~/.config/mail-skills/.env with 600 permissions (owner read/write only)
  • For Google: regular password is rejected -- generate an App Password at https://myaccount.google.com/apppasswords
  • For NetEase: use authorization code (授权码), not account password

Troubleshooting

Connection failed:

  • Verify server URL is correct and accessible
  • Check username and password

Authentication failed:

  • For Google: use App Password, not regular password
  • For NetEase: use authorization code, not account password
  • For iCloud: use App-Specific Password

No calendars found:

  • Verify CalDAV service is enabled in your account settings
  • Check the server URL includes the correct path

Related Skills

  • imap-smtp-email - Read, search, manage, and send emails via IMAP/SMTP. Supports Gmail, Outlook, NetEase (163/126/188), and any standard IMAP/SMTP server. Install with:
    npx skills add https://github.com/gzlicanyi/mail-skills -s imap-smtp-email
    

Feedback

Issues and pull requests are welcome at github.com/gzlicanyi/mail-skills.

Capability Tags
crypto
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install caldav-sync
  3. After installation, invoke the skill by name or use /caldav-sync
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
- Updated environment variable requirements in skill metadata (from CALDAV_SERVER_URL, CALDAV_USERNAME, CALDAV_PASSWORD to PROVIDER, USERNAME, PASSWORD) - Adjusted primaryEnv from CALDAV_SERVER_URL to PROVIDER in metadata - No changes to code or functionality; documentation and metadata update only
v1.0.1
- Added direct install instructions for the related imap-smtp-email skill. - No functional or behavioral changes to the skill itself. - Documentation improvements for easier discovery and installation of related tools.
v1.0.0
Initial release of caldav-sync. - Calendar and todo management using the CalDAV protocol. - Supports querying, creating, editing, and deleting events and todos. - Free/busy queries and multi-account support. - Compatible with Google Calendar, iCloud, Nextcloud, Fastmail, NetEase, and other standard CalDAV servers. - Configuration via environment variables or shared config file. - Command-line interface for all major CalDAV operations.
Metadata
Slug caldav-sync
Version 1.0.2
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is caldav-sync?

Calendar and task management via CalDAV protocol. Query, create, edit, and delete calendar events and todos. Free/busy query, multi-account support. It is an AI Agent Skill for Claude Code / OpenClaw, with 82 downloads so far.

How do I install caldav-sync?

Run "/install caldav-sync" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is caldav-sync free?

Yes, caldav-sync is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does caldav-sync support?

caldav-sync is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created caldav-sync?

It is built and maintained by gzlicanyi (@gzlicanyi); the current version is v1.0.2.

💬 Comments