As regular listeners to MacBites and readers of this blog will know, I’ve been chasing the holy grail of having my work calendar available on my iDevices for quite some time. I’ve tried a number of solutions with limited success.

Outlook

Last week Minster68 came up with a suggestion which was to create a contact in Outlook which was his Gmail account and then set up an Outlook rule to forward on any meeting requests to this email address. Once the email is received by the Gmail account, the meeting is automatically added to the Google calendar that is associated with the Google account. The Google calendar is then accessed via his iPhone.

So on Friday I gave it a go and I’m pleased to report that it works.

Rather than labelling my Gmail contact as iPhone, which is what Minster did, I labelled it as “CalendarSync” as I think that is a little less obvious than iPhone, and a little less alarming for the other attendees who might think we’re becoming an Apple only company.

My Outlook calendar is full of items that have been generated via a meeting request, most of which are created by other people. Unlike many people, I receive meeting requests for more than just meetings. For example, every time I’m booked to deliver a training course, our team’s Training Co-ordinator sends me a meeting request.

Google

So I created an Outlook rule to automatically forward on meeting request emails to my CalendarSync contact, as suggested by Minster, and asked a colleague to set up a test meeting. The meeting request email came in, I refreshed my Google calendar and found that the meeting had been added.

Unlike Outlook, I don’t actually have to log in to Google and accept the meeting requests, they are just added to the calendar. Where a meeting is set up by me, it’s just a case of inviting the CalendarSync contact as Minster said.

As well as meetings, my Outlook calendar contains appointments, which are like iCal events. I use appointments for several purposes, primarily when I need to block off a period of time to work on a project but I’m not actually inviting anyone. I also use Outlook to record time spent on different activities so for example if somebody rings me with an Excel query and I spent 30 minutes on it, that is recorded in Outlook as an appointment.

To get appointments into my Google calendar, I can either invite the CalendarSync contact or change my way of working and use meeting requests instead of appointments and invite CalendarSync as the only attendee (you can’t invite yourself to a meeting).

My Manager and one or two others in the team have author permissions on my calendar so sometimes they add appointments too. As far as I can see, there’s no way of automating an email to Google for appointments created by somebody else, so I’m going to have to check for these and forward them on manually.

I have quite a few future meetings and appointments already in Outlook and as Minster said, these won’t be transferred across to Google. If these meetings and appointments have been created by me then I can open the item in Outlook, add the CalendarSync contact, save the item and the Google calendar will get updated. However, if the item has been been created by someone else then I have to use the forward command in Outlook, forwarding it to the CalendarSync contact.

I also tested what happens if a meeting or appointment is moved or deleted from Outlook and I’m happy to report that the Google calendar is automatically updated.

The only downside is that I now get a load of emails on my phone because my iPhone syncs to my Gmail account, however, that can be dealt with by setting up another Gmail account that is dedicated to this task and not attaching the mail account to the iPhone.

iPhone

Finally, to get my Google calendar on my iPhone, which, after all, was the object of the exercise, I subscribe to it via BusyCal on my desktop Mac and via MobileMe synchronisation, the calendar items appear on my iPad and iPhone.

You can access your Google calendar directly from your iPhone – via Settings > Mail, Contact, Calendars > Add Account > Other > Add CalDAV Account (especially handy for non-Mac users)

So all in all, a good solution and thanks to Minster for the idea.