Back to Overview

Radicale CalDAV Integration

Connect Tymeslot to a Radicale CalDAV server. Covers the exact URL format, account password authentication, and how to handle common self-hosted network setups.

Luka Breitig โ€” Technical Product Builder & AI Developer
Luka Breitig

Technical Product Builder & AI Developer

๐Ÿ“‹ Before you begin

  • A Radicale server accessible over HTTPS from the public internet โ€” Tymeslot reaches out to your server, so it must have a public domain and valid TLS certificate
  • Your Radicale username and the collection name (the internal name of the calendar collection, often the same as your calendar's display name in lowercase)
  • Your Radicale account password โ€” Radicale does not use app passwords; the account password is used directly

Radicale: lightweight self-hosted CalDAV

Radicale is a minimal, open-source CalDAV and CardDAV server written in Python. It is popular among self-hosters who want a simple, dependency-light calendar server without a full groupware suite.

Unlike managed providers, Radicale uses a flat URL structure based on usernames and collection names that you define. The URL for your calendar follows a predictable pattern once you know your username and collection name.

1 Identify your CalDAV URL

Radicale's URL pattern is straightforward. The URL for a calendar collection is:

https://radicale.example.com/USERNAME/COLLECTION-NAME/
  • radicale.example.com โ€” the public hostname of your Radicale server
  • USERNAME โ€” your Radicale username (case-sensitive)
  • COLLECTION-NAME โ€” the internal collection name assigned when the calendar was created. This is often the calendar's display name in lowercase, or a UUID if a CalDAV client created it automatically.

Finding the collection name

The easiest way to find the exact collection name is to check your Radicale data directory (default: ~/.var/lib/radicale/collection-root/USERNAME/). Each subdirectory is a collection. Alternatively, connect with a CalDAV client such as Thunderbird and inspect the calendar properties โ€” the URL shown there is the one to use.

Case-sensitive paths

Radicale URLs are case-sensitive and require a trailing slash. A missing slash or incorrect casing will return 404.

2 Prepare your credentials

Radicale does not support app passwords. Tymeslot authenticates using your Radicale account username and password โ€” the same credentials you use to connect any CalDAV client.

If Radicale is configured with htpasswd authentication, your password is the one set in the htpasswd file. If it uses LDAP or another backend, use the credentials for that backend.

3 Add the calendar in Tymeslot

  1. 1 Go to [Dashboard] โ†’ [Settings] โ†’ [Integrations].
  2. 2 Click [Add CalDAV Calendar].
  3. 3 Enter the full collection URL in Server URL, your Radicale Username, and your Password.
  4. 4 Click [Save]. Tymeslot tests the connection; a green status confirms success.

๐Ÿ”ง Troubleshooting

"404 Not Found"

The most common cause is a missing trailing slash or incorrect collection name casing. Radicale URLs are case-sensitive โ€” check the exact directory name in your Radicale data store. Also confirm the path does not include a double slash or a missing path segment.

"Authentication failed" or 401 Unauthorized

Double-check the username and password match your Radicale configuration. If using htpasswd, regenerate the hash with htpasswd -B /path/to/htpasswd USERNAME to reset and confirm the credentials.

"Connection refused" or unable to reach server

Radicale must be reachable from the public internet. If it is running on a private network without a public domain, or if your reverse proxy does not forward requests to it, Tymeslot cannot reach it. Confirm HTTPS is configured and port 443 is open on your firewall.

Radicale is behind a sub-path (e.g. /radicale/)

If Radicale is served under a sub-path via a reverse proxy, include that prefix in the URL: https://example.com/radicale/USERNAME/COLLECTION-NAME/

โ“ Frequently Asked Questions

What is the collection name and where do I find it?

The collection name is the internal identifier Radicale uses for a calendar. It is the name of the directory under your username in Radicale's collection root (default: ~/.var/lib/radicale/collection-root/USERNAME/ ). When a calendar client creates a calendar automatically, it often assigns a UUID as the collection name. Connect with a CalDAV client and inspect the calendar URL to find the exact name.

Can I use the root URL instead of a specific collection?

Tymeslot requires the URL of a specific calendar collection. Pointing to the user root ( /USERNAME/ ) will succeed the connection test but events will not sync correctly. Always use the full path down to the calendar collection.

Radicale is HTTP-only on my local network โ€” can I still use it?

Not directly. Tymeslot requires HTTPS and a publicly reachable server. For a local Radicale instance, you would need to expose it via a reverse proxy with a valid TLS certificate and a public DNS record. Services like Caddy or Nginx with Let's Encrypt can handle this automatically if your server is publicly reachable.

๐Ÿ”— Related Articles

Read CalDAV Integration

CalDAV Integration

Sync Tymeslot with CalDAV calendars โ€” Nextcloud, Radicale, Zimbra, mailbox.org, iCloud, and Fastmail. Real-time conflict detection with no Google or Microsoft dependency.

Read Nextcloud CalDAV Integration

Nextcloud CalDAV Integration

Connect Tymeslot to your Nextcloud calendar. Step-by-step guide for finding the per-calendar CalDAV URL, generating an app password, and verifying the sync.

Read Zimbra CalDAV Integration

Zimbra CalDAV Integration

Connect Tymeslot to Zimbra Collaboration Server via CalDAV. Covers the DAV URL format, user@domain authentication, named calendars, and admin-managed account considerations.