Tymeslot supports CalDAV, the open standard for calendar sync, which means you can connect almost any self-hosted or third-party calendar server without registering an OAuth app or touching the Google Cloud Console or Azure Portal. Users provide their CalDAV server URL, username, and password directly in the Tymeslot dashboard — no admin-level setup required beyond deciding whether to allow connections to private network addresses.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Tymeslot/tymeslot/llms.txt
Use this file to discover all available pages before exploring further.
How CalDAV differs from Google and Microsoft
| Google Calendar | Outlook Calendar | CalDAV | |
|---|---|---|---|
| Setup required by admin | OAuth 2.0 app in Google Cloud | Azure AD app registration | None (optional: ALLOW_PRIVATE_IPS_FOR_CALENDAR) |
| User credentials | OAuth — Google account | OAuth — Microsoft account | Server URL + username + password |
| Real-time push | Google push channels (with WEBHOOK_BASE_URL) | Graph subscriptions (with WEBHOOK_BASE_URL) | Not supported — polling only |
| Default sync interval | 15-minute fallback polling | 15-minute fallback polling | Periodic polling (15–60 min) |
WEBHOOK_BASE_URL is set. The polling frequency is determined automatically by the capabilities of your CalDAV server — see Polling interval below for details. This is fully functional — availability and conflict checks remain accurate within the polling window.
Supported CalDAV servers
| Server | Notes |
|---|---|
| Nextcloud | Typical CalDAV URL: https://nextcloud.example.com/remote.php/dav/calendars/username/ |
| Radicale | Typically http://localhost:5232 or the equivalent on your host; see private IP note below |
| Zimbra | Standard CalDAV endpoint — check your Zimbra admin for the exact path |
| Baikal | Lightweight PHP CalDAV server; configure URL from the Baikal admin panel |
| Apple iCloud | Fixed URL https://caldav.icloud.com; requires an app-specific password |
| mailbox.org | CalDAV available at https://caldav.mailbox.org |
Server-specific notes
Apple iCloud
iCloud requires an app-specific password — it will reject your regular Apple ID password for CalDAV connections. Generate one at appleid.apple.com under Sign-In and Security → App-Specific Passwords. Use your Apple ID email as the username and the generated password (format:xxxx-xxxx-xxxx-xxxx) as the password when connecting in Tymeslot.
The CalDAV server URL is always https://caldav.icloud.com.
Nextcloud
The CalDAV endpoint follows this pattern:nextcloud.example.com with your Nextcloud hostname and <username> with the Nextcloud username. You can also find the exact URL in Nextcloud under Settings → Personal → Calendar → Copy primary CalDAV address.
Radicale
Radicale typically listens onhttp://localhost:5232 (or a configured host/port). If your Radicale instance is on the same private network as your Tymeslot container, you will need to enable private IP access — see the note below.
The CalDAV URL format for Radicale is:
Allowing private network CalDAV servers
In production, Tymeslot blocks outbound calendar requests to private, loopback, and link-local IP addresses (e.g. This setting applies to calendar integration and self-hosted video provider (e.g. MiroTalk) outbound requests only. Outbound webhook delivery has a separate flag (
localhost, 10.0.0.0/8, 192.168.0.0/16) as SSRF protection. If your CalDAV server (Radicale, a local Nextcloud instance, Baikal, or similar) resolves to one of these addresses, connections will fail unless you explicitly permit them.Add this to your .env to allow private network CalDAV connections:ALLOW_PRIVATE_IPS_FOR_WEBHOOKS) and is not affected by this setting.Polling interval
CalDAV servers do not support push notifications, so Tymeslot polls on a schedule. The polling frequency is determined automatically based on what your CalDAV server supports:| Sync tier | How it works | Interval |
|---|---|---|
| Tier 1 — sync-token delta | Server supports sync-token; only changed events are fetched | Every 15 minutes |
| Tier 2 — CTag check | Server supports getctag; Tymeslot checks the collection tag and fetches only when it changes | Every 30 minutes |
| Tier 3 — full fetch | Server supports neither; Tymeslot re-fetches all events on every cycle | Every 60 minutes |
Connecting CalDAV from the dashboard
No server-side configuration is needed beyond the optionalALLOW_PRIVATE_IPS_FOR_CALENDAR flag. Users connect their CalDAV calendar directly from Dashboard → Integrations → Calendar by providing:
- Server URL — the base CalDAV URL for their server (examples above)
- Username — typically the account username or email address
- Password — the account password, or an app-specific password for iCloud