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
13 Jul 09 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
1 Aug 09 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
1 Sep 09 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
1 Sep 09 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
15 Sep 09 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
15 Sep 09 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
15 Sep 09 at 3:23 pm
great! thanks a lot!
jb
7 Oct 09 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
19 Oct 09 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
8 Dec 09 at 4:08 am
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
28 Jan 10 at 8:45 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
7 Feb 10 at 12:47 pm
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
9 Feb 10 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
9 Feb 10 at 7:00 pm
Wicked Help!!! Thanks for the tips, you saved me a lot of time with my calendars.
Cheers!
Billzy
27 Feb 10 at 9:53 am
hej, on Snow Leopard (10.6.3) I used CalDAV as Account type and pasted the Calendar ID of the calendar I wanted to use (as qwertyuiopasdfghjkl1234567@group.calendar.google.com in this explanatory) as user name, used my password and in Server Address I put http://www.google.com.
Click on Create and you get the following error:
“iCal found the CalCAV server “www.google.com”, but couldn’t log in with the user name “qwertyuiopasdfghjkl1234567@group.calendar.google.com”. Make sure the user name and password you entered are correct, then try again.”
But right with the error and if you don’t wait to long, the button “Create” changes to “Continue” and if you click it, you can change “user name” to your google user name, hit the Create button and voila, its done. This “simple”
.jsber
4 May 10 at 10:16 am
THANK YOU! GREAT POST. Solved a huge headache for me. Apple shouldn’t create a problem like this! That is why we use Apple and not Microsoft! This is such a Microsoft like problem!
David
7 May 10 at 6:26 pm
well done! thanks for the info
Benny Powers
19 Jul 10 at 5:41 pm
Awesome solution! You rock. Thanks for taking the time to post this.
Eric Brown
9 Aug 10 at 10:10 am
awesome! that worked perfectly for me, thanks!!!
spike
9 Aug 10 at 5:07 pm
It no longer works. You cannot create a new Google Account that is the same as an existing one. You cannot create it as a WebDAV account, cause iCal 4.0.3 tells you “the server didn’t defined a calendar home”. It sucks! :-\
Marco
28 Aug 10 at 2:54 pm
Hello Marco – I actually tried on my iCal (version 4.0.3) and it still works. Please make sure you specify `CalDAV’ for the Account type and you input the right Server address (as described in the post) whenever you add a new CalDAV account for your other calendar(s). I have two CalDAV accounts: my primary Google Calendar and an additional calendar I did set up. If I go to `Server settings’ on my iCal, I see two different `Server path’ values for each one of those calendars, but the same values for Server address: this means that I have two different CalDAV accounts of mine set up on the same server, but with different paths (main calendar and additional calendar).
I hope this helps.
Matteo Rinaudo
30 Aug 10 at 4:52 pm
Hello BaroqueW: at the very beginning, I tried to sync my primary CalDAV account and its delegates many times, I also deleted and reconfigured my main CalDAV account again, but no luck: iTunes was only displaying my primary CalDAV account with no delegates at all.
I thought that would have been better to let iTunes browse `real’ CalDAV accounts configured on the system, rather than `logical’ ones (delegates).
Then I looked into my Google Calendar account (web browser) and I noticed the email-like pattern in the `Calendar Address’ setting value (Calendar ID) for one of my secondary calendars. I compared it to the value on my primary calendar, and I noticed it was just my email address. At this point I tried to create a new CalDAV account with a different server address, basically I replaced my email address (Calendar ID of my main account) with the Calendar ID of the second calendar, and it worked.
Matteo Rinaudo
30 Aug 10 at 5:16 pm
I just did this to avoid having everything listed as a delegate, but I ran into another problem. Now, each individual calendar I have is listed under my google account name separately. For instance, I’ll have a group titled “myemail@gmail.com” and under that I’ll have one calendar. Then I’ll have another group titled “myemail@gmail.com” and under that another calendar. Every one of my calendars is listed individually like that. Any ideas?
kevin
18 Sep 10 at 7:22 pm
I’d like to say first that this is a great fix for the delegate calendar issue. It works really well for reading events on delegate calendars. However, when I go to create a new event in iCal (on my iPod Touch) the event only shows up in the primary calendar, which I don’t even use.
Is there any way to set up iCal on the Touch so I can select which calendar I want to create the event in?
Ian
Ian Shulman
21 Sep 10 at 8:20 pm
Hello Kevin: since the main calendar and your delegate(s) have been configured as separate accounts, iCal seems to be listing them separately on the left column. As per my understanding, I am not sure if it is actually possible to group them (since they are configured as separate CalDAV accounts, even if they belong to the same one), but you can modify each description field for each account such as instead of (e.g.) `myemail@gmail.com’ for all of them, it reads its specific description, for instance `Main Calendar’, or `TODO’ or `MY OTHER CALENDAR’. To do so, open iCal, go to `Preferences’, select the `Accounts’ tab and click on each account entry on the left column to select it and to edit the `Description’ field.
Matteo Rinaudo
28 Sep 10 at 5:17 pm
Hello Ian – when you create a new event: open the `Calendar’ application on your device and tap on the `plus’ sign, the `Add Event’ form should have a field called `Calendar’. This field holds the `Default Calendar’ setting that is configured in the `Mail, Contacts, Calendar’ form of the `Settings’ application on your device. When you create an event, you should be able to tap on the aforementioned `Calendar’ field, and then a list of the available calendars which are set up on your device should appear: at this point you should be able to select the desired calendar for your event. Also, if you do not use your default calendar as you mentioned, you might consider changing the `Default Calendar’ setting the `Mail, Contacts, Calendar’ section mentioned before: there you can choose the calendar you use most often as the default calendar.
Matteo Rinaudo
28 Sep 10 at 5:37 pm
Hello again Ian – actually the option to choose which calendar to create an event in seems to be offered only when calendar accounts are created on the device itself.
Matteo Rinaudo
29 Sep 10 at 10:06 am
Hi,
I have Ian’s concern, too. With this method, you are unable to add the event created on an iPhone/iPad/iPod Touch to a calendar that’s synced with Google. You can only select a ‘local’ calendar.
That then defeats the purpose of having separate (organized) calendars if you end up with an ‘Unfiled’ calendar anyway, storing all events entered on your device/s. If you’re not feeling lazy, you sort them out when you’re on your Mac, but that’s very tedious and inefficient.
Might as well go back to my no-sync iCal for now.
Thanks, still, Matteo.
Angela
10 Nov 10 at 7:29 am
Thanks,
You saved the day for me. Very accurate, clear, easy to follow instructions for this task. Thanks!
Dan
11 May 11 at 7:42 pm
[...] http://blog.controlgroup.com/2009/06/30/fusing-google-calendars-with-ical/ [...]
iCal, Google Kalender und der Sync « Crankjuice
31 May 11 at 4:29 pm
Really like your approach.You’re providing information I can use at this moment, and fixin’ to. Thanks!.
Berniece Cisneroz
1 Aug 11 at 11:28 pm
Thanks for your help, no-one else explained this way!
Simon
31 Aug 11 at 2:03 am