This should be possible using Google Script. There are some scripts in the Script Gallery that you might find interesting, like EventManagerV3 - Script - Import your events into Calendar in one click. This script relies on the Google Calendar APIs.
Although you will probably have to modify it to suit your needs, it could be a good starting point.
You need to define when data is to be pushed from your spreadsheet to your calendar. Will it be triggered on every change to the spreadsheet? Or is it enough to push data once a day?
You will also have to deal with duplicates - you don't want to create a new calendar event every time a row in your spreadsheet is updated.
To install the script, go to your Google Spreadsheet and click Tools -> Script gallery.
Another possible way is to write your own script, and publish it as a service, in effect creating a web endpoint to your spreadsheet. If you can get it to serve iCal formatted data (or another format that the Calendar software can use), you might be able to set up a subscription from your Calendar system to the spreadsheet endpoint.
I created a small example spreadsheet, and created a script that I published as a web service:
function doGet() {
var result = "";
var ss = SpreadsheetApp.openById("0Avea1NXBTibYdGYzdlluUDV2R3FSTnBPU2JVNmFqeWc");
SpreadsheetApp.setActiveSpreadsheet(ss);
var values = ss.getSheetByName("Ark 1").getDataRange().getValues();
for (var i = 1; i < values.length; i++) {
result += values[i][0] + ": " + values[i][3] + "\n";
}
return ContentService.createTextOutput(result);
}
When invoking the web service, I get a list of events in plain text format.
Now, obviously, no calendar software will be able to parse that format, but it seems possible to create a proper iCal format by modifying the script.
I completely agree about Microsoft Flow. It's the only working way I've found to integrate Outlook 365/Outlook.com integration with Google Calendar). Microsoft Flow is a service similar to IFTT, except geared to work with Office 365 services (and IFTT can't do this).
Here's a bit more information:
The free level of Flow allows for 750 "events" per month. Events are triggered when a change is made on either of the calendars, so unless you update your calendar an average of more than 25 times per day you will be OK.
You will need to sign up for the free service and activate two "templates":
Either: "Google Calendar to Outlook 365 Online Calendar" & "Outlook 365 Online Calendar to Google Calendar" sync
OR: "Google Calendar to Office.com Calendar" & "Office.com Calendar to Google Calendar". Depending which one you use.
As you may know, if you have Office 365 Online, it can also be linked to an Outlook.com address, so you can have the same synced calendar on both services, if you use both.
Use this Bit.ly link to check out the various templates related to Outlook:
https://flow.microsoft.com/en-us/templates/?category=eventsAndCalendar&sort=properties/statistics/instantiations Again, you will need to sign up for the free account before you can use them.
Also, you can see a really helpful step by step guide to setting it up here: https://shift.newco.co/sync-your-calendars-using-microsoft-flow-and-yes-google-calendar-works-too-a28be5a604dd
Best Answer
The solution is to log into Office 365 via https://portal.office.com, click on Calendar and then click on Calendar again under "My app settings". Go to publish calendar and publish the desired calendar. Copy the ICS url created.
Log into Google Calendar and click the arrow on "Other calendars". Click the button "Add by URL" and paste the .ics link from Office 365. Google Calendar is now automatically updated with new events from Office 365 calendar.