Having an issue trying to use Power Automate to sync a Outlook calendar to SharePoint

Edward 86 Reputation points
2026-10-16T15:33:49.3333333+00:00

Hello, I am trying to achieve the below but i can't.

  1. In Power Automate, use 'When an event is added, updated or deleted (V3)' action
  2. Use a Switch action after to check if it's a new item is added, modified, deleted in a Outlook calendar
    1. If added, add the new event/item to a SharePoint Online list (type Event)
    2. If modified, update the existing after using 'Send an HTTP Request to ShreaPoint' to find the matching item in SP
    3. If deleted, delete after using 'Send an HTTP Request to ShreaPoint' to find the matching item in SP

Right now, when a new event is added, the flow runs twice. Any insights will be great. First time it runs is 'Added' but second time is 'Updated'.

Below is the first run (Added or Default)

User's image

Microsoft 365 and Office | Subscription, account, billing | For business | Other
0 comments No comments

Answer accepted by question author
Ruby Nguyen 3,220 Reputation points Independent Advisor
2026-10-16T17:38:03.3133333+00:00

Good day Edward, 

Unfortunately, according to Microsoft documentation, when a new calendar event is created, the trigger can fire once as Added and then again as Updated because Exchange processes additional updates in the background.  

User's image

To prevent duplicates, I recommend using the Outlook event ID as a unique key. 

Option 1: Create or update based on the Outlook event ID (recommended) 

  • Add a Single line of text column in the SharePoint list called OutlookEventId. 
  • In the Added branch, use Get items to search for the event ID from the trigger. 
  • If no matching item exists, use Create item and save the event ID in OutlookEventId. 
  • If a matching item already exists, use Update item instead. 
  • In the Updated branch, use the same lookup and update the existing SharePoint item. 
  • In the Deleted branch, use the same lookup and delete the matching item. 

This approach ensures that an extra Updated trigger updates the existing record instead of creating a duplicate. 

Also, for this scenario, the standard SharePoint actions Get items, Create item, Update item and Delete item are usually sufficient, so an HTTP request isn't required unless there is a specific REST API requirement. 

Option 2: Process only new events 

  • If the goal is only to copy newly created events, open the trigger settings and add a trigger condition that allows the flow to run only when the Action Type is Added. 

Please note that this option ignores all future event updates. 

Additional information is available in the following resources: 

Microsoft SharePoint Connector for Power Automate | Microsoft Learn 

Customize your triggers with conditions - Power Automate | Microsoft Learn 

One more thing I noticed from the screenshot, the Default branch appears to contain the SharePoint create action. Please verify that the Switch is using the Action Type output from the Outlook trigger and that separate cases exist for Added, Updated and Deleted. I recommend keeping the Create item action only in the Added case to avoid unexpected entries. 

If you have any questions, please don’t hesitate to reach out at any time. 

Thank you for your patience and understanding. 


If you have any extra questions about this answer, please click "Comment".

Was this answer helpful?

2 people found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.