Managing team transitions, employee onboarding, or administrative delegation often requires handing over schedule visibility to new personnel. If you are looking for transferring Outlook Calendar Access with Power Automate, you will quickly discover that the default Office 365 Outlook connector lacks a direct "delegate calendar" action. To achieve this automation, you must configure your flow to send instructions directly to the Microsoft Graph API. This guide walks you through configuring the necessary HTTP requests to programmatically grant, modify, or transfer calendar permissions without requiring manual Exchange admin intervention.
Registering an Azure App for Microsoft Graph Integration
Before you build the workflow on transferring Outlook Calendar Access with Power Automate, your environment must be authorized to modify calendar settings via the Microsoft Graph API. This requires setting up an application in Microsoft Entra ID (formerly Azure Active Directory) to authenticate your flow.
- Navigate to the Microsoft Entra admin center and log in with global administrator credentials.
- Select Applications from the left sidebar, then click App registrations and choose New registration. Name it "PowerAutomateCalendarAccess".
- Once created, go to API permissions, click Add a permission, and select Microsoft Graph.
- Choose Application permissions, search for Calendars.ReadWrite, and check the box. Click Add permissions and then immediately click Grant admin consent for your organization.
- Navigate to Certificates & secrets, click New client secret, and save the generated Value. You will need this string, along with your Application (client) ID and Directory (tenant) ID from the Overview page, to authenticate your Power Automate flow.
Building the Flow: Transfer Outlook Calendar Access with Power Automate

With your authentication ready, you can now construct the flow. You will use the Premium HTTP action to communicate with Exchange Online. This is the core mechanism for transferring Outlook Calendar Access with Power Automate.
- Log into Power Automate, click Create, and select Instant cloud flow. Name it "Transfer Calendar Permissions" and select Manually trigger a flow.
- Click New step, search for HTTP, and select the premium HTTP action.
- In the Method field, select POST.
- In the URI field, enter
https://graph.microsoft.com/v1.0/users/{owner-email}/calendar/calendarPermissions. Replace {owner-email} with the dynamic content or exact email address of the person whose calendar is being shared. - In the Headers section, enter
Content-Typein the left key field andapplication/jsonin the right value field. - In the Body field, paste the following JSON payload, ensuring you replace the placeholder with the recipient's email:
{
"emailAddress": {
"name": "New Delegate",
"address": "recipient@yourdomain.com"
},
"role": "write"
} - Scroll down to the Advanced options of the HTTP action and change Authentication to Active Directory OAuth.
- Set the Authority to
https://login.microsoftonline.com, enter your Tenant ID, set the Audience tohttps://graph.microsoft.com, and input your Client ID and Client Secret from the Entra ID setup. - Click Save, then click Test in the upper right corner. Select Manually and execute the flow. You can verify success by having the recipient open their Outlook client, click Add Calendar, select Open Shared Calendar, and enter the owner's name.
Alternative: Duplicating Calendar Events via Power Automate
If your organization restricts premium HTTP actions or Graph API access, you cannot directly alter underlying Exchange permissions. However, an alternative way to address transferring Outlook Calendar Access with Power Automate is to build a synchronization flow that automatically copies events from one calendar to another.
- Create an Automated cloud flow and set the trigger to When a new event is created (V3) using the Office 365 Outlook connector. Select the source calendar from the dropdown list.
- Click New step and add the Create event (V4) action.
- Select the destination calendar (the calendar of the person taking over).
- Map the dynamic content fields from the trigger to the new event: insert Subject into Subject, Start time into Start time, and End time into End time.
- Save the flow. This ensures that any future appointments booked on the original calendar are instantly replicated on the new user's schedule, effectively transferring visibility without requiring backend API permission changes.
Documenting Your Automation Workflows with WPS Office

WPS Office cannot execute cloud automation triggers, configure Microsoft Entra ID application secrets, or interact with Exchange Server settings. Because calendar permissions and Microsoft Graph API integrations are entirely controlled by Microsoft server-side configurations, WPS Office cannot directly process transferring Outlook Calendar Access with Power Automate. However, when designing complex IT automations involving JSON payloads and OAuth authentication, maintaining clear internal documentation is critical.
You can use WPS Writer to draft your IT standard operating procedures (SOPs). By utilizing WPS Writer's built-in code block formatting, you can clearly document the exact JSON arrays and Graph API URIs your team needs to recreate these flows in the future. Once your automation manual is complete, you can use the native WPS PDF export feature to distribute immutable, read-only setup guides to your systems administration team, ensuring the exact syntax required for calendar delegation is preserved across your organization's knowledge base.
Frequently Asked Questions
What permissions are required to automate calendar sharing in Power Automate?
You need active Microsoft 365 licenses with Exchange Online enabled for both the sender and the recipient. The account running the Power Automate flow must also have delegate access or owner permissions for the specific Outlook calendar being transferred.
Does the automated calendar transfer work for external users outside my organization?
By default, Power Automate can only grant calendar access to internal users within your Microsoft 365 tenant. Sharing with external email addresses requires your Exchange administrator to explicitly enable external calendar sharing in the organization's policies.
How can I verify that the recipient successfully received access to the calendar?
You can add a condition in your Power Automate flow to send a confirmation email once the access granting step succeeds. Alternatively, the recipient can check their Outlook calendar pane under Shared Calendars to see if the new calendar appears.
Can a flow automatically revoke calendar access after a certain period?
Yes, you can build a scheduled cloud flow that triggers after a specified time delay. This flow would use the HTTP with Azure AD connector to call the Microsoft Graph API and remove the previously granted calendar permissions.




