86

I subscribe to a couple of external calendar feeds from my Google Calendar (within a Google Apps account) and am curious to know how often they get updated.

For example, I have a subscription to my TripIt.com calendar. If I make a change in TripIt it can be a few days before that change shows up in my Google Calendar.

How often does Google Calendar update these feeds?

1
  • 1
    this is really annoying... more than once my wife has luckily "reminded" me of an important event in a few hours which she put on her calendar which I never saw because those events are not showing up in a timely manner. Have you noticed if manually refreshing will make it show up sooner?
    – Michael
    Dec 13, 2017 at 14:06

6 Answers 6

50

Google says every few hours, which in my experience means 6-24.

Currently, calendar feeds are automatically updated by Google Calendar every few hours. We understand that some users want to have the ability to refresh the calendars they added manually and we are exploring various ways to enable this.

If the calendar you're subscribing to using Google Calendar isn't refreshed after 24 hours, please send us the calendar address and the detail of the problem so that we can investigate.

Source

4
34

For everyone that is on this thread or might see it in the future, I have made a Google Apps Script program to update the calendar as frequently as you like (up to every minute). It is available here: https://script.google.com/d/1BOk8MDLbLaHh6SwG1M1tsgNXjkcC-79LE0QoipRuTDxbO3fMVvqoROQD/edit?usp=sharing

The script parses the ics/ical file and creates events on a calendar based on that using Google Apps Script's version of the Google Calendar API.

Hopefully this helps you and someone who might see this in the future

8
  • 1
    Any chance you can add the functionality to delete events if they have been removed from the sourced calendar?
    – A Brothers
    May 10, 2018 at 18:39
  • 5
    @ABrothers That's being tracked here: github.com/derekantrican/Google-Apps-Script-Library/issues/5 May 10, 2018 at 18:40
  • @LeoUfimtsev As I had said when you opened the issue, please email me and I can help you May 30, 2018 at 18:43
  • 3
    Just discovered this and hoped it would solve the long time annoyance of slow syncing. Sadly I see the script doesn't support recurring events and our company uses a lot of them. If I don't find any other alternative I'll consider branching and trying to implement recurring appointment support. Aug 22, 2018 at 12:29
  • 1
    @BenMcEvoy unfortunately, unsubscribe/subscribe is not a functionality provided by the Google Calendar API and therefore unavailable to scripts Jun 21, 2022 at 15:14
15

The official source is https://support.google.com/calendar/answer/37100?hl=en&ref_topic=1672445#add_via_link (in the "Add using a link" section).

It might take up to 12 hours for changes to show in your Google Calendar.

In former versions of this answer, they wrote "up to 8 hours" - I have updated my answer according to the comments below.

3
  • 9
    Now the note says It might take up to 12 hours for changes to show in your Google Calendar.
    – Rubén
    Jul 31, 2015 at 17:42
  • That link now goes to a page that addresses a slightly different topic: Add someone else's Google calendar.
    – offby1
    Dec 5, 2015 at 16:27
  • the info is still there on the "Add someone else's Google calendar" page, it's just hidden in the "Add using a link" expandable section. Mar 30, 2020 at 18:09
12

I have noticed it may now take several days before changes are reflected. It looks like Google upped the time on their Calendar Help page from "every few hours" to "up to 8 hours" and now to "up to 12 hours."

Note: It might take up to 12 hours for changes to show in your Google Calendar.

Source: Add someone else's Google calendar: Add using a Link

0

It seems to depend on the feed. e.g.: Facebook's event feed seems to update rather quick, while (smaller?) apps can take many more hours.

0

I've tried many solutions, including the Google Apps Script mentioned in another answer, but it has a few corner cases (see comments there).

So here is my temporary solution until Google adds a Refresh now button:

  • Once I think a new event might have been added in the Calendar feed, if I only want to watch the new changes, I just use this Python code:

    URL = "YOURURLHERE"
    DISPLAYPASTEVENTS = False
    
    import urllib.request, datetime
    try:
        import icalendar
    except:
        import pip._internal.main ; pip._internal.main.main(['install', 'icalendar'])
    
    data = urllib.request.urlopen(URL).read().decode()
    gcal = icalendar.Calendar.from_ical(data)
    for component in gcal.walk():
        if component.name == "VEVENT":
            dtstart = component.get('dtstart').dt.astimezone()
            dtend = component.get('dtend').dt.astimezone()
            if dtend > datetime.datetime.now().astimezone() or DISPLAYPASTEVENTS:
                print("%s - %s    %s" % (datetime.datetime.strftime(dtstart, '%a %d %b %Y %H:%M'), datetime.datetime.strftime(dtend, '%H:%M'), component.get('summary'))) 
    

    Example of output:

    Wed 13 Nov 2019 09:00 - 10:30 Event A
    Wed 13 Nov 2019 10:30 - 12:00 Meeting B
    Fri 15 Nov 2019 10:30 - 12:00 Event C
    Mon 18 Nov 2019 15:00 - 17:30 Meeting D

  • Then I have checked the new events, and I know the new ones. That's basically all I want. (Then Google Calendar will update the display 6-24 hours later but at least I know now the new events).

Not the answer you're looking for? Browse other questions tagged or ask your own question.