Why Subscribed Calendars Don't Update Instantly (and How to Fix It)

Learn why subscribed calendars don't update instantly, how refresh intervals differ for Google, Apple, and Outlook, and practical workarounds to force fresh data.

Updated June 3, 2026

You added an event to a feed, but it's not showing up in your calendar — that's normal. Subscribed calendars are read-only mirrors that refresh on a schedule, not the instant the source changes. This guide explains why subscribed calendars don't update instantly, how refresh intervals differ by provider, and the workarounds that actually help.

Why the delay happens

A subscribed calendar is pull-based. Your app periodically downloads a fresh copy of the .ics feed; it isn't notified when the source changes. Two delays stack up:

  1. Your app's refresh interval — how often it re-downloads the feed.
  2. The provider's caching — many hosts serve a cached copy and only regenerate the feed every so often.

Even with a fast app setting, the provider's cache can leave you looking at hours-old data. This differs from a full two-way account (CalDAV/Exchange/Google), which pushes changes almost instantly — see iCal vs .ics vs CalDAV.

Refresh intervals by provider

ProviderTypical behavior
Google CalendarRefreshes subscribed URL feeds on its own schedule — often several hours, and historically up to ~24 hours. You can't set it.
Apple CalendarYou choose an auto-refresh interval (5 min to weekly) on Mac; iPhone follows Fetch New Data settings.
Outlook (web/365)Refreshes "Subscribe from web" calendars on Microsoft's schedule (commonly several hours); not user-configurable.

The takeaway: Apple gives you control; Google and Outlook largely don't. If you need near-real-time updates from a feed, a subscription may be the wrong tool.

Set the refresh interval (where you can)

Apple Calendar

  • Mac: Right-click the subscribed calendar → Get Info → set Auto-refresh (e.g., every 5 minutes).
  • iPhone/iPad: Settings → Calendar → Accounts → Fetch New Data — set to Hourly or shorter. (Subscriptions use Fetch, not Push.)

See subscribe on iPhone and Mac.

Google and Outlook

There's no exposed setting. You're at the mercy of their refresh schedule.

Workarounds when you need fresh data now

  1. Re-add the subscription. Removing and re-adding the feed forces a fresh download immediately. Quick but tedious.
  2. Manually refresh where supported. On Mac, View → Refresh Calendars (or ⌘R) pulls all subscriptions now.
  3. Add a cache-busting parameter. If you control the URL, appending something like ?t=12345 (changing the value) can bypass a stale cache on some hosts.
  4. Subscribe in an app you control. Apple Calendar's adjustable interval beats Google/Outlook when freshness matters; you can then share onward.
  5. Ask the publisher how often they regenerate the feed — if the source itself only updates daily, no client setting will help.

webcal:// caching

webcal:// links resolve to the same cached .ics as their https:// equivalent, so switching prefixes doesn't make a feed fresher. The cache lives with the host and your app, not the prefix.

When it's not a refresh issue

If a feed never updates at all (not just slowly), check:

  • The subscription is enabled/ticked in your app.
  • The source URL still works (open the https:// version in a browser — you should see raw .ics text).
  • For Apple specifically, see iCloud calendar not syncing.

Should you import instead?

If you only need a one-time, fixed snapshot (say, this season's schedule with no changes expected), importing sidesteps refresh delays entirely — but you'll never get updates. For evolving feeds, keep the subscription and accept the lag. More on the trade-off in add a holiday or sports schedule.

If you use Google and Outlook, nocal unifies those calendars into one timeline — see how.

One calendar for all your accounts

nocal brings your Google and Outlook calendars into a single timeline — with notes attached to every meeting.