Add Company Holidays to Your Outlook Calendar Using Power Automate

Below are all the steps required to add your company holidays to your Outlook calendar. This is a simple approach that can easily be updated to pull the holidays and dates from other data sources like Exel, SharePoint, Dataverse…

Overview of the flow that will be created:

All of the holidays (events) will be stored in an array using a compose action.

[
{"Event":"Holiday - New Years","Date":"01/01/2022"},
{"Event":"Holiday - MLK Day","Date":"01/17/2022"},
{"Event":"Holiday - Presidents Day","Date":"02/21/2022"},
{"Event":"Holiday - Memorial Day","Date":"05/30/2022"},
{"Event":"Holiday - Juneteenth Day","Date":"06/20/2022"},
{"Event":"Holiday - Independence Day","Date":"07/04/2022"},
{"Event":"Holiday - Labor Day","Date":"09/05/2022"},
{"Event":"Holiday - Thanksgiving Day","Date":"11/24/2022"},
{"Event":"Holiday - Day After Thanksgiving","Date":"11/25/2022"},
{"Event":"Holiday - Christmas Day","Date":"12/26/2022"}
]

After that, a parse JSON event will be used to make the events available in the apply to each action. Note: after the parse JSON action is added to the flow, click the generate from sample button and paste in the holidays JSON from the step above.

Next, add an apply to each action to the flow. In the action, the output box will hold the body of the parse JSON action.



The convert time zone action is used to standardize the date format. For the base time use the Date field from the parse JSON action.

The last item that needs to be added is the outlook create event action. Note: for the End time property a formula is used: addDays(body(‘Convert_time_zone’),1)






Save the flow and run it.

Edit/Update –
For the End time value, you can input this expression: addHours(body(‘Convert_time_zone’),23) . If you set Is all day event to Yes, you’ll need a timespan that covers most if not all of the day.
Also, if you want to set Is reminder on, it must be input as minutes, so 17 hours would be 1020 minutes.


2 thoughts on “Add Company Holidays to Your Outlook Calendar Using Power Automate

  1. Hello
    Thank you for your post. I have the dates formatted as the following:
    {
    “Date”: “01.01.2022”,
    “Event”: “New Year´s Day”,
    “Day of the week”: “Sat”,
    “Calendar week”: “week 52”,
    “”: “”
    },
    {
    “Date”: “15.04.2022”,
    “Event”: “Good Friday”,
    “Day of the week”: “Fri”,
    “Calendar week”: “week 15”,
    “”: “”
    },
    {
    “Date”: “18.04.2022”,
    “Event”: “Easter Monday”,
    “Day of the week”: “Mon”,
    “Calendar week”: “week 16”,
    “”: “”
    },
    {
    “Date”: “01.05.2022”,
    “Event”: “Labour Day”,
    “Day of the week”: “Sun”,
    “Calendar week”: “week 17”,
    “”: “”
    }

    So day.month.year. How do I fix this issue due to format:

    InvalidTemplate. Unable to process template language expressions for action ‘Convert_time_zone’ at line ‘0’ and column ‘0’: ‘In function ‘converttimezone’, the value provided for date time string ‘15.04.2022’ was not valid. The datetime string must match ISO 8601 format.’.

Leave a Reply

Your email address will not be published. Required fields are marked *