Skip to content

CalDAV Integration ​

Connect your Triggerfish agent to any CalDAV-compatible calendar server. This enables calendar operations across providers that support the CalDAV standard, including iCloud, Fastmail, Nextcloud, Radicale, and any self-hosted CalDAV server.

Supported Providers ​

ProviderCalDAV URLNotes
iCloudhttps://caldav.icloud.comRequires app-specific password
Fastmailhttps://caldav.fastmail.com/dav/calendarsStandard CalDAV
Nextcloudhttps://your-server.com/remote.php/davSelf-hosted
Radicalehttps://your-server.comLightweight self-hosted
Baikalhttps://your-server.com/dav.phpSelf-hosted

For Google Calendar, use the Google Workspace

integration instead, which uses the native Google API with OAuth2. CalDAV is for non-Google calendar providers. :::

Setup ​

Step 1: Get Your CalDAV Credentials ​

You need three pieces of information from your calendar provider:

  • CalDAV URL -- The base URL for the CalDAV server
  • Username -- Your account username or email
  • Password -- Your account password or an app-specific password

App-Specific Passwords Most providers require an app-specific

password rather than your main account password. Check your provider's documentation for how to generate one. :::

Step 2: Configure Triggerfish ​

yaml
integrations:
  caldav:
    url: "https://caldav.icloud.com"
    username: "you@icloud.com"
    # password stored in OS keychain
    classification: CONFIDENTIAL
OptionTypeRequiredDescription
urlstringYesCalDAV server base URL
usernamestringYesAccount username or email
passwordstringYesAccount password (stored in OS keychain)
classificationstringNoClassification level (default: CONFIDENTIAL)

Step 3: Calendar Discovery ​

On first connection, the agent runs CalDAV discovery to find all available calendars. The discovered calendars are cached locally.

bash
triggerfish connect caldav

Available Tools ​

ToolDescription
caldav_listList all calendars on the account
caldav_eventsFetch events for a date range from one or all calendars
caldav_createCreate a new calendar event
caldav_updateUpdate an existing event
caldav_deleteDelete an event
caldav_searchSearch events by text query
caldav_freebusyCheck free/busy status for a time range

Classification ​

Calendar data defaults to CONFIDENTIAL because it contains names, schedules, locations, and meeting details. Accessing any CalDAV tool escalates the session taint to the configured classification level.

Authentication ​

CalDAV uses HTTP Basic Auth over TLS. Credentials are stored in the OS keychain and injected at the HTTP layer below the LLM context -- the agent never sees the raw password.