Aggregating Google Calendars

One of the biggest complaints on campus right now is that many of us really don’t know what is going on. I don’t mean this in an abstract way, but quite literally what events are happening at what time and where. Most of this information is being delivered via email, any I would gather—given the changing nature of communication–that there are a lot of people at UMW who don’t read email like they used to—and some who rarely did and others who rarely will. Now, I am not trying to discount email all told, I understand its value. At the same time I’m also convinced that an events calendar needs to be as flexible and mobile as content on the web is becoming. The more folks can both easily contribute and republish freely the events going on around campus, the more likely it is we will now what is going on.

So, while I was admiring the new link to UMW Blogs on the UMW homepage, I clicked on the Events link, and to my surprise it was a Google calendar. Wow! Who knew? When looking at the source code, I released it was actually an aggregation of 10 different Google Calendars–all the more fascinating. So, then I started to wonder, “how many UMW related Google calendars are there?” I did a search for the term “UMW” through Google’s public calendars and found over 40. Insane, right? And many of them are dealing with lectures, public events, museum exhibits, registration info, recreation, admissions info, career services, the multi-cultural center, the bookstore, etc. Most of which is important information for students, staff, and faculty, yet only ten of them are aggregated into the calendar on the UMW site. So, I subscribed to all of them to see what it would look like, here is a view of this weeks events in my aggregated calendar:

Click on image for larger view

What’s amazing about this is to find less than half of these events I would have look in three or four different places on our campus website and my email inbox. With this kind of personal aggregation of Google calendars its all in one place, and I have a much better sense of what’s happening on any given day. But, there’s is the rub, this kind of aggregation of Google Calendars works perfects on an individual basis, but it is much harder to share out publicly on a web site or through a widget of some kind. What we have here is 40 different calendars (think of it as kinda like 40 different blogs for a class) with no really good way to aggregate them into a public calendar. Now, each of these Calendars has an RSS feed, but that won’t work in this regard because that feed will show the most recently added event in a calendar, which won’t necessarily match a chronological lists of events by day, week, or month. So RSS fails us here, and that is the engine we have used to publish and synchronize blog posts and the like.

So, how do we do it? Google won’t given me an embed code for the aggregation of all of the public calendars I subsrcribed to around UMW, for that might be one easy solution. But the issue is bigger, and thanks to Jon Udell, wh ahs been working through this issue for a while now, I have a much better conceptual understanding of the issues surrounding aggregating events which has been relatively forgotten with all the focus being on RSS. And, given where we are at UMW and with UMW Blogs, his forethought on this issue has finally come to bear in helping us think it through. The excerpt below is from his post “Celebrating iCalendar’s 10th Anniversary: The best is yet to come”:

Although iCalendar has been around for a decade, I argue that the confluence of syndication and personal publishing, in the calendar domain, requires three enablers.

First, you need a workable syndication format, and we have that: RSS for blogs, ICS for calendars.

Second, you need what we used to call one-button personal publishing. Bloggers have had that capability for a long time. Calendar users have it too, but it’s emerged relatively recently, and many aren’t aware of it.

Third, you need feed aggregators. These proliferate in blogspace but, I argue, are conspicously absent from calendar space. Services like Eventful and Upcoming produce calendar feeds. But because they do not consume them, they don’t encourage individuals and groups to publish feeds, and to think and act in a syndication-oriented way. I’ve prototyped a calendar aggregator at, but the category isn’t yet well-established.

If my analysis is correct, one or more well-known services that both consume and produce calendar feeds would unlock the latent potential of iCalendar and help us jumpstart a calendar syndication ecosystem.

As a side-note, the aggregation work Jon has been doing with the site is pretty awesome, and reminds me so much of the work Barabra Ganley has turned her focus to with community digital initiatives.

So, we have the RSS for Calendars which is ICS (or the green ICAL button in Google Calendars), we can publish events easily with something like Google Calendars or Eventful, but the third point remains the obstacle for me at this point–I don’t know of a good way to aggregate the ICAL feeds from these 40 calendars into one calendar on UMW Blogs or anywhere else folks want to put it. Moreover, if you created an aggregator where departments, clubs, and organizations all over campus could add their ICAL feed to such an aggregator, the idea of event management and communication would change dramatically on campus.

And for a larger vision, a recent post by Cole Camplese about Wall Streams and Jon’s Internet Feeds to TV experiments has me thinking about ways to visualize calendar events, alongside what people on campus are blogging, tweeting, uploading to Flickr, YouTube. etc. all around campus with a few well-placed plasma screens.

Until smarter folks than me figure this out, I’ll keep searching for ways to easily aggregate 40 Google Calendars into one public calendar on UMW Blogs, though I do think the issues emerging around aggregating an re-visualizing all kinds of events and actiity is really exciting.

By the way anyone have a quick fix for my problem? Tony, Patrick suggested Yahoo Pipes!, you ever experiment with this? 😉

Update: Thanks to the great Tony Hirst, who I imposed upon in this post, I realized that the solution was right before my eyes in two ways:  a) I had the source code for the aggregation already discovered and b) Google Calendars allows you to do this easily already. Here’s the rescue post from Tony, and below is my quote from his solution c/o commenter Steve Boneham (thanks Steve):

Aren’t comments wonderful (thanks Steve:-) – it seems thaqt you can generate the combined embed code within Google Calendar… Subscribe to the calenders you want to display, then go to the calendar settings:

Select the “Customise the color, size and other options”:

And then select the calendars you want to include:


This entry was posted in Uncategorized and tagged , , , , , , , , , . Bookmark the permalink.

22 Responses to Aggregating Google Calendars

  1. Matt says:

    Excellent stuff. I can’t wait to see it happen!

  2. h1pst3r says:

    This post takes me back to a project I worked on at Brandeis. We were deprecating a old community system (Ars Digita) which had managed the centralized campus calendar for almost a decade.

    However, loathe to install *another* monolithic community system, the challenge became leveraging ICS to create a distributed cal system based on the iCal standard. That’s only part of the voodoo though as the Rev points out. What happens when you have dozens and possibly hundreds of calendars across an enterprise and how does one person “publish” their calendar as well as view and subscribe to anyone else’s — especially when the specifc calendars might be anywhere in the cloud?

    Well, easy and not easy. Howver, iCal is elegant — and relatively underused. By building an iCal “mash-up” (yes, a la yahoo pipes) any user would be able “syndicate” their calendar to the mash-up, and anyone else, through the mash-up would be able to subscribe to other folks’ iCal feeds. Actually pretty simple.

    What was MUCH trickier was the culture change on campus. We went from a calendar “system of record” to saying, “use any iCal compliant calendar” and follow these calendaring conventions.

    I can’t believe other orgs are not seeing the same elegance in iCal with regard to the enterprise calendar problem.

    I am happy to send my reference architecture for this to anyone. Let me know!

    Thanks Rev, for the great site!

  3. Barbara says:

    As I watch my institution get ready to sink dollars it doesn’t have into renewing a bloated CMS that it doesn’t need, but we think we do because it might help us “manage” our calendars and help us “share information about events” and be “our portal,” I read a post like this and just want to cry.

    The revolution can and will be syndicated, indeed, but only if your school is fearless enough to see the simplicity in and the built in elegance of the free and flexible tools it already has (yes we have gmail as our campus email, but we have yet to release the calendar feature for our community to use).

    Gosh, I hope we see it soon. I really do.

  4. Tony Hirst says:

    “Google won’t given me an embed code for the aggregation of all of the public calendars I subscribed to around UMW”

    But the UMW events calendar is an aggregation of several Google calendar feeds?

    [iframe style=”border-width:0;width:540px;height:420px;padding:0;margin:0;” width=”540″ height=”420″ frameborder=”0″ scrolling=”no”
    ” ][/iframe]

    I haven’t seen that before? How was it generated? Is there a gcal tool that lets you pool these different group calendars? Or is it a hack?

  5. Tony Hirst says:

    Is 30boxes any good for calendar aggregation?

  6. Reverend says:


    Hahhahaha, not one to let the obvious kick me in the teeth! That is a very good question! 🙂 I was assuming that if you are the owner of several different calendars, you can aggregate them into one in Google Calendars and share them that way. But after just testing that it isn;t the case, or I can’t see the option. So, I am assuming that the UMW webmaster (or someone else) hacked it or knows a way. But I have to ask about this because I’m not certain.

    Also, 30boxes doesn’t seem to be able to handle multiple ical feeds, or at least it isn’t giving more than three add options–which when I do it borks. But it does work for a single ICAL feel, which is cool.

  7. Pingback: Displaying Events from Multiple Google Calendars in a Single Embedded Calendar View « OUseful.Info, the blog…

  8. Tony Hirst says:

    @jim @patrick I just had a quick test with pipes, and you can pull in ical feeds using the “Fetch feed” pipe block and merge them with a “Union” block. One of the output options is then an ical feed.

    So this calendar is fed by the ical output from a pipe that successfully merges 2 ical feeds using the above pipe:

    Google Calendar doesn’t seem to like the import though, and doesn’t display the dates when supplied with the pipe ical output.

    A quick test merging an ical feed with a Google Calendar RSS feed in a pipe doesn’t seem to work out of the box – there appears to be some sort of “issue” with the date stamps, though I haven’t properly investigated this. However, as the correct dates are being pulled in, I’m sure a little bit of wiring would fix that problem and allow you to merge ical and gcal rss feeds (of course, gcal also outputs ical, so you could just wire from that…)

  9. Pingback: Merging Several Calendar iCal Feeds With Yahoo Pipes « OUseful.Info, the blog…

  10. Tony Hirst says:

    “Merging Several Calendar iCal Feeds With Yahoo Pipes” [ ]

  11. Reverend says:


    Oh how you rule, you rule, you rule!

  12. Pingback: [Geekeries]:Displaying Events from Multiple Google Calendars in a Single Embedded Calenda… « Lelapin’s Weblog

  13. Pingback: [Geekeries]:Merging Several Calendar iCal Feeds With Yahoo Pipes « OUseful.Info, the blog… « Lelapin’s Weblog

  14. mikey says:

    I am using this for a school district site and have hit a snag. The google embed for multiple calendars is great until you hit 26 calendars. More than 26 returns and error. I have 50-60 which sounds a little insane, but most calendars contain seasonal events. Anyone found a solution for displaying 26+?

  15. Reverend says:


    I ran in to the same exact issue, and I haven;t looked for a fix just yet, but I will be. I wonder why this is? Strange.

  16. mikey says:


    Just about have a solution in place. I completely forgot about this app here in Providence called Fusecal (

    Here is what I’m doing. I have everything in Google calendars so I’m sticking with it. Fusecal imports calendars and enables you to combine calendars and export in a number of ways. I have a school district site so each school has around 10 calendars and they all need to be viewed on the school site and feed into the district master calendar. I copied the ical link for each activities calendar, put those all into Fusecal and then created school calendars in fusecal. Then I imported those new Fusecal calendars into Google calendar (use the ical export much faster than the Google export option) and created an embed code w/ those 10 school calendars which is actually all my calendars.

    Sounds a little sloppy, but it seems once you do the Fusecal import and export once there’s no maintenance to do other than update your Google calendars.

  17. Reverend says:


    very cool, that’s a nice workaround that I myself need to try because we, like you, have an absurd amount of Google Calendars, Fusecal is new to me, so thank you.

  18. Pingback: Aggregating Google Calendars « Scotsman on a Horse

  19. Pingback: IWMW Mashups Round the Edges: YQL, Microformats and Structured Data « OUseful.Info, the blog…

  20. jmcr says:

    @h1pst3r – the ical project at Brandeis sounds intriguing! I would love to learn more about your experience and architecture, for an effort to do something similar in aggregating MA humanities organizations’ calendars. I don’t see contact info here for you, but your reply to this comment or msg to at umb dt edu would be great. thx

  21. Ania says:

    I just figured out how to go around this. 🙂

    The aggregated calendar I just created appears here: (the last one on this page)

    To get the aggregated view on your site:

    In google sites create a new page. Then insert calendar. Then in the calendar properties, click on ‘Display Another Calendar’ link. You can do this for many calendars and google will aggregate them into one view on your site 🙂

    Hope this helps

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.