Outlook Online (Office 365) EWS

Learn how to connect to an Outlook Online (Office 365) account.

Introduction

Connecting to Outlook/0365 for Mailbox migrations is fast to set up and fully supported in Movebot. For this type of connection, Movebot uses the legacy EWS API.

Requirements

To connect Movebot to Outlook/0365, you will need:

  • To have Global Admin access to Azure

  • To be familiar with the configuring applications in Azure.

While not required, you can potentially increase speeds by Disabling EWS Throttling

Configuration Steps

There are two steps to this process. The first is creating the application in Azure with the correct permissions. Next is configuring the connection in Movebot.

Creating the application in Azure

  1. First, login to Azure as an administrator for your domain, and navigate to App Registrations.

  2. Click New Registration

  3. Specify a name for the new application. Leave the remaining fields as default, then click Register.

  4. Make a note of the Application (Client) ID. This will be entered into your Movebot configuration.

  5. Make a note of the Tenant ID. This will be needed in Movebot

  6. Configure the permissions. Click API Permissions --> Add a Permission.

  7. Select APIs my organisation uses, then search for Office 365 Exchange Online.

  8. Select Application Permissions

  9. And then check the permissions detailed below:

full_access_as_app
  1. Click Grant admin consent for Couchdrop Demo and follow the consent process

  2. Click Certificates and Secrets --> Client Secrets --> New Client Secret

  3. Copy the Client Secret Value

Enable RBAC for listing users across the tenant

The EWS API does not allow access to the user database without an additional role.

  1. Find Discovery Management

  2. Add your admin user to the role.

Note: This role can take up to 24 hours to be reflected in the API. If you need to move forward immediately you can still do so without this role, you will need to map the users using the prefix manually mailbox:

Configure the connection in Movebot

  1. Login to Movebot and create a new project or task

  2. When configuring the source or destination, choose to Create new Connection

  3. Select Office 365 Outlook (via EWS) from the list of available connections and set the connection name

  4. Provide your tenant id. This is a UUID found when configuring the application.

  5. Provide the Application Client ID copied from the configuration step above

  6. Provide the Application Client Secret from the steps above

  7. Provide the admin users email address

Common Errors

Movebot supports migrations too/from Outlook/Exchange Online for Microsoft 365. Below are common errors, causes, and resolutions, along with answers to frequently asked questions.

Error: The impersonation principal name is invalid

Cause: The email address of the admin user is incorrect.

Resolution: Double-check the admin user's email address in your configuration settings to ensure it's valid and matches the expected domain.

Error: The caller has not assigned any of the RBAC roles

Cause: The specified admin user has not been granted the Discovery Management role.

Resolution: If you're unable to assign the Discovery Management role, use a CSV import to map your transfers. This Discovery Management role is only required for listing available mailboxes/automatic transfer mappings. It will not prevent migration.

Error: Unknown failure in response. Code: 403

Cause: Missing or incorrect API scopes.

Resolution: Review steps 7–10 of the configuration steps to confirm that the required API scopes have been correctly configured and admin consent has been granted.

Error: Invalid client secret provided

Cause: The client secret is incorrect.

Resolution: Make sure you have entered the Client Secret Value, not the Client Secret ID. This is a common mistake during app registration setup.

Error: Mailbox shows 0KB scanned

Cause: Mail migration settings may be disabled or duplicate job exists.

Resolution: First, ensure that mail/contact/calendar migration is enabled in Step 4 of your project settings. Then check for duplicate transfers of the same source mailbox and remove one.

Error: Calendar Event Failure (attendees-mapping-required-error)

Cause: Event attendee mapping is missing for calendar migration.

Resolution: You must configure mapping rules for event attendees in Step 4 of your project settings. Without this, calendar events will not be migrated.

Frequently Asked Questions

How do I handle the cutover?

Movebot simplifies cutover using delta migrations. You can migrate while users are active, then run a final delta to capture any changes after they stop using the source—minimizing downtime.

If the domain has changed during cutover, use "Remap Domains for Cutover" from the Run Action menu. This allows you to specify the old and new domains for source/destination mailboxes, ensuring your mappings remain accurate. After remapping, you can continue running delta migrations post-cutover.

Is it possible to migrate between two existing Microsoft 365 tenants using Movebot?

Answer: Yes. Movebot supports bi-directional migrations between Microsoft 365 tenants, including full tenant-to-tenant migrations.

Can I connect to GoDaddy M365 tenants using Movebot?

Yes. Movebot supports migrations too/from GoDaddy M365 tenants using the same mechanism as regular M365 tenants.

My mail migration appears stuck after transferring 50–100GB of data

This is likely due to mailbox size limits in Microsoft 365.

By default:

  • Standard Outlook Online licenses support up to 50GB of mailbox storage.

  • Users with extended licenses may have up to 100GB, but will still encounter similar limits.

Once the mailbox reaches this threshold, migration will appear to stall until auto-archiving policies move older emails to the Online Archive.

Workarounds

Option 1: Pause the migration, allow the auto-archiving to complete, then resume the migration.

Option 2 (Recommended): Delete the destination mailbox entirely and start the migration of affected users from scratch using the steps outlined here. This ensures a clean and accurate migration.

How do I transfer one specific folder within a mailbox?

Answer: Use the CSV Import feature to map the specific folder. Example: source,destination /mailbox:[email protected]/@MAIL/Important Mail,/mailbox:[email protected]/@MAIL

How does Movebot handle emails from Google that are tagged with multiple labels?

Answer: Movebot creates a separate folder in for each label. If a message has multiple labels, a separate copy is placed in each corresponding folder.

How can I migrate a mailbox over 100GB into Microsoft using the Online Archive feature?

Answer:

  1. Add a content exclusion rule in Step 6 of your project settings to ignore mail received within the last year.

  2. Run a full migration.

  3. Allow Microsoft’s automatic archiving to move older content into the Online Archive.

  4. Adjust your exclusion rule to ignore mail older than one year.

  5. Run a delta migration to capture the latest mail.

How can I use Movebot to restore a folder from an Online Archive?

Answer: Use the CSV import feature to map the specific folder from the Online Archive to a destination in the primary mailbox. Example:

source,destination /mailbox:[email protected]/@MAIL/@INPLACE-ARCHIVE/FolderName,/mailbox:[email protected]/@MAIL/Restored Data

How can I migrate only mail that was received before a specific date?

Answer: In your project settings, add a content exclusion rule using "Files/Objects modified after UTC time" to filter messages received after the specified date.

Once I've migrated historical mail, can I migrate only mail received after a certain date?

Answer: Yes. Select "Start Delta Migration" from the launch menu and choose the desired timeframe for the delta to include only newer mail.

Supported Features

Movebot has comprehensive support for Outlook Online (Office 365) and is well-maintained.

Feature
Supported in Movebot

Email Messages and Folders

Fully Supported

Public Folders

Fully Supported

In-Place Archive

Fully Supported

Private Calendars

Fully Supported

Shared Calendars

Fully Supported

Contacts

Fully Supported

Tags: office365outlook

Last updated

Was this helpful?