Fusing Google Calendars with iCal
Many of our clients use a combination of communication tools to keep in touch — whether Outlook/Exchange, Apple Mail.app, Entourage, or Google Apps. Combining these tools can create some technical challenges, as technologies from different manufacturers don’t always play nicely together. Today I wanted to share a workaround that I use in my personal calendaring setup: using Google Calendars with Apple’s iCal. This necessitates figuring out how to get Google Calendar ‘delegate calendars’ to sync with iPhone/iPod Touch via iTunes.
Google Calendar is a great tool for managing appointments, accessible from anywhere (check out Colin’s thoughts on Google Apps). It is also very versatile as it offers the ability to import iCal .ics files and MS Outlook CSV calendar snapshots. A delegate calendar is an additional calendar you can add to your existing Google Calendar account. At the present time, it is not possible to sync/view delegate calendars when syncing an iPhone/iPod Touch from iTunes. They will not show up there as it looks like this feature is not supported/implemented at the present time. There is a simple workaround which will allow users to sync delegate calendars from within iTunes. The following steps will guide you through the process:
STEP 1: disable your delegate calendars from iCal
- Open iCal, then select ‘Preferences’ from the iCal dropdown menu
- Select your Google CalDAV account and open the ‘Delegation’ tab at the top of the window
- Uncheck each checkbox corresponding to each delegate calendar; they will disappear from the main calendar view where they were currently shown as delegates

Disable your delegate calendars from iCal
STEP 2: create the necessary account(s) for each delegate calendar
A typical Google Account URL has the following form: https://www.google.com/calendar/dav/USERNAME@gmail.com/user
This should be already present on your existing CalDAV account (the one you expunged the delegates from). Replace ‘USERNAME’ with your Google Account username, then copy and paste the line above into a temporary text document for now.
- Open your browser and log in into your Google Account, then follow the Calendar link
- Select ‘Settings’ on the ‘My calendars’ box on the left column of the page
- Select the delegate calendar you want to keep in sync from the main page’s frame
- At the bottom of the next page (the with the selected calendar’s details), copy the Calendar ID value (shown as clear text) which can be found in the ‘Calendar Address’ section; the Calendar ID has the following sample structure: qwertyuiopasdfghjkl1234567@group.calendar.google.com
- Go back to the previous temporary text document where you saved your Google Account URL, paste the Calendar ID value you copied in the previous step and replace the ‘USERNAME@gmail.com’ part as follows (replace the Calendar ID with your correct value):https://www.google.com/calendar/dav/qwertyuiopasdfghjkl1234567@group.calendar.google.com/user
- Then copy the whole resulting string
- Go to iCal, select Preferences once again and add a new CalDAV account: please make sure you expand the ‘Server Option’ dropdown and paste the aforementioned string into the ‘Account URL’ field.

Create the necessary account(s) for each delegate calendar
You will need to create a brand new iCal account for each delegate you have set up on Google Calendar. When done, your iCal software will display each delegate(s) as separate calendars, and each one of them will be shown into iTunes and will be available for synchronization in the Device’s Info tab.

Each delegate(s) as separate calendars
Thanks. That’s just what I needed to know.
Randy
July 13, 2009 at 5:12 pm
Wonderful! It worked like a charm!
I don’t know how you figured that one out, but thanks for sharing!
/Baroquew, on his way to getting his iPhone fully sync’ed
BaroqueW
August 1, 2009 at 10:33 am
yup, that’s the way to work around… i found out yesterday myself…
another way to find the addresses of the delegate agenda’s…
before removing them from the delegates tab, you can click on the delegat agenda at the left hand side where it is in the main window, under delegates, and check for their info; it will show the entire path and can be copy pasted from there
still not satisfied, as i really do nit like to go through this, currently, i’m investigating the principals of deligating and see how it can be done nicely
oh, under iPhone OS 3.x it is possible to sync live, without iTunes…
Settings => Mail, Contacts, Calendars => Add Account => Other => Add CalDAV Account => ….
and for each delagat… a new account but then, go to the account details and change the “Account URL” in “Advanced Settings”
Theo
September 1, 2009 at 7:16 am
Actually, i just checked once again, if one wants to sync with an iPhone… live
…then one does not need iTunes to synchronise, thus leave the the step of removing the delegates in iCal – which leaves no calendars to be checked in the syncronisation settings of iTunes
and one only needs to figure out that URL-path…
https://www.google.com/calendar/dav/xxxxxxxxxxx@group.calendar.google.com/user
and enter that in in the iPhone
Theo
September 1, 2009 at 8:18 am
Another, easier (I think) way!
Stumbled onto this soltion because I couldn’t get any of the above to work…grrrr):
Open your Google calendar: Click on SETTINGS > Click on the calendar you want to sync which should open ACCOUNT DETAILS….
Under CALENDAR ADDRESS, click the ICAL button which should reveal a long URL ending in “.ics” Copy that URL. (Easier to do all this on your laptop or desktop machine; paste that URL into an email, mail it to yourself, open the email on your iPhone and copy the URL from the email)
On the iPhone: Settings > Mail,Contacts, Calendars > ADD ACCOUNT > OTHER > ADD SUBSCRIBED CALENDAR > paste in the copied URL ending in “.ics”
On the next page that opens, add your Google USERNAME and PASSWORD.
At long last, I’ve got all my calendars showing on my iPhone’s iCal now!
Jim
September 15, 2009 at 1:12 am
Help! This tip doesn’t work with the current Snow Leopard iCal edition. iCal says creating another same account is not supported. What is the new workaround?
Thib
September 15, 2009 at 12:14 pm
Thib: on the iCal application in Snow Leopard, choose Preferences, click on the plus sign to add a new account and choose `CalDAV’ as the account type (not Google, even if you are about to add a Google Calendar). Enter the long string I have talked about before (items 5 and 6 on my post) in the Server address field. I am on Snow Leopard, I have tested this procedure and works fine.
Matteo Rinaudo
September 15, 2009 at 3:23 pm
Hey, what else should i paste in the fields?
If i only fill in the long adress, iCal wants to know username and PW…
if i fill it in, it won’t work, too…
whats the problem?
peter
January 28, 2010 at 8:45 am
When I do this in Snow Leopard, it says “No CalDAV server was found at the specified address”.
I am using:
http://www.google.com/calendar/ical/XXXXXXXgroup.calendar.google.com/private-d5018ee60d02e2ecb8ffabe5bf56e4e0/basic.ics
(XXXXX’s for privacy)
The link that is given in the share settings on Google’s Calendar page does not have /dav/ in it, it has /ical/ in it. I have tried both ways and neither works. I have also tried with http and https. Neither works.
Here is the message I get from all variants of above:
https:—–/ical/xxxxxx -No CalDAV server
https:—–/dav/xxxxxxx -No CalDAV server
http:—–/ical/xxxxx -No CalDAV server
http:—–/dav/xxxxx -iCal found the CalDAV server “www.google.com”, but couldn’t log in with the username “xxxxxx”. Make sure the user name and password you entered are correct, then try again.”
(The password and user name I have are obviously correct, checked by retyping)
Steve
February 9, 2010 at 6:19 pm
Correction: Your method works, here’s what I did wrong.
I was copying in, or using variants of the calendar address that one will get from the little [XML] [iCal] [HTML] buttons. This obviously does not work.
Just to the right of those buttons is the place that actually says “Calendar ID”. If you use that, inserted into the normal url convention that you gave above, it does work.
If you wanted to update this page, you could add a screenshot of the Gcal settings page, with a circle or an arrow showing where the Calendar ID is. I have used the XML link so much in the past, I thought that was what I was looking for.
Thanks for posting this solution. I can confirm this works in Snow Leopard.
Steve
February 9, 2010 at 7:00 pm
great! thanks a lot!
jb
October 7, 2009 at 11:52 am
great – thanks it works.
now the next problem: How can I sync my Iphone so that a a new Calendar entry from the iphone shows up in a google calendar. The only option I get from Isync is to sync it with an ical calendar.
bernie
October 19, 2009 at 2:55 pm
I have a different problem. I want to:
- Create a shared calendar on Google Calendar
- Import historical events (from a ics-file I have, I have checked and it validates (http://severinghaus.org/projects/icv/)
- Edit events in iCal (Snow Leopard)
What I successfully managed was:
- Created the shared calendar
- Imported historical events (tried importing at Google Calendar and importing in iCal)
- Events can be viewed in Google Calendar
- Events are NOT visible in iCal (delegate-view)
- Events ARE visible in iCal if I subscribe to the public feed
Anyone else have experienced this? If anyone want to look at this, I can invite you to edit the calendar (Google account).
Svein Are
December 8, 2009 at 4:08 am
I keep hitting a snag in Step 2, #7 and I can’t figure out what I am doing wrong. I keep getting error messages saying either that my password was rejected (I have checked it several times) or that the server is not recognized. Is there a step-by-step for making a new account for delegates in iCal (snow leopard)?
Thanks
Ruth
February 7, 2010 at 12:47 pm
Wicked Help!!! Thanks for the tips, you saved me a lot of time with my calendars.
Cheers!
Billzy
February 27, 2010 at 9:53 am