πŸ”„ 10 Powerful Steps to Auto Create Calendar Events from SharePoint

Auto Create Calendar Events from SharePoint is one of the most practical Power Automate use cases for teams that manage schedules inside SharePoint lists. Instead of manually copying event details into Outlook calendars, this automation keeps everything synchronized automatically.

In this tutorial, you will build a robust Power Automate flow that auto create calendar events from SharePoint list items and safely updates them without triggering endless loops.


Auto Create Calendar Events

πŸš€ What You Will Achieve

By implementing this solution, you will be able to:

  • Auto create calendar events from SharePoint list items
  • Automatically update Outlook calendar events when list items change
  • Prevent flow re-trigger loops using smart conditions
  • Manage attendees dynamically from a Person column
  • Maintain a clean Event ID reference between SharePoint and Outlook

🧰 Prerequisites

Before you start, make sure you have:

  • Microsoft 365 with Power Automate access
  • A SharePoint site where you can create lists
  • Access to an Outlook calendar

πŸ”Ή Step 1 – Create the SharePoint Event Schedule List

Create a SharePoint list named Event Schedule with the following columns:

  • Title (Single line of text) – Event name
  • Start Date (Date and Time)
  • End Date (Date and Time)
  • Attendees (Person)
  • Location (Single line of text)
  • Description (Multiple lines of text)
  • Event ID (Single line of text)

This list will act as the trigger source to auto create calendar events from SharePoint list items.


πŸ”Ή Step 2 – Create a New Automated Cloud Flow

  1. Go to make.powerautomate.com
  2. Click Create
  3. Select Automated cloud flow
    • Flow name: Auto-Generate Calendar Events from SharePoint
    • Trigger: When an item is created or modified
    • Click Create.

πŸ”Ή Step 3 – Configure the SharePoint Trigger

In the trigger When an item is created or modified, configure:

  • Site Address: Select your SharePoint site
  • List Name: Event Schedule
When an item is created or modified

This ensures the flow runs whenever a new event is created or updated, enabling you to auto create calendar events efficiently.


πŸ”Ή Step 4 – Get Changes for an Item or a File (Properties Only)

To detect whether the trigger is caused by updating the Event ID, add the action:

Get changes for an item or a file (properties only)

Configure it as follows:

  • Site Address: Your SharePoint site URL
  • List or Library Name: Event Schedule
  • Id: Id from the trigger
  • Since: Trigger Window Start Token
  • Until: Trigger Window End Token
Get Changes for an Item or a File (Properties Only)

This action tells you exactly which columns changed and helps prevent update loops.


πŸ”Ή Step 5 – Extract Attendee Email Addresses

Add the Select action to extract email addresses from the Attendees column.

Configure:

  • From: Attendees (from trigger)
  • Map: @{item()?['Email']}
Extract Attendee Email Addresses

This prepares attendee emails for Outlook calendar events.


πŸ”Ή Step 6 – Check if Item Is Newly Created or Modified

Add a Condition action:

  • Left value: Created
  • Operator: is equal to
  • Right value: Modified

Both values come from the trigger dynamic content.

Check if Item Is Newly Created or Modified

This condition determines whether the flow should create a new calendar event or move to update logic.


πŸ”Ή Step 7 – Create Outlook Calendar Event

On the True side of the condition, add Create event (V4).

Configure:

  • Calendar Id: Select your calendar
  • Subject: Title
  • Start time: @{formatDateTime(triggerBody()?['StartDate'],'yyyy-MM-ddThh:mm:ss')}
  • End time: @{formatDateTime(triggerBody()?['EndDate'],'yyyy-MM-ddThh:mm:ss')}
  • Time zone: Select your timezone

Advanced parameters:

  • Required attendees: @{join(body('Select'),';')}
  • Body: Description
  • Location: Location
Create Outlook Calendar Event

This step completes the core logic to auto create calendar events from SharePoint.


πŸ”Ή Step 8 – Update SharePoint Item with Event ID

Add Update item below the Create event action.

Configure:

  • Site Address: SharePoint site URL
  • List Name: Event Schedule
  • Id: Id from trigger
  • Event ID: Id from Create event (V4)
Update SharePoint Item with Event ID

This stores the Outlook Event ID back in SharePoint for future updates.


πŸ”Ή Step 9 – Update Existing Calendar Event Safely

On the False side of the first condition, add another Condition:

  • Left value: Has Column Changed: Event ID
  • Operator: is equal to
  • Right value: false
Update Existing Calendar Event Safely

This ensures the flow does not re-run because of its own Event ID update.


πŸ”Ή Step 10 – Update Event (V4)

On the True side of this condition, add Update event (V4).

Configure:

  • Calendar Id: Select your calendar
  • Id: Event ID from SharePoint
  • Subject: Title
  • Start time: @{formatDateTime(triggerBody()?['StartDate'],'yyyy-MM-ddThh:mm:ss')}
  • End time: @{formatDateTime(triggerBody()?['EndDate'],'yyyy-MM-ddThh:mm:ss')}
  • Time zone: Select your timezone

Advanced parameters:

  • Required attendees: @{join(body('Select'),';')}
  • Body: Description
  • Location: Location
Update Event (V4)

This completes the update logic when event details change.


πŸ“ˆ Best Practices and Tips

  • Always use Get changes for an item to avoid infinite loops
  • Store external system IDs like Event ID in SharePoint
  • Normalize date formats to prevent timezone issues
  • Keep attendee mapping simple using the Select action

🏁 Wrapping Up

You now have a complete solution to auto create calendar events from SharePoint using Power Automate. This approach ensures reliable event creation, and safe updates.

Once deployed, your SharePoint list becomes a powerful event management system fully synchronized with Outlook calendars.

πŸ’‘Bonus Resources

Leave a Comment