In this post we take a look at some of the issues trying to integrate Outlook calendars into SharePoint sites and ways to address them.

The problem
If you search online you will quickly find there has been a long-standing issue with syncing/ connecting/ integrating Outlook calendars with SharePoint Online. An answer to this problem seemed to appear with the re-introduction of the calendar view in Lists, but this still doesn’t solve the problem as you still cannot connect it directly to an Outlook calendar in a modern way.
I came across this issue myself recently and tried to think up some alternate ways to do this as there doesn’t appear to be an out the box way to do it.
Option #1 – Power Automate
This is my favoured solution by far as it allows you to use the modern list views inside SharePoint for a better user experience. This option consists of:
- An Outlook calendar – Personal calendar in my example, but could be a shared calendar
- Power Automate flow – Runs when events are added, updated or deleted and switches depending on the type to complete the relevant action
- SharePoint List – Used to store the Outlook calendar events passed via Power Automate

- Create a new automated flow flow > select the When an event is added, updated or deleted (V3) Outlook trigger
- Add a Get items action > add a filter query to retrieve any list items where the Meeting ID matches what has been recorded in the list on creation

- The Get items action will return 0 items if the event is new and hasn’t been added to the SharePoint list yet. This is expected and will allow the switch case to go ahead and create the event.
- Add a switch case action > switch on action type
- Create a new switch case for the following action type outcomes: added, updated and deleted
New (added) calendar events
- Add a SharePoint create item action within the added switch case
- Add the relevant details from the calendar event to the SharePoint list item. In my case this was:
- Title: Subject
- StartDate: Start time with zone
- End Date: End time with zone
- Employee Claims: Organizer
- MeetingID: Id
Updated calendar events
- Add a condition within the updated switch case
- Create a condition where the SharePoint MeetingID is equal to the Outlook Id
- If true > add a SharePoint update item action > add dynamic content to update all fields other than the Meeting ID
- If false > do nothing
Deleted calendar events
- Same initial steps as above, adding a condition within the deleted switch case with a condition to check if the ID’s match
- If true, add a SharePoint delete item action > delete the list item based on it’s ID
- If false, do nothing

Option #2 – Use classic calendar option
I’ve included this as an alternative way of displaying an Outlook calendar, but please note actually displaying it within a page in SharePoint can be a little clunky as it’s a classic app being used on a modern page.
- Open your SharePoint site > New > App
- From the app store > switch to the classic experience

- Find the Calendar app > add it to your site
- The classic calendar app will open > press calendar from the ribbon > connect to Outlook
Note: This option doesn’t work with the new version of Outlook (2023 onwards). You will need to switch back to the classic view in order to do this,
- A popup will appear asking to connect the SharePoint calendar with your Outlook account > press allow
- The classic calendar will automatically sync with Outlook on a daily basis by default. You can change these settings under the options menu in Outlook
- To embed this calendar on a page in SharePoint, you can use the embed webpart and set the page view to full screen in the classic calendar app to hide the header

Notes and limitations
- The Power Automate option doesn’t handle all day meetings very well. When all day is selected, it appears in the SharePoint list calendar as a two day event.
- The classic calendar app is not responsive, so does not display well on a mobile device, or via the SharePoint app.
- The ability to connect to Outlook via the classic calendar is not supported in the new version of Outlook, so it is likely it will stop working eventually.




Leave a Reply