How to sync elementary OS Calendar with multiple Google calendars

The AppCenter of elementary OS contains a large number of beautiful software solutions and also the pre-installed applications are generally great due to their combination of simplicity and usability. However, where I, but also many other elementary enthusiasts, run into, is a problem within the standard elementary OS calendar application in combination with your Google calendar. If you, like me, have created not one but multiple calendars within the Google Calendar application, for example to clearly separate your private appointments, work appointments and birthdays, the Calendar app of elementary OS does not automatically connects with all these different (sub) calendars when you want to sync them. Instead it will only show your default Google calendar. But there is a solution. In this article I want to show you how to sync the elementary OS Calendar with multiple Google calendars.

About elementary OS

The Linux distribution elementary OS has been growing in popularity for years and that is in my opinion not a surprise, because the design and development team behind this distribution knows very clearly what they stand for, have a clear vision of where they want to go to with elementary OS, and with this distro the team offers a distinctive platform for both Linux beginners and experienced users who love a minimalist working environment that focuses on pure use instead of configurability.

The elementary OS distro is not for everyone. Many Linux users love the complete freedom they have in other distros to adapt their Linux setup to their liking, both from a functional as well as from a look-and-feel point of view. This freedom is something elementary OS doesn’t really offer out-of-the-box (but more is possible with some additional applications like elementary Tweaks and Eddy). But that is not what elementary OS is about, as it is about simplicity and not configurability.

One area that makes elementary OS special, are the applications specifically designed and built for this platform, which mostly follow the robust design guidelines drawn up by the elementary OS team, resulting in a sense of strong uniformity.

Go to elementary OS Design guidelines

This uniformity is often lacking in the Linux world, which is one of the issues potential switchers face when they consider a switch to Linux. And even though this is gradually improving for a lot of distros and applications, and therefore much better than in the past, the elementary team is from a uniformity point of view, in my humble opinion, one step ahead of the competition.

You can find more about elementary OS and the (free) download section via the following link:

Go to elementary OS

What is the problem of the elementary OS Calendar app

As already indicated, this article is about the standard Calendar app in elementary OS. Personally I think it is a beautiful application that excels in simplicity, beauty and usability. It offers a clear structure, a handy sidebar with a daily overview, a nice graphical integration with location data and extensive repeat options.

elementary OS Calendar app

But as already mentioned in the introduction, this application does not automatically do everything right. To be able to maintain a shared calendar on all my devices and share it with my wife I use the Google calendar, as it does all this perfectly via a cloud based solution. In Google Calendar I use the option to organize my appointments and reminders in multiple Google (sub) calendars. The advantage of this is, for example, that I can temporarily switch off certain calendars, so that I temporarily only see the birthdays or only my project planning at a glance.

The problem: even though I can maintain my Google calendars without a problem within the browser, when I am working in Linux I like to keep my appointments and schedules in a native Linux application, such as elementary OS Calendar. But the standard elementary OS Calendar app only synchronizes with your main calendar when linking the app with your Google account. The other (sub) calendars will not automatically show in your calendar overview.

Without having a solution for this problem, using this Calendar app for only my standard calendar was not really an option anymore. And other people were looking for a solution for the same problem. So I was determined to find a solution for them and myself. I have been searching for a while for a workable approach. I visited multiple elementary OS related blogs, discussion groups and communities, but I mainly found the same question but not the right answer.I searched for quite some time for a solution, but only recently I found the perfect way to solve this issue.

How to make syncing with multiple calendars possible in elementary OS Calendar

So I landed on https://elementaryos.stackexchange.com/questions. There I found an approach that works flawlessly and is really simple to implement. Important note: this is not my solution. The credits go to Giovanni Milanesi.

The solution to be described below is possible because of the individual calendar id’s of your different Google (sub) calendars. You can use this id to link to different Google calendars from elementary OS Calendar. So let’s do the following:

1) Go to your Google account and open your Google Calendar app.

2) Hover over the calendar that you want to add to elementary OS Calendar.

3) Click on the 3 dots to open the Options for this calendar.

4) Select Settings and sharing.

5) Scroll down till you see the section Integrate Calendar.

6) Copy the calendar ID.

7) Open your elementary OS Calendar app.

8) Click on the Manage Calendars icon.

9) Click on Add New Calendar…

10) Select Type = Google, Give it a Name (name equal to Google calendar name is probably wise) and paste the copied calendar ID in the User field. Then hit Create Calendar.

11) Now fill in your Google User Name (your gmail address) and your Google Password and hit OK.

Now the Google calendar has has been added to your elementary OS Calendar.

If you have multiple Google calendars like I have, you can repeat the above procedure for each individual calendar.

That’s all.