Add .ics events to your main Google Calendar
Google Calendar is one of the cornerstones of G-Suite. Sadly Google don't dedicate enough resources to develop into its full potential. Other than a new icon and forced Google Meet integration, it hasn't had many improvements recently. Leaving it to the community to pick up the pieces.
Here's how to get an external calendar integrated with your internal calendar.
Why is this useful?
I'm starting a university course soon. They give me an .ics
calendar feed of all my upcoming classes, lectures, and exams. I want those to appear in my work calendar so that my colleagues don't try to book meetings when I'm meant to be learning.
I could copy over each event manually. But that's tedious, and doesn't reflect any changes that occur to the original event.
GAS-ICS-Sync
There's a brilliant open source script called GAS-ICS-Sync. It takes an .ics
feed and copies the events over to your main calendar. It checks for updates every 15 minutes - unlike G-Suite which checks once per day.
It takes a little bit of configuration to get right, the main action takes place from line 19 onward. This is what you want it to look like:
JAVASCRIPTvar sourceCalendars = [
// The ics/ical urls that you want to get events from along with their target calendars (list a new row for each mapping of ICS url to Google Calendar)
// For instance: ["https://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics", "US Holidays"]
["https://example.com/feed.ics", "YOUR.EMAIL.ADDRESS@gmail.com"]
];
Put your feed in there, and your own email address. If you use something like "My Events" then you'll end up with a separate calendar - rather than syncing the events to your main calendar.
Google could just add a checkbox on .ics
import which says "copy events to my calendar" but I guess they'd rather sit in their chairs and spin round all day.
Jamie Tanna said on www.jvt.me:
This is awesome, I’m glad you managed to find a way to sort it. I’ve got some iCal feeds I’ve set up via https://www.jvt.me/posts/2020/06/14/track-certificate-expiry-jwks-ical/ that I feel would work well with this to manage more easily
Reuben Thomas says:
Why do you want them in your main calendar? I've used ICS feeds for work (where things rarely change less than a week ahead, so as it happened the built in functionality was fine) and it never occurred to me to want the events in my personal calendar, when it's so easy to show multiple calendars.
Also please don't casually insult the Google devs. Without their work this solution couldn't have been built and you can be sure that they're not spinning in their chairs all day. If you won't pay for the functionality you want, then, in this case, you'll get the product warped by the needs of advertisers who actually pay for it. You're free to give your money to someone who makes the product you want, and Google management (not devs) is free to ignore your opinion, since they make money from advertising to you, not directly from offering you useful stuff.
@edent says:
Hi Reuben, I'm sorry that I wasn't clear. I want them in my main calendar so that other people at my work can see them. If I just add a regular ICS feed, then I need to share both calendars. That's a pain. Most people using GCal will type in my name and just expect to see all my appointments for the day.
Speaking of which, my employer pays a considerable amount for G-Suite. It is a paid product and, as such, should reflect the needs of paying customers. Lots of people have asked for this solution - but Google are either unwilling or unable to fix it. The solution was built by open source coders who don't work for Google.
Reuben Thomas says:
Thanks for explaining why you want to merge calendars.
It's frustrating being an Insignificant customer of a mega-corp. Still, it seems more a reason to take your money elsewhere rather than your frustration out on devs who don't have any say in product direction.
I'd be interested to know how significant paying customers are to Google. I've seen this phenomenon of "but loads of people asked for it" many times in free software; but without some sense of the overall picture, that might still mean nothing. It's more complicated than simply "enough customers want this to pay for the development".
In the end, just another reason to use free software, where your control over it is strictly proportional to your commitment. More tractable to model!
@edent says:
If you can recommend a FOSS email, calendaring, video call, and document management solution which scales to tens of thousands of people, has a priority support line, and complies with data protection laws - as well as having security suitable to defend against hostile state attackers - then please let me know and I'll commend it to my employers.
Reuben Thomas says:
I can't, though that does sound like a peculiarly demanding set of requirements. Perhaps that's why you're not having much luck? I hope yours improves!