" iCal "

Delegated Calendars iCal

How to change the colours of Microsoft Office 365 Shared Calendars in Apple Calendar for OS X

UPDATE (1st May 2017): Several users have reported this tutorial no longer works in MacOS Sierra, I haven’t yet been able to test this myself yet as Apple Calendar is no longer my primary calendar app (I now use Fantastical 2). I will test and confirm this asap.

If you use Microsoft Office 365 and utilise the shared calendar feature you may have found that unless you are using Microsoft Outlook for Mac you aren’t able to access these calendars in Apple Calendar. For reasons that aren’t obvious, when you add calendars that you are a delegate for (see my previous article for how to add delegated calendars to Apple Calendar), you aren’t able to change the automatically selected random colour that the application assigns to it.

I’ve found many posts online with people asking the same question on how to change the colour, but so far no one seems to have found a way to do it (Google Apps users have reported that the colour can be changed by changing it on the web interface so it’s possible the colour feature is blocked because it can be set at the server level but for whatever reason Microsoft doesn’t do this). After some experimentation I’ve found a way to modify the colours to your own choice, it’s slightly technical so I’d advise only doing this if you are comfortable editing .plist files and using the Terminal, so if you are here is the tutorial:

Pre-requisites: This tutorial is based on OS X El Capitan 10.11.3 and the version of Apple Calendar that ships with it, these steps may work for older and newer versions of the Calendar app including iCal but I make no guarantees of this, experiment at your own risk. You will also need to have already setup your delegated calendars in Apple Calendar before getting started, click here to see my tutorial on how to do this. You should probably get the 6 digit hex code for your chosen color(s) before starting as launching Safari may open the CalendarAgent in the background and overwrite your changes, see the bottom of this article for a list of the default Apple Calendar Colour hex codes.

  1. Quit all your running applications (this is important as apps other than Calendar will call the calendar agent in the background).
  2. Quit Apple Calendar if you haven’t already.
  3. Make sure the CalendarAgent isn’t running in the background, open Terminal and run the following command replacing yourusername with the username of your OS X user account:
    killall -u yourusername CalendarAgent
  4. Open Finder and click on Go > Go to Folder and type ~/Library to browse to your library folder.
  5. Delete the following file: ~/Library/Calendars/Calendar Cache
  6. Delete the following file (if it exists): ~/Library/Caches/com.apple.iCal
  7. Browse to ~/Library/Calendars
  8. You will see a series of folders some of which end in .exchange, inside one of these folders click once to select the Info.plist and look at the preview of the content (or press spacebar to quick view the contents of the file if you don’t have preview switched on in Finder):
    Screenshot from Finder
  9. Inside the same folder there should be another folder that ends in .calendar (if you have multiple .calendar folders look in the Events folder inside each of them, the active calendar will contain .ics files, the other folders should be empty), inside this folder there will be a plist file called Info.plist, open this file in TextEdit or the text editor of your choice (make sure you are inside one of the .calendar folders, both this folder and it’s parent .exchange folder have a file called Info.plist and it’s important you edit the correct file).
  10. Locate the line that says <key>Color</key>, the line below is should say something like <string>#1D9BF6FF</string>, replace the part that says #1D9BF6 (your color string may be different) ignoring the last two FF characters, these are not part of the hex code and need to be left as they are:
    Apple Calendar
  11. Save and close your Info.plist file and relaunch the Calendar app, it should come up with a loading bar while it rebuilds the cache and updates the calendar, once that has finished your calendar should now have your custom colour set on it.

Default Apple Calendar Colours (Hex Codes)
Red – #FB0055
Orange – #FB8208
Yellow – #FEC309
Green – #56D72B
Blue – #1D9BF6
Purple – #BF57DA
Brown – #90714C

How to add Microsoft Office 365 Shared Calendars to Apple Calendar for OS X

I’m not the biggest fan of Microsoft products, anyone who knows me will tell you how much I love my Apple products (ironically just 6 years ago I was an Apple-hater but am now one of their biggest fan boys!). The office I’ve been working at for the past year uses Microsoft Office 365 as their email provider, I helped them migrate from a 3rd party hosted Exchange solution to Office 365 and it hasn’t been without some really odd issues that defy common sense. I’m talking about issues that most Office 365 administrators have experienced, things that don’t work as common sense would expect such as the Office 365 Shared Calendars which are great as long as you are using Microsoft Outlook as your client.

We have 9 Mac users in the office, most of whom have switched recently from Windows and are happy to use the Outlook client to access their emails and calendars, but a few of us prefer using the native clients on OS X including myself. I recently switched from using Sparrow to Apple Mail and have struggled to get my shared calendars working in either Apple Calendar or my preferred client, Sunrise Calendar (despite Sunrise being owned by Microsoft it still doesn’t support shared calendars, a trait shared with the Microsoft Outlook for iOS/Android apps), so I’ve spent some time working out how to this and decided to share the information as I found it difficult to find on Google.

Pre-requisites

I’m using OS X 10.11.3 so the instructions are based on the version of Apple Calendar that ships with it but you should be able to apply these instructions to older versions of Apple Calendar/iCal although be aware some of the file paths might be different. You will also need Microsoft Outlook setup on a Mac or Windows machine with an account that has administrative access to Office 365 as this is needed to change the permissions on your shared calendars.

Granting users Permissions on your Shared Calendar(s)

Even though you may have already given a user access to a shared calendar via the Office 365 Exchange Control Panel (if you haven’t it’s probably best to do this before going any further) this won’t provide them with permissions that Apple Calendar uses to add delegated calendars!

  1. In Microsoft Outlook right-click on the calendar you wish to access in Apple Calendar and click Sharing Permissions:
    Microsoft Outlook
  2. On the permissions dialog you will need to add your user(s) and select what level of permissions they will have (they will need at least Read > Full Details permissions):
    Microsoft Outlook
  3. That’s it! Now the user(s) can add this calendar to Apple Calendar (repeat these steps for each calendar you wish to add).

Adding Calendars to Apple Calendar

  1. Open Apple Calendar and go to Preferences, click on the Exchange account and click the Delegation tab:
  2. Click on the + button and then type in the name or email of the shared calendar. Don’t forget to tick Show.
    iCal_Setup_-_Step_3
  3. You should now be able to see your shared calendar in Apple Mail, but wait why can’t we change those automatically selected colours? It turns out either by design or a long-standing bug that Apple Calendar stops you from changing calendar colours on calendars you don’t own. See my next article below to see how you can manually set colours of your choice.

Next Steps: How to change colours on Microsoft Office 365 Shared Calendars on Apple Calendar for OS X