# iCal feed as a source

<PlanNote plan="basic" />

Kalender Sync can use any HTTPS-reachable **iCal/ICS feed** as a source. That brings calendars into the system that have no native integration — and it's the most important **fallback when your organisation blocks OAuth connections** ([more on that](https://docs.kalender-sync.de/en/connect-calendar/org-blocked/)).

## Before you start

- Feeds are **read-only**: Kalender Sync pulls source events from them but cannot write into the feed. As a **target calendar** you still need a connected account.
- The feed is polled **every 5 minutes**; the provider's own caching adds on top (Outlook feeds can update sluggishly).
- The feed URL usually contains a **secret (token)** — treat it like a password. Kalender Sync stores it encrypted.

## Finding your calendar's secret iCal address

### Google Calendar

1. Open [Google Calendar on the web](https://calendar.google.com/) → gear icon → **Settings**.
2. Click the calendar on the left → section **"Integrate calendar"**.
3. Copy the **"Secret address in iCal format"**.

The secret (not the public) address shows all events. You can reset it at Google any time if it ever leaks.

### Outlook / Microsoft 365

1. Open [Outlook on the web](https://outlook.office.com/calendar/) → gear icon → **Calendar** → **Shared calendars**.
2. Under **"Publish a calendar"**, pick the calendar and the permission — **"Can view all details"** if titles & details should transfer, otherwise "Can view when I'm busy".
3. Copy the **ICS link**.

The chosen permission determines what's in the feed — and thereby the maximum Kalender Sync can read. The sync's [visibility level](https://docs.kalender-sync.de/en/sync/visibility-levels/) can restrict it further, but never extend it.

### Apple iCloud

1. Open the [iCloud calendar](https://www.icloud.com/calendar/) → share icon next to the calendar.
2. Enable **"Public Calendar"** and copy the link.
3. No need to change `webcal://` — Kalender Sync converts it to `https://` automatically.

## Adding the feed in Kalender Sync

<Frame src="/images/app/en/ical-feed-modal.webp" alt="“Add iCal Feed” dialog with feed URL field" caption="Paste the feed URL — it's verified immediately on adding." />

1. In the dashboard: **"Connect calendar"** → **"iCal Feed (URL)"**.
2. Paste the copied URL (HTTPS only; `webcal://` is converted automatically).
3. **"Test & Add"** — Kalender Sync fetches and verifies the feed right away.

The feed is then available as a **source** in your syncs.

## Limits of feeds

- **Source only, never target** — syncing back into the blocked calendar doesn't work via feed.
- **5-minute cadence** plus provider caching instead of real time.
- An **iCal export** out of Kalender Sync (your own feed URL to subscribe to) doesn't exist yet → [Known limitations](https://docs.kalender-sync.de/en/troubleshooting/known-limitations/).

## Removing a feed

Feeds appear under **Settings → "Connected calendars"** as a regular calendar card. On deletion, the dialog lists all affected syncs ("Deleting "X" will end N syncs") and ends them cleanly — the blockers in the target calendars are cleaned up. Details: [Removing calendars](https://docs.kalender-sync.de/en/connect-calendar/disconnect/).