web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Shifts and Outlook Cal...
Power Automate
Unanswered

Shifts and Outlook Calendar

(1) ShareShare
ReportReport
Posted on by 2
How can I create a flow that will connect updates in Shifts to a shared Outlook calendar? I've read it's possible but can't find clear directions on how to do it.
Categories:
I have the same question (0)
  • CU29040129-0 Profile Picture
    15 on at
    Hello! This is a classic integration scenario between the Microsoft Teams ecosystem and Outlook. Synchronizing them is entirely possible, but it is critical to apply Enterprise Architecture best practices to ensure your flow is secure, traceable, and scalable without failing.
    1. Governance and Architecture (Best Practices)
    Service Account: Never tie enterprise-grade automations to your personal user account. Design the solution using a dedicated service account or the owner account of the Shared Calendar. This ensures business continuity and prevents the automation from breaking if you change roles or leave the organization.
    DLP Policies (Data Loss Prevention) Compliance: Before starting development, verify in the Power Platform Admin Center that both the Microsoft Teams and Office 365 Outlook connectors are classified within the same Business Data Group. Otherwise, the DLP policy will block the flow's execution to prevent potential data leakage.
    2. Solution Design in Power Automate
    The core logic of the flow must be event-driven. Here is the architectural structure you need to build:
    Trigger: Use the When a shift is created, updated or deleted trigger from the Microsoft Teams connector.
    Get Shift Details: The trigger's payload is intentionally lightweight and does not contain all the details. Immediately add a Get a shift action, passing the ID generated by the trigger: triggerOutputs()?['body/resourceData/id'].  
    Get User Profile: Add the Get user profile (V2) action from the Office 365 Users connector, using the ID returned in the previous step (outputs('Get_a_shift')?['body/userId']). This will allow you to map the employee's name and email to the calendar event title.
    Switch Control: To handle the different actions dynamically, add a Switch control evaluating the triggerOutputs()?['body/changeType'] property.
    Branches:
    Created: Direct this to a Create event (V4) action pointing to your Shared Calendar. Map the Start and End times using the dates extracted from the shift.
    Updated: Use the Get events (V4) action to filter by the title or a custom ID stored in the event body, followed by the Update event (V4) action.
    Deleted: Perform the same search with Get events (V4) to locate the correct appointment, and use the Delete event (V2) action.
    3. Data Extension and Regional Syntax
    Thinking about scalability, it is highly common for this data to later be consumed by a Power Apps application or a Power BI dashboard to monitor schedule adherence. When structuring these metrics, maintain strict adherence to regional syntax and database naming standards.
    For instance, if you were to create an expression to calculate approved shifts, the proper syntax would look like this:
    Total_Turnos = CALCULATE(COUNTROWS(Turnos); Turnos[Meta_Alvo] = "Aprovado")
    Hope this helps steer your project in the right direction!

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the April Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Automate

#1
Vish WR Profile Picture

Vish WR 632

#2
Haque Profile Picture

Haque 458

#3
Valantis Profile Picture

Valantis 357

Last 30 days Overall leaderboard