app icon
CalDAV
0.0.1

Read and create calendar events and tasks on any CalDAV server (Nextcloud, Radicale, …).

shaba/caldav35 installs

dify-plugin-caldav

A Dify tool plugin for any CalDAV server (Nextcloud, Radicale, or any other
CalDAV-compatible service). It reads calendars, events and tasks, and can create
new events and tasks. The target server is configured per credential, so a
single installation works with any CalDAV server.

The plugin uses the mature Python
library for the CalDAV protocol and iCalendar parsing (it pulls in ).

Configuration

  • (required) — base CalDAV URL of your server. For Nextcloud this is
    ; for Radicale it is typically
    .
  • (required) — CalDAV account user name.
  • (required, secret) — account password or app password.

Credentials are validated by connecting and listing the account's calendars.

Tools

Read

  • — list calendars and task lists (name, URL, supported
    component types).
  • — list events from a calendar, optionally within a /
    range.
  • — text search over event summary/description/location within an
    optional range.
  • — list tasks (VTODO), optionally only incomplete ones.

Write

Writes are gated only by the credential's own CalDAV permissions; there is no
extra toggle.

  • — create an event (, , , , and
    optional /).
  • — create a task (, , and optional
    /).

Date-times accept ISO-like forms such as , ,
a trailing for UTC, or a bare date. A datetime without an
explicit timezone or offset is interpreted as UTC, so pass an offset (e.g.
) when you mean local time, otherwise the event will
be shifted by your UTC offset.

Known limitations

  • Unbounded list reads. (and ) called without
    a / range pulls the entire calendar and filters client-side.
    This is server-agnostic but fetches and parses every event on each call, so
    large calendars are slow and memory-heavy. Pass a / window to bound
    how many events are retrieved.

Development

This plugin uses with and a
pinned (there is no ).

The CalDAV and iCalendar logic lives in the package. The parsing
and formatting helpers operate on components (or raw iCalendar text)
and are covered by unit tests that feed sample iCalendar strings — no real server
is contacted. The tool and provider classes are thin adapters over the package.

CalDAV is defined in RFC 4791; the
library documentation is at https://caldav.readthedocs.io/.

License

Apache-2.0. Copyright © 2026 Alexey Shabalin.

Repository

https://github.com/shaba/dify-plugin-caldav — issues and pull requests welcome.

CATEGORY
Tool
TAGS
PRODUCTIVITY
VERSION
0.0.1
shaba·06/11/2026 07:47 AM
REQUIREMENTS
Maximum memory
256MB