Skip to main content

Nextcloud — Calendar

CalDAV-backed access to the user's calendars.

Integration IDnextcloud-calendar
AuthNC session via connector
Required scopeCALENDAR, DAV
Sourceserver/integrations/nextcloudCalendarTools.js

Tools​

ToolPurpose
nextcloud_calendar_listList the user's calendars.
nextcloud_calendar_searchSearch events by date range / keyword.
nextcloud_calendar_get_eventFetch one event by URI.
nextcloud_calendar_create_eventCreate a new event.
nextcloud_calendar_update_eventUpdate title / time / attendees / body.
nextcloud_calendar_delete_eventDelete.
nextcloud_calendar_list_attendeesWho's invited and their RSVP status.
nextcloud_calendar_respondAccept / decline / tentative on an invite.

Endpoints (CalDAV)​

PROPFIND /remote.php/dav/calendars/{uid}/
REPORT /remote.php/dav/calendars/{uid}/{calendar}/
GET /remote.php/dav/calendars/{uid}/{calendar}/{event}.ics
PUT /remote.php/dav/calendars/{uid}/{calendar}/{event}.ics
DELETE /remote.php/dav/calendars/{uid}/{calendar}/{event}.ics

Recurring events​

Recurring events are returned as the master event plus a list of overrides (RECURRENCE-ID). Most tools accept either; the agent typically operates on the master.

Time zones​

Events are returned with their original TZID. The agent renders them in the user's preferred timezone (set in NC, mirrored from auth/user).

Privacy​

Event bodies (the description / notes field) flow through the Privacy Shield. Strict mode also redacts attendee names and addresses.

Common errors​

ErrorCauseFix
403 Forbidden on shared calendarUser lacks write permissionOwner shares with edit rights.
409 Conflict on updateStale ETag (someone else edited concurrently)Re-fetch and retry.
Invalid TZIDBad timezoneUse IANA names (Europe/Amsterdam, not CET).