One of my clients recently asked me to export Outlook calendars to an Excel spreadsheet and Excel calendars to an Outlook calendar while I was working on Power Automate flows.
In this tutorial, I will explain how to add calendar in Excel using Power Automate, how to export Outlook calendar events to Excel Power Automate, and some below topics:
- Excel to Outlook Calendar Power Automate
- Power Automate Create Calendar Events from the SharePoint List
Export Outlook Calendar Events to Excel using Power Automate
To export the Outlook calendar events to the Excel spreadsheet using Power Automate, follow the example below:
Example:
The below image shows the list of events that are present in the Outlook calendar.

After that, I created the empty Excel sheet with details like Subject, Start Date, End Date, and Required Attendees columns.
After creating the Excel sheet, format it as a table -> In the Home menu, click on the Format as a Table button.

Go through the steps below:
1. Navigate to https://make.powerautomate.com -> Click on +Create -> Select Instant cloud flow -> Choose Manually trigger a flow -> Click on Create button.
2. To get all the events from the Outlook calendar, select Get Calendar view of events (V3).
Here, I need to select the events present in the current month. So, provide the below Expressions.
- Calendar Id: Choose Id as Calendar from the drop-down options.
- Start Time: Provide the below expression, which will take the start date of the current month.
startOfMonth(utcNow())- End Time: Place the below code in the end time.
startOfDay(addDays(utcNow(),21))
3. To add the events to an Excel table, choose the Add a row into a table action.
Set the following details: Location, Document Library, File, and Table.
Click Showall to display the advanced parameters.
- Date Time Format: Choose ISO8601 format from the drop-down.
- Subject: Choose a Subject from dynamic content.
- Start Date: Select the Start Date value from dynamic content.
- End Date: Prefer to take End Date value from dynamic content.
- Required Attendees: Choose Required attendees from dynamic content.
Then, For each loop will be added automatically by taking the body/value of the Get calendar view of events from dynamic content.

Save and run the flow.
Output:
As you can see the result in the screenshot below, the flow automatically exports the Outlook calendar to an Excel spreadsheet.

This is all about how to get a calendar view of events from Outlook and export it to Excel using Power Automate.
Excel to Outlook Calendar Power Automate
To create an event from the Outlook calendar using Power Automate, see the below example:
Example:
I have created an Excel sheet with columns for Subject, Start Date Time, End Date Time, Description, Event ID, and Index.
Refer to the image below:

Here, I wanted to create an event in the Outlook calendar from Excel data ->Then update the Excel sheet Event ID column with the Event ID created in the Outlook calendar.
Here are the steps below:
1. Browse Power Automate, and then click on Create and select Scheduled Cloud Flow.
In the Recurrence trigger, add the below-shown parameters:
- Interval: Provide the number of time intervals that the flow should run.
- Frequency: Select the frequency from drop-down.
- Time Zone: Choose the timezone from the drop-down.
- Start Hours: Provide the start hours when the flow should run.

2. After that, add List rows present in a table flow action. Set the below details:
- Location: Select the group/ SharePoint site where the Excel file is present.
- Document Library: Choose a document library from the drop-down.
- File: Select the Excel file from the open folder icon.
- Table: Choose the table name from the drop-down.

3. Here, we need to check whether the event is already existed or not. So, we need to use Condition control flow action.
To create a new event from the Excel data that does not exist, choose and add a Condition control action.
Provide the below given conditions:
| Choose Value | Operator | Choose Value |
| empty(items(‘For_each’)?[‘EventID’]) | is equal to | true |

4. Under the True condition, add the Create event(v4) flow action. Provide the required parameters below:
- Calendar Id: Choose the Calendar option from the drop-down.
- Subject: Take Subject from dynamic content.
- Start Time: Select Start Date Time from dynamic content.
- End Time: Choose End Date Time from dynamic content.
- Time Zone: Select the preferred time zone.
Click Showall to display all the required parameters.
- Required Attendees: Provide email addresses of required attendees separated by semicolon(;).

5. Now, I want to update the created Event ID in the Excel sheet.
So, add Update a row flow action. Ensure to fill in the details like Location, Document Library, File, and Table.
- Key Column: Select the Excel column name [Index] from the drop-down.
- Key Value: Choose the Index value from the drop-down.
Click Showall to display all the Advanced parameters.
- Event Id: Select the Id value of Create events(V4) from dynamic content.

6. Now, click on Save -> Select Test -> Choose Manually -> Click Runflow button.
7. When the flow runs successfully, you can check that the event will be created in the Outlook calendar by satisfying the condition.

8. It will also update the Event ID in an Excel sheet with the created calendar Event ID, as shown in the below figure:

This is how to create an event calendar from Excel data using Power Automate.
Power Automate Create Calendar Events From SharePoint List
To create calendar events from the SharePoint list in Power Automate, check out the below example:
Example:
Here, I have created a SharePoint list with a few columns that are required to create events in the Outlook calendar:
| Column Name | Data Type |
| Meeting Subject | Title[Renamed to Meeting subject] – Single line of text column |
| Required Attendees | Person or Group column |
| Start Time | Date and Time column |
| End Time | Date and Time column |
| Meeting Message | Single line of text |

Whenever an item is created in the SharePoint list [Calendar Events Creation List], a calendar event should have to be created with the provided details in Outlook.
Steps to follow:
1. In the Power Automate Automated cloud flow, select the ‘When an item is created‘ trigger.
- Inside the trigger, choose Site Address and List Name.

2. To create events in the Outlook calendar, add the Create event(v4) flow action of Outlook. Set the required parameters below:
- Calendar Id: Choose Calendar from the drop-down options.
- Subject: Select Meeting subject[Title] from dynamic content.
- TimeZone: Choose a preferred timezone according to your requirements.
- Start Time: Provide the expression like below.
formatDateTime(triggerBody()?['StartTime'],'yyyy-MM-ddTHH:mm')- End Time: Insert the below given expression.
formatDateTime(triggerBody()?['EndTime'],'yyyy-MM-ddTHH:mm')Click Showall to display all the advanced parameters:
- Required Attendees: Choose Required Attendees email from dynamic content.

3. Once the flow is ready, click on save and test the flow manually. At this point, add a new item to the SharePoint list, as shown in the figure below:

4. When the flow runs successfully, you can check that the event has been created in the Outlook calendar, as shown in the figure below:

This is how to create the calendar events from the SharePoint list using Power Automate.
Moreover, you may like some articles below:
- Power Automate List Rows Present in a Table Filter Query
- Power Automate Send Email On Specific Date
- Power Automate dayOfWeek Function
- Power Automate Get Items Filter Query
- How to Check If a row exists in Excel using Power Automate
Conclusion
I hope this tutorial has provided you with enough information on how to export Outlook calendars to Excel using Power Automate automatically.
Additionally, I have covered the below topics:
- Power Automate get a calendar view of events and exports it to Excel
- Power Automate Excel to Outlook calendar
- how to create an event calendar from SharePoint list using Power Automate

After working for more than 18 years in Microsoft technologies like SharePoint, Microsoft 365, and Power Platform (Power Apps, Power Automate, and Power BI), I thought will share my SharePoint expertise knowledge with the world. Our audiences are from the United States, Canada, the United Kingdom, Australia, New Zealand, etc. For my expertise knowledge and SharePoint tutorials, Microsoft has been awarded a Microsoft SharePoint MVP (12 times). I have also worked in companies like HP, TCS, KPIT, etc.
What happens when you want to have your excel table updated?
When an event in the calendar is deleted, modified or a new event is created, will the table update?
Hi Hector could you please advise if you get how to update the excel online sheet I’m stuck in this for many days.
Thanks
Hi Bhawana,
thanks for this flow. Is there a way to do it for shared calendars too?
Right now in “Calendar-ID” I see ony my own calendar and my co-worker’s calendar that I have full access to.
Hi Bhawana,
Thank you for this article. It is very helpful.
I would like to trigger the workflow upon arrival of a new calendar event.
Is there a way to achieve this?
Hi, thanks for the instructions on setting this up. It is useful. Just a note that the Excel date mapped to Outlook Start and End Time fields begin at 0:00hr. How can I set the Time Start to have 9:00hr and Time End at 17:00hr for each of the dates?
Thanks
Hi Bhawana,
Thank you for this flow.
How to calculate minuits between two times?
I couldn’t figure out div formula in compose process.
hi ,
Did you get the solution for this by any chance ?
I am getting an error with String was not recognized as a valid datetime
In excel i am using [$-en-US]d/m/jj u:mm am/pm;@ (to get the same layout as in the example) can someone tell me how to set the format of the cells?
It is creating multiple entries of the same event (at least 7 entries) in outlook. How to avoid that?
Same issue here. Wondering how to set this up in a way that it updates the existing events instead of creating duplicates.