Connecting Outlook Calendar events to a SharePoint list using Power Automate is an easy process and many blogs are describing how to do this. There are templates in Power Automate to facilitate this process, just find the one that suits your needs and fill in the blanks. This works great for single timed events but we see some issues arise when dealing with All Day events. What’s so special about All Day events? In both Outlook and the SharePoint Events list, there is a flag for All Day events. In SharePoint when the flag is checked, it sets the start time to 12:00 AM and the end time to 11:59 PM.
With the images below, I’ve created a timed event and an All Day event directly in SharePoint. Here’s how they look in the list itself and in the Events web part.
However, in Outlook when the “All Day” flag is checked, it sets the start time to 12:00 AM, but it sets the end time to the next day at 12:00 AM. In the Outlook calendar, this displays as a single day event. In SharePoint though, this now appears as a 2-day event.
Unfortunately, in Power Automate, there is no option to set the “All Day Event” flag in the Create Item action. My first thought was to have Power Automate adjust the date/time on the Create Item to match what the SharePoint created item has.
At least it looks better, but in the Events Web Part, we’ll see the start time of the item instead of “All Day” which we get with the SharePoint created item. If we really want to do this right, we will need to use the Send an HTTP Request to SharePoint action in our Power Automate flow to add the item to SharePoint. Note the field names here, they are the internal names.
Keep in mind that if you use this method to create items in SharePoint, you will also need to use this method to update items in case “All Day Flag” is changed.