Knowledge base Rise Up

Migrating Your Outlook Integration from EWS to Microsoft Graph

  • Updated

 

Prerequisites

This guide is for administrators who already have a working Rise Up calendar sync running over Exchange Web Services (EWS). Your existing Microsoft Office 365 connector is upgraded in place — the same app registration, Tenant ID, Client ID, secret, and service account are reused as-is. Only the connection mode and the Microsoft-side permissions change.

Before you start, you need:

  •  A Microsoft Entra ID account holding the Global Administrator role (or Privileged Role Administrator) — the Graph consent steps require it. A regular user or a lesser admin role (e.g. Helpdesk Administrator) will not see the consent button.
  •  Access to Exchange Online PowerShell.
  •  The Client ID of the app registration you originally gave Rise Up during calendar sync setup (visible in your Rise Up calendar synchronisation settings).

Setting up for the first time? If you have nothing configured on the Azure side yet, this article is not for you — follow "Outlook Integration: Setup & Room Management" instead, which configures Microsoft Graph directly from scratch.

Overview

Microsoft is retiring Exchange Web Services (EWS) for Exchange Online. If your Rise Up calendar sync currently runs over EWS, it must be migrated to Microsoft Graph. Your existing Microsoft Office 365 connector is upgraded in place — nothing new needs to be created.

Date What happens
End of September 2026 Deadline for your Microsoft 365 administrator to complete the two preparation steps in this guide (EWS bridge + Graph permissions).
1 October 2026 Microsoft EWS enforcement begins — EWS access is blocked by default unless your tenant has explicitly allow-listed the application (Step 1).
1 April 2027 EWS is fully removed by Microsoft. No allow-list or workaround will keep an EWS integration running.
After 1 November 2026 Once migrated, the legacy EWS authorisations can be cleaned up.

How the migration works:

  • 1Your Microsoft 365 administrator completes two preparation steps: the EWS bridge (Step 1) and the Microsoft Graph permissions with admin consent (Step 2). Restricting the app to the service mailbox (Step 3) is also recommended.
  • 2You click Verify permissions and start migration in Rise Up (Settings > Developer > Calendar synchronisation). Rise Up checks the three Graph permissions in your tenant.
  • 3If all checks pass, your sync switches to Microsoft Graph and Rise Up migrates your existing calendar events in the background — you can leave the page.
  • 4Once completed, you can remove the legacy EWS authorisations after 1 November 2026.

 One-way transition: once migrated to Graph, you do not switch back to EWS. The only exception is the automatic, temporary fallback Rise Up applies if an event migration fails — sync keeps working on EWS while the issue is resolved.

 

Key elements
  • EWS bridge: the EWS allow-list entry that keeps your current sync working once Microsoft's enforcement begins on 1 October 2026, so the migration can complete safely.
  • Graph application permissions: Calendars.ReadWrite, Place.Read.All, and User.Read.All, added and consented on the existing app registration.
  • Application Access Policy: an Exchange Online PowerShell policy that restricts the Graph app permission to the Rise Up service-account mailbox only.
  • Verify permissions and start migration: the button in Rise Up (Settings > Developer > Calendar synchronisation) that checks the Graph permissions and, if they pass, starts the migration.
  • Automatic event migration: the background process that moves existing EWS-created calendar events to Graph once the permission check passes — no manual request needed.
  • Automatic fallback: if an event migration fails, sync automatically reverts to EWS temporarily, the Rise Up technical team is notified, and sync returns to Graph once resolved.

 

I — Step 1 (administrator): EWS bridge — allow-list the Rise Up app

This step keeps your current sync working when Microsoft's enforcement begins on 1 October 2026, so the migration can complete safely — including the automatic fallback to EWS if an event migration fails.

1a — Locate the existing app registration

Go to: Azure Portal > Microsoft Entra ID > App registrations.

Find the app matching the Client ID you already gave Rise Up during calendar sync setup. This is the same app — nothing new to create, and your existing secret stays valid.

1b — Add the Rise Up Client ID to the EWS allow list

Action: Run the following in Exchange Online PowerShell:

# Read the current allow list first (this is a full REPLACE, not an add)
$current = (Get-OrganizationConfig -RetrieveEwsOperationAccessPolicy | Select-Object -ExpandProperty EwsAllowedAppIDs)

# Add the Rise Up Client ID to the existing list
$updated = @($current, "<YOUR_CLIENT_ID>")

# Write the combined list back
Set-OrganizationConfig -EwsAllowedAppIDs ($updated -join ",")

# Enable EWS
Set-OrganizationConfig -EwsEnabled $true

Replace <YOUR_CLIENT_ID> with the Client ID you originally gave Rise Up.

This command replaces the full list
Set-OrganizationConfig -EwsAllowedAppIDs replaces the entire list. If you have other EWS apps already listed, they must be included too — reading $current first, as shown above, does this for you.

Result: Confirm the change took effect:

Get-OrganizationConfig -RetrieveEwsOperationAccessPolicy | Format-List EwsAllowedAppIDs

 Verify EwsEnabled is True, not Null. Leaving EwsEnabled set to Null means Microsoft will eventually auto-disable EWS for your tenant on a rolling schedule you don't control. Explicitly setting it to True, with the allow list populated, puts you in control of the timeline.

 

II — Step 2 (administrator): Grant the Microsoft Graph permissions

Perform these steps in the same app registration used in Step 1a.

2a — Add the permissions

Go to: in the app registration, open API permissions in the left-hand menu.

  1. Click Add a permission > Microsoft Graph > Application permissions.
  2. Search for and check each permission listed below.
  3. Click Add permissions.
Permission Why it is needed
 Calendars.ReadWrite Create, update, read, and cancel calendar events.
Place.Read.All Room-list lookups (only if you use the room management feature).
User.Read.All Event ID translation during migration — temporary.
Good to know
Place.Read.All — room-list sync delay: Microsoft Graph does not return newly created or updated room lists in real time. When you create or change a room list, allow up to 48 hours for it to propagate before it appears in calendar sync.

User.Read.All — temporary: only needed to translate existing event IDs during migration. It can be removed as soon as the migration is complete.

Result: The permissions appear with status "Not granted for [Tenant]" — declared, but not yet approved.

  1. Click Grant admin consent for [Company Name] at the top of the API permissions list.
  2. In the confirmation dialog, click Yes.

Result:  The Status column shows a green checkmark reading "Granted for [Company Name]" next to each permission.

Note
Your existing full_access_as_app permission is an Exchange Online EWS permission. It does not grant any Microsoft Graph permission and must not be used for Graph access — EWS and Graph are separate authorization boundaries. Leave it in place until after the migration; it becomes removable after 1 November 2026 (see Section V).

 

III — Step 3 (administrator, recommended): Restrict the app to the service mailbox

Under EWS, impersonation already limited Rise Up to the service-account mailbox. Under Graph, Calendars.ReadWrite as an application permission defaults to every mailbox in the tenant unless scoped down.

Action: Run the following in Exchange Online PowerShell (not the portal):

Connect-ExchangeOnline
New-ApplicationAccessPolicy -AppId <ClientID> -PolicyScopeGroupId <ServiceAccountEmail> -AccessRight RestrictAccess -Description "Restrict to booking mailbox"

Replace <ClientID> and <ServiceAccountEmail> with the same values already on file with Rise Up. This ensures Rise Up can access only the dedicated service mailbox — never employee or unrelated mailboxes.

Result: Verify the policy applies:

Test-ApplicationAccessPolicy -Identity <ServiceAccountEmail> -AppId <ClientID>
Test-ApplicationAccessPolicy -Identity <SomeOtherMailbox> -AppId <ClientID>

 The first command should return Granted, the second Denied.

 

IV — Step 4: Start the migration in Rise Up

  1. Go to: Settings > Developer > Calendar synchronisation.
  2. Confirm with your Microsoft 365 administrator that Steps 1 and 2 are complete.
  3. Click Verify permissions and start migration. Rise Up checks Calendars.ReadWrite, Place.Read.All, and User.Read.All in your Microsoft tenant.

Your existing Tenant ID, Client ID, secret, and service account are reused as-is — nothing to re-enter. What happens next depends on the result of the check:

If a permission check fails
Rise Up shows you which of the three permissions passed and which failed. Ask your administrator to grant the missing permissions (Section II), then click the button again to retry.
If all permissions pass — migration in progress
Your sync switches to Microsoft Graph and Rise Up starts migrating your existing (EWS-created) calendar events in the background. You can leave the page — the migration continues on its own, and the page shows the current status when you come back.
If the event migration fails
Your sync automatically switches back to EWS so it keeps working, the error is displayed, and the Rise Up technical team is notified automatically — no action is needed on your side. Your sync returns to Graph once the migration succeeds.

Result:  A confirmation appears, together with the legacy EWS authorisations you can remove after 1 November 2026 (Section V). Your sync now runs fully on Microsoft Graph.

 

V — After the migration: clean up the legacy EWS authorisations

As soon as the migration is complete, you can remove the temporary User.Read.All permission from the app registration (API permissions > User.Read.All > Remove permission).

After 1 November 2026, the remaining EWS authorisations can be removed:

  1. Remove full_access_as_app: in the app registration, open API permissions, locate full_access_as_app (Office 365 Exchange Online), and select Remove permission.
  2. Remove the Rise Up entry from the EWS allow list in Exchange Online PowerShell:
# Read the current allow list
$current = (Get-OrganizationConfig -RetrieveEwsOperationAccessPolicy | Select-Object -ExpandProperty EwsAllowedAppIDs)

# Keep everything except the Rise Up Client ID
$updated = $current | Where-Object { $_ -ne "<YOUR_CLIENT_ID>" }

# Write the list back (full REPLACE — other allow-listed apps are preserved by $updated)
Set-OrganizationConfig -EwsAllowedAppIDs ($updated -join ",")
Why wait until 1 November 2026?
Keeping the EWS authorisations in place through October 2026 preserves the safety net used by the automatic fallback while the migration wave completes. From 1 November 2026 they serve no further purpose for Rise Up.

FAQ & Troubleshooting

  • Issue: The "Grant admin consent" button is missing or greyed out.
    Solution: The signed-in account is not a Global Administrator or Privileged Role Administrator. Sign in with an account holding one of these roles, or ask your tenant's Global Administrator to complete the consent step.

    Issue: Clicking Verify permissions and start migration shows failed permission checks.
    Solution: Rise Up displays exactly which of the three Graph permissions passed and which failed. Ask your Microsoft 365 administrator to grant the missing permissions (Section II), then click the button again to retry.

    Issue: The migration appears stuck or an error is shown after clicking the migration button.
    Solution: If the event migration fails, sync automatically falls back to EWS temporarily so it keeps working, the error is displayed, and the Rise Up technical team is notified automatically. No action is needed — sync returns to Graph once the migration succeeds.

    Issue: A newly created or updated room list does not appear in calendar sync.
    Solution: This is expected — Microsoft Graph can take up to 48 hours to propagate room-list changes. Wait, then check again.

    Issue: Test-ApplicationAccessPolicy returns Granted for a mailbox other than the service account.
    Solution: The Application Access Policy was not created, or was scoped to the wrong group or mailbox. Re-run New-ApplicationAccessPolicy with the correct AppId and PolicyScopeGroupId, then re-test.
     
  • Will learners and trainers see any change in their Outlook calendar?
    — No. Sessions keep appearing with the same details: subject, description, session link, virtual classroom link, location, attendees, and room.

    Is there a new connector to configure?
    — No. The existing Microsoft Office 365 connector is upgraded in place. Existing credentials are reused; only the Microsoft-side permissions change.

    What must our Microsoft administrator do before migrating?
    — Two steps, requiring a Global Administrator, before the end of September 2026: add the Rise Up Client ID to the EWS allow list (EwsAllowedAppIDs, with EwsEnabled = True) as a bridge, and grant the three Graph application permissions with admin consent on the existing app registration. The app should also be restricted to the service mailbox via an application access policy (Section III).

    What happens to calendar events created under EWS?
    — Rise Up migrates them automatically in the background after the permission check passes. No action is needed beyond clicking Verify permissions and start migration.

    Can I close the page during the migration?
    — Yes. The migration continues in the background, and the page shows the current status (in progress, done, or failed) when you return.

    Can we switch back from Graph to EWS?
    — No. The transition is one-way, except for the automatic temporary fallback applied when an event migration fails.

    When can the EWS authorisations be removed?
    — After 1 November 2026: the full_access_as_app permission and the Rise Up entry in EwsAllowedAppIDs. The User.Read.All permission can be removed as soon as the migration is complete.

    Why is Calendars.ReadWrite required rather than a write-only permission?
    — Microsoft Graph offers no write-only calendar permission. Access is scoped to the single service mailbox through an Exchange application access policy.

    Are room lists synced in real time?
    — No. Microsoft Graph can take up to 48 hours to return newly created or updated room lists.

    What is the deadline?
    — Administrator steps before the end of September 2026. Microsoft blocks EWS by default from 1 October 2026 (unless allow-listed) and removes it entirely on 1 April 2027.
  • Contact Support
    Outlook Integration: Setup & Room Management
     

Was this article helpful?

0 out of 0 found this helpful

Have more questions? Submit a request