# Welcome

We built Movebot to make migrating and transferring data to the cloud simple and fast.  Here you will find detailed documentation on how to use Movebot with different platforms.

## Discover Movebot

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td><strong>Connections</strong></td><td>Learn how to connect Movebot to different storage engines.</td><td><a href="/pages/FtV1HerOA9GJqzXCJb2E">/pages/FtV1HerOA9GJqzXCJb2E</a></td></tr><tr><td></td><td><strong>Features Overview</strong></td><td>Learn about using Movebot for different data lifecycles and management tasks.</td><td><a href="/pages/ogsS8Ty0AyfmA5mgg7Nx">/pages/ogsS8Ty0AyfmA5mgg7Nx</a></td></tr><tr><td></td><td><strong>Using Movebot</strong></td><td>Learn about the different stages and capabilities of Movebot.</td><td><a href="/pages/defQFkLKRsuKXHrjfoch">/pages/defQFkLKRsuKXHrjfoch</a></td></tr><tr><td></td><td><strong>Platform Guides</strong></td><td>Learn about the intricacies of common cloud platforms and how to manage them.</td><td><a href="/pages/8rMicjqKOyqs8q2lVfB3">/pages/8rMicjqKOyqs8q2lVfB3</a></td></tr><tr><td></td><td><strong>Troubleshooting</strong></td><td>Troubleshoot Movebot. Learn about common issues and errors.</td><td><a href="/pages/PPUbbg6ncAIcYRK5rXk9">/pages/PPUbbg6ncAIcYRK5rXk9</a></td></tr></tbody></table>

## Movebot Overview Video

{% embed url="<https://www.youtube.com/watch?v=dQe9C_yDdPs>" %}


# SharePoint Online

Learn how to connect to Sharepoint Online with Application Access

### Introduction

We are now recommending connecting to SharePoint with Application Access. This involves setting up a new application in Entra.

### Recommendations

For best results when connecting to SharePoint Online in Movebot using Application Access, we recommend the following permissions:

* Licensed account with Application Admin **or** Global Admin roles.
* SharePoint domain/hostname on hand.

### Configuration Steps

{% hint style="success" %}
You can also follow our [step-by-step video guide below](#video-guide).&#x20;
{% endhint %}

Connecting Movebot to SharePoint through this method requires a few different processes.

&#x20;

1. [Start Movebot Configuration](#start-configuration-in-movebot)
2. [Create an application in Entra](#creating-the-application-in-entra)
3. [Generate a client secret for the application](#generating-the-client-secret)
4. [Upload a certificate from Movebot to the application](#upload-a-certificate-from-movebot-to-the-application)

#### **Start configuration in Movebot**

{% hint style="warning" %}
If you're migrating data within a single tenant, create separate application registrations for the source and destination connections to avoid rate limiting.
{% endhint %}

1. Log in to Movebot and create a new project or task
2. Choose to **Create new Connection**
3. Select **Sharepoint** from the list of available connections and set the connection name
4. Provide the non-admin SharePoint domain in the field required

#### Create an application in Entra

1. Log in to Entra as an Application Admin or Global Admin at [https://entra.microsoft.com](https://entra.microsoft.com/).&#x20;
2. Create a new App Registration by expanding **Entra ID** and choosing **App registrations**
3. Name the application. Keep the other fields as default and click Register.
4. Copy the **Application (client) ID** from the "Overview" section and paste it into Movebot.&#x20;
5. Next, give the application permissions. In Entra, select your newly-created app and then click **API Permissions --> Add a Permission**.&#x20;
6. Select **Microsoft Graph,** then Application Permissions.&#x20;

Enable the following Permissions:&#x20;

```
Directory.Read.All
Files.ReadWrite.All
SharePointTenantSettings.Read.All
Sites.Manage.All
User.ReadWrite.All
```

7. Next, add SharePoint permissions for the application. To do this, return to your app and go to **API Permissions --> Add a Permission** once more. &#x20;
8. Select **SharePoint**, then Application Permissions.&#x20;

Select the following permissions:

```
Sites.FullControl.All
```

9. Click the option to **Grant admin consent** and finish the consent process.

#### **Generate a client secret for the application**

Next, you need to generate the client secret. Under the configuration for the application you created:&#x20;

1. Click **Certificates and Secrets -- > Client Secrets -- > New Client Secret**.&#x20;
2. Provide a description and set an expiry period, then click **Add.** Copy the Secret from the "Value" Field.
3. Return to Movebot and paste the Secret "Value" into the appropriate field

#### Upload a certificate from Movebot to the application

Finally, you will need to generate and download the client certificate from Movebot and upload it to Entra for authentication.

1. In Movebot - Under Step 3, click **Generate and Download Certificate**. You should get a PEM file download from Movebot.&#x20;
2. In Entra - Click **Certificates and Secrets -- > Certificates -- > Upload Certificate**&#x20;
3. Upload the PEM file created in Step 1
4. The thumbprint in Entra should match the one shown in Movebot
5. Return to Movebot and **Click Save and Test** connection in Movebot.&#x20;
6. Wait for the **Status** to show the connection is online. Confirmation is generally done in seconds but may take a few minutes for larger SharePoint tenants.&#x20;

{% hint style="info" %}
When creating an application in Entra, it can sometimes take a few minutes for the settings to populate. If testing the connection in Movebot is producing errors, give it a minute or so and then retest.&#x20;
{% endhint %}

#### Video Guide

{% embed url="<https://vimeo.com/1018147194?share=copy#t=0>" %}

### Common Errors

Movebot supports migrations to and from SharePoint Online as part of Microsoft 365. Below is a list of common issues users encounter during SharePoint migrations, along with troubleshooting guidance and answers to frequently asked questions.

<details>

<summary><strong>Error: Invalid client secret provided</strong></summary>

**Cause:** The client secret value is incorrect.

**Resolution:** Double-check that you have copied and entered the **client secret value**, not the **client secret ID**. These are often confused but are different fields in Entra.

</details>

<details>

<summary><strong>Error: SCP or roles claim need to be present in the token.</strong></summary>

**Cause:** Required claims are missing from the token.

**Resolution:** Ensure all necessary API permissions are granted and that they are assigned as *Application* permissions, not *Delegated*. Also, confirm admin consent has been granted for these permissions.

</details>

<details>

<summary><strong>Error: Tenant "domain.com" not found</strong></summary>

**Cause:** The specified SharePoint Tenant Domain does not exist or is misconfigured.

**Resolution:** Verify that the tenant domain is correct. It should follow the format `yourcompany.onmicrosoft.com`&#x20;

</details>

<details>

<summary><strong>Error: Application with identifier 'a323b4ba-031...' was not found in the directory</strong></summary>

**Cause:** The application’s Client ID is incorrect or the app registration is missing.

**Resolution:** Check that the correct Client ID is being used. Refer to **Step 7** of the [configuration steps](#configuration-steps), to confirm you have provided the proper ID.

</details>

<details>

<summary><strong>Error: The certificate used to sign the client assertion is not registered</strong></summary>

**Cause:** The required certificate has not been uploaded to the application in Entra.

**Resolution:** Generate the necessary certificate and upload it to the registered application in Entra. Refer to "**Upload the certificates from Movebot**" section of [configuration steps.](#configuration-steps)

</details>

<details>

<summary><strong>Error: Could not find site (site-not-found)</strong></summary>

**Cause:** The SharePoint domain value is incorrect or the specified site does not exist.

**Resolution:** Review your SharePoint configuration settings and ensure that you have specified the correct non-admin SharePoint domain. If the domain includes '-admin,' please remove it.a

</details>

<details>

<summary><strong>Error: User Migration Failed (user-not-active)</strong></summary>

**Cause:** The user account is not currently active or fully provisioned in Microsoft 365.

**Resolution:** First ensure the user has an active license assigned.\
If the user is newly created, their OneDrive may not yet be provisioned. You can either:

* Pre-provision the user’s OneDrive using PowerShell ([learn more](https://learn.microsoft.com/en-us/sharepoint/pre-provision-accounts)).
* Have the user sign in to OneDrive manually at least once to trigger provisioning.

</details>

<details>

<summary>Error: Call was made to the default drive, which is not supported for apponly tokens</summary>

**Cause:** The OneDrive you are connecting to in the destination hasn't been provisioned yet.

**Resolution:** You will need to pre-provision your OneDrive accounts so they are active before the migration by logging into them.

You can do this in bulk following Microsofts current recommendations - [here](https://learn.microsoft.com/en-us/sharepoint/pre-provision-accounts)&#x20;

</details>

### Frequently Asked Questions

<details>

<summary><strong>Can Movebot migrate data between two Microsoft 365 tenants?</strong></summary>

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

</details>

<details>

<summary><strong>Can we restrict the app registration to only have access to specific users or sites?</strong></summary>

**Answer:** No. Currently, the app registration will have access to all users and sites within the tenant. More granular access control is not supported at this time.

</details>

<details>

<summary><strong>Why does SharePoint show more storage used than Movebot?</strong></summary>

**Answer:** SharePoint includes all previous versions of files in its reported storage usage. By default, Movebot only counts the most recent version of each file, which can result in lower reported storage.

</details>

<details>

<summary><strong>Can Movebot migrate data from a Classic SharePoint Site to a Modern Site?</strong></summary>

**Answer:** Yes. Movebot treats both Classic and Modern SharePoint sites the same. Data can be migrated seamlessly between them.

</details>

### Supported Features

| Feature                       | Supported in Movebot |
| ----------------------------- | -------------------- |
| SharePoint Document Libraries | Fully Supported      |
| OneDrive Users                | Fully Supported      |
| Permissions                   | Fully Supported      |
| Versions                      | Fully Supported      |
| Modification Retention        | Fully Supported      |
| Automatic Sanitization        | Fully Supported      |

\
Tags: sharepoint


# Google Workspace Drives

Connecting to Google Workspace is fast to set up and fully supported in Movebot.

### Introduction

Movebot uses the Google Drive API with delegate access, and we provide everything you need for quick authorization in Google Admin. Connecting to Google Workspace by delegate access provides Movebot access to user data and shared drives in the Google Workspace domain and full support for migrating Google Drive content.

{% hint style="info" %}
To connect a personal Google Drive account see [Google Drive (Personal)](/connections/other-connectors/google-drive-personal)
{% endhint %}

### Requirements

To connect Movebot to Google Workspace, you will need:

* A Google Workspace administrator account
* To be familiar with the Google Admin Centre
* To have access to the Shared Drives you wish to migrate

### Configuration Steps

1. When configuring a new connection, select Google Workspace from the list of available connection types and give the connection a name
2. Enter your Google administrator account email address
3. Enter your domain (find this under "Manage domains" in Google Admin) .
4. Click "Create Service Account" - this will generate a Client ID
5. Use this Client ID when configuring domain-wide delegation in the Admin console, required to allow Movebot to access necessary data for migrations. Include the following OAuth scopes:&#x20;

```
https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/drive.file, https://www.googleapis.com/auth/admin.directory.user, https://www.googleapis.com/auth/admin.directory.user.readonly, https://www.googleapis.com/auth/admin.directory.user.security
```

{% hint style="info" %}
For detailed instructions on how to set this up, see [Delegating Domain Wide Authority](/platform-guides/google/delegating-domain-wide-authority)
{% endhint %}

6. Test the connection

### Common Errors

Movebot supports migrations of MyDrive and Shared Drive data within Google Workspace tenants. Below are common GWS Drive-specific errors, their resolutions, and answers to frequently asked questions.

<details>

<summary><strong>Error: invalid_request: Invalid impersonation</strong></summary>

**Cause:** The admin email address specified in your Google connection is invalid or does not have sufficient permissions.

**Resolution:** Ensure the email address exists, is correctly entered, and belongs to a licensed Google Workspace admin user with appropriate privileges.

</details>

<details>

<summary><strong>Error: Bad Request. "&#x3C;email address>" is not a member of this shared drive. Only members can access items in this shared drive.</strong></summary>

**Cause:**  Destination tenants sharing settings do not allow non-members to be assigned permissions on a Shared Drive.

**Resolution:** To resolve this, you can either:

1. Add the user as a member of the Shared Drive before rerunning the migration,\
   or
2. Adjust the Shared Drive’s settings to allow sharing with users who are not drive members.

These changes can be made in the Google Workspace Admin Console under the Shared Drive's access and sharing configuration.

</details>

<details>

<summary><strong>Error: teamdrive-not-found: Could not find team drive</strong></summary>

**Cause:** Movebot was unable to locate a Shared Drive with the specified name.

**Resolution:** This error may be caused by one or more of the following:

* **Hidden whitespace:** Check for extra spaces at the beginning or end of the Shared Drive name in Google Drive.
* **Special characters:** `/teamdriveid:<drive_id>`  can be used to access drives by their Drive ID instead of their name. This will avoid issues with special characters. [Learn more](/using-movebot/transfer-mapping/import-csv-mappings#id-01h8055v9asmr1cykjcc57791m-1).
* **Insufficient access:** Confirm that primary and secondary admin accounts specified in your Movebot configuration have been granted Manager access to the Shared Drive.

</details>

<details>

<summary><strong>Error: parent-folder-not-found</strong></summary>

**Cause:** Google Drive creates folders asynchronously, which means there can be a short delay before new folders are fully available. If Movebot tries to upload a file to a folder that hasn’t been fully created yet, it triggers a **parent-folder-not-found** error.

**Resolution:** Run a **Delta Migration** to retry the failed uploads. By the time you run the Delta Migration, the necessary folders usually exist—allowing the uploads to complete successfully.

</details>

<details>

<summary><strong>Error: user-teamdrive-access-denied</strong></summary>

**Cause:** Occurs when the source or destination Shared Drive lacks the required permissions or settings.&#x20;

**Resolution:** You must have **Manager** permissions on both the source and destination Shared Drives.

For Google to Google migrations, Google Docs require the following Shared Drive Settings. Ensure these are enabled on the source/destination drives, then re-run the migration or Delta Migration to complete the transfer.

* *Allow people who aren’t Shared Drive members to access files.*
* *Allow people outside of `<your_domain>` to access files.*

</details>

### Frequently Asked Questions

<details>

<summary><strong>Is it possible to migrate between two existing Google tenants using Movebot?</strong></summary>

**Answer:** Yes. Movebot fully supports bi-directional migrations between Google tenants, including full tenant-to-tenant transfers.

</details>

<details>

<summary><strong>Why does the Movebot scan result show more/less data than the Google Admin Console?</strong></summary>

**Answer:** The discrepancy occurs because Google and Movebot calculate storage usage differently.

* **Google Admin Console** reports storage based on **file ownership**. It includes all files a user owns, even if they are located in folders shared with them by others.
* **Movebot** only scans and reports on content located **within a user’s actual MyDrive**. It does **not** include files the user owns inside folders shared with them by other users.

***

#### When Google Admin shows **more** data than Movebot

**Scenario:**\
Jeff shares a folder with Sarah. Sarah adds 50GB of photos to Jeff’s shared folder.

* **Google Admin Console:** Reports 50GB of storage used by **Sarah**, because she is the file owner.
* **Movebot:** Scans **Sarah’s MyDrive** and detects **0KB**, since the data physically resides in **Jeff’s** folder.

***

#### When Movebot shows **more** data than Google Admin

**Scenario:**\
Mathias creates a Shared Folder and shares it with five colleagues. They add 20GB of data to it, but Mathias doesn’t add anything himself.

* **Google Admin Console:** Reports **0KB** usage for **Mathias**, because he doesn’t own any files.
* **Movebot:** Scans **Mathias’s drive** and detects **20GB**, since he is the owner of the Shared Folder—meaning all content within it is considered his for the purpose of migration.

***

</details>

<details>

<summary><strong>What happens to Google Docs, Sheets, and Slides during migration?</strong></summary>

**Answer:** When migrating between two Google tenants, the native Google file formats (Docs, Sheets, Slides, etc.) are retained, and everything will function the same in the destination tenant as it did in the source.

If you're migrating **out of the Google ecosystem** (e.g., to Microsoft 365), Google files will be automatically converted to their equivalent Microsoft Office formats (e.g., Docs → Word, Sheets → Excel).

**Note:** Due to limitations in the Google API, documents larger than **11MB** cannot be exported into Microsoft Office formats. These files will either be skipped or need to be downloaded manually. [Learn more](/platform-guides/google/performance-and-limits#google-docs-export-limit).

</details>

<details>

<summary><strong>Why can't I see a particular Shared Drive in the list of available drives in Movebot?</strong></summary>

**Answer:** Ensure that the admin user specified in the Movebot-Google connection has Manager permissions on the Shared Drive. If the Shared Drive was recently created, it can take up to 30 minutes for Google's APIs to reflect the new drive. Wait and check back later.

</details>

### Supported Features

Movebot has comprehensive support for Google Workspaces and is well-maintained.&#x20;

<table><thead><tr><th width="527">Feature</th><th>Supported in Movebot</th></tr></thead><tbody><tr><td>Shared Drives</td><td>Fully Supported</td></tr><tr><td>User Drives</td><td>Fully Supported</td></tr><tr><td>Permissions</td><td>Fully Supported</td></tr><tr><td>Versions</td><td>Fully Supported</td></tr><tr><td>Modification Retention</td><td>Fully Supported</td></tr><tr><td>Automatic Sanitization</td><td>Fully Supported</td></tr></tbody></table>

\
Tags: googledrive\_domain


# Windows File Server

Learn how to connect to a Microsoft Windows File Server with Movebot

### Introduction

Movebot supports Microsoft Windows using a lightweight agent that is installed directly on the file server, another server, or on a virtual machine.&#x20;

The agent uses a shared token for authentication and communicates with Movebot's infrastructure via secure HTTPS calls. The Windows agent does not require any port forwarding or static IP addressing for migrations and is very simple to set up and run.  &#x20;

{% hint style="info" %}
We do not recommend installing the agent directly on the target file server. If possible, use a VM and connect via mapped network drives.
{% endhint %}

The agent can be run in a standalone fashion or as a service. For security reasons, we recommend not running the agent as a service during migrations.&#x20;

### Requirements

To connect Movebot to Microsoft Windows, you need:

* A suitable host to install the the agent on&#x20;
* Remote access via RDP to the host
* An administrator account on the host
* A host that meets the [firewall and network requirements](/platform-guides/windows-fileservers/server-requirements#network-and-firewall-requirements)
* A host that meets the [operating system requirements](/platform-guides/windows-fileservers/server-requirements#supported-windows-versions)
* A host that meets the [specification requirements](/platform-guides/windows-fileservers/server-requirements#virtual-server-requirements)

For a full list of  requirements, see [Server Requirements](/platform-guides/windows-fileservers/server-requirements)

### Configuration Steps

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 **Microsoft Windows/Apple OSX** from the list of available connections and set the connection name
4. Movebot will provide an Agent Connection token. Copy this token and download the agent. **This token is only viewable once so be sure to copy it when viewing it.**
5. Login to the remote Windows file server as an administrator
6. Install the agent and launch it
7. Paste the identifier token provided in Movebot and click **Connect.** After a few seconds, the status indicator should change to show it's connected.&#x20;
8. Return to the Movebot interface, and Click Save and Test
9. If the connection has succeeded, you can continue

### Supported Features

Movebot has comprehensive support for Microsoft Windows and is well-maintained.&#x20;

<table><thead><tr><th width="527">Feature</th><th>Supported in Movebot</th></tr></thead><tbody><tr><td>Folders</td><td>Fully Supported</td></tr><tr><td>Network Drives</td><td>Fully Supported</td></tr><tr><td>Permissions</td><td>Source Only</td></tr><tr><td>Versions</td><td>Not Supported</td></tr><tr><td>Modification Retention</td><td>Fully Supported</td></tr><tr><td>Automatic Sanitization</td><td>Fully Supported</td></tr></tbody></table>

### Common Errors

Movebot supports bi-directional and tenant to tenant migrations with Windows Fileserver's. Below are common errors and questions related to scanning and migrating Windows Fileserver data.

<details>

<summary><strong>Error: ECONNRESET</strong></summary>

**Cause:** Your outbound firewall is filtering the internet connection

**Resolution:** Configure your firewall to allow all outbound traffic on port 443 and 53 from the virtual machine or server running the Movebot agent.&#x20;

</details>

<details>

<summary><strong>Error: Agent Disconnected</strong></summary>

**Cause:** The movebot agent is not longer connected to Movebot

**Resolution:** Check that the virtual machine running the agent is still online and the agent is running. Restart the agent and/or virtual machine if required.&#x20;

</details>

### Frequently Asked Questions

<details>

<summary><strong>Does Movebot support network drives</strong></summary>

**Answer:** Yes. Movebot supports migrating to and from network drives.

To migrate data from network drives make sure they are mounted/connected to the virtual machine or physical server you have installed the Movebot agent on.

</details>

<details>

<summary><strong>Does Movebot support proxy servers</strong></summary>

**Answer:** Yes. Movebot supports migrating data on networks with a proxy server managing network connectivity.

To configure connectivity through a proxy server - [Proxy Configuration](/platform-guides/windows-fileservers/proxy-configuration)

</details>

<details>

<summary>Does Movebot have Static IPs to whitelist</summary>

**Answer:** No. Movebot utilises dynamic IP addresses during a migration. We cannot provide you with static ip addresses or domain names to whitelist.&#x20;

</details>

<details>

<summary>What ports does Movebot use for migrations </summary>

**Answer:** 443 and 53.&#x20;

Movebot connects to the Movebot cloud via HTTPs.&#x20;

</details>

<details>

<summary>Can I run Movebot on a desktop or laptop workstation</summary>

**Answer:** Not recommended

&#x20;We do not recommend running the Movebot agent on a laptop or desktop. While possible, doing so can result in unpredictable performance and interruptions.&#x20;

</details>

<details>

<summary>How much memory and cpu resources does the agent require</summary>

**Answer:** 16GB of ram and 4vCPUs minimum&#x20;

We do not recommend running a migration on servers with less than above.&#x20;

</details>

\
Tags: agent


# Dropbox Business

Learn how to connect to a Dropbox Business or Dropbox Teams account.

### Introduction

Movebot has comprehensive support for Dropbox Business and Dropbox Teams through the Dropbox API. Connecting to Dropbox uses OAuth to authorize.&#x20;

{% hint style="info" %}
To connect to Dropbox Personal see Other Connectors
{% endhint %}

### Requirements

To connect to Dropbox Business online in Movebot you will need:

* To have access to the account owner account in Dropbox, or an Administrator
* The Dropbox account must be licensed

### Configuration Steps

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 **Dropbox Business** from the list of available connections and set the connection name
4. Provide the email address of your administrator account
5. Click **Connect to Dropbox** and authorize the connection through the popup window. You will be required to log in to Dropbox. Make sure you log in with the same account that you specified above.
6. &#x20;Click Save and Test connection in Movebot
7. If the connection has succeeded, you can continue

### Common Errors

Movebot supports bi-directional and tenant to tenant migrations with Dropbox Business. Below are common errors and questions related to scanning and migrating Dropbox Business data.

<details>

<summary><strong>Error: Failed to scan Team Folder (access-denied)</strong></summary>

**Cause:** The admin user specified in your Dropbox connection does not have sufficient access to the Team Folder.

**Resolution:** Even if the folder appears visible in the Dropbox Admin Console, the admin must be explicitly granted editor permissions on the folder itself. Visibility alone is not enough for Movebot to scan or migrate the contents.

</details>

<details>

<summary><strong>Error: "Requested user could not be found."</strong></summary>

**Cause:** The admin email address used in your Dropbox connection is invalid or misspelled.

**Resolution:** Double-check the spelling of the email address and confirm that the user exists within the Dropbox tenant.

</details>

<details>

<summary><strong>Error: Too many items for single namespace</strong></summary>

**Cause:** This folder account contains more items than recommended for a single namespace.

**Resolution:** This is a known Dropbox limitation.  [See here](/platform-guides/dropbox/namespaces-and-limitations) for a detailed explanation.

</details>

### Frequently Asked Questions

<details>

<summary><strong>Movebot scan shows substantially more data than what I see in my Dropbox account</strong></summary>

**Answer:** This typically occurs when the **"Exclude Shared Content"** option is **disabled** in your Dropbox connection settings.

When this setting is turned off, Movebot includes **shared folders** in the scan results **for every user the folder is shared with**. This means the contents of that folder are counted once for each user, significantly inflating the total scanned data.

> **Important:**\
> A **shared folder** is different from a **Team Folder**.
>
> * **Shared folders** are owned by a specific user and live within that user's personal Dropbox space.
> * **Team Folders** are owned and managed at the organizational level and are **not affected** by the **"Exclude Shared Content"** setting.

**Example:**\
A shared folder named **"Shared Media"** is 1.5TB and shared with 20 users.\
With **"Exclude Shared Content"** disabled, Movebot counts that same folder **20 times**—once for each user—resulting in **30TB** appearing in the scan results.

To avoid this, enable the **"Exclude Shared Content"** setting so shared folders are only counted once, keeping scan results accurate and avoiding data duplication

</details>

<details>

<summary><strong>How can I migrate a folder that has been shared with me by another user?</strong></summary>

**Answer:** By default, Movebot ignores folders shared with a user to avoid duplicating data when migrating an entire tenant.

If the folder was shared with you by another user in your Dropbox tenant, you can locate and migrate the folder by browsing to the owner’s account in the Folder-to-Folder mapping modal.

If the folder was shared by a user outside your organization, please contact Movebot support for assistance in mapping and safely migrating the data.

</details>

### Supported Features

Movebot has comprehensive support for Dropbox and is well-maintained.&#x20;

<table><thead><tr><th width="401">Feature</th><th>Supported in Movebot</th></tr></thead><tbody><tr><td>User Drives</td><td>Fully Supported</td></tr><tr><td>Shared Folders</td><td>Fully Supported</td></tr><tr><td>Team Workspace (Team Drives)</td><td>Fully Supported</td></tr><tr><td>Permissions</td><td>Fully Supported</td></tr><tr><td>Versions</td><td>Fully Supported</td></tr><tr><td>Modification Retention</td><td>Fully Supported</td></tr><tr><td>Automatic Sanitization</td><td>Fully Supported</td></tr></tbody></table>

\
Tags: dropboxfullbusiness


# Egnyte

Learn to connect to an Egnyte account.

### Introduction

Movebot has comprehensive support for Egnyte through the Egnyte API. Connecting to Egnyte uses OAuth to authorize.

### Requirements

To connect to an Egnyte account in Movebot, you will need:

* To have access to an administrator account in Egnyte
* To have sufficient privileges to the content you want to migrate
* The Egnyte tenant must be licensed

### Configuration Steps

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 **Egnyte** from the list of available connections and set the connection name
4. Provide your Egnyte subdomain.&#x20;

{% hint style="info" %}
Your Egnyte subdomain is the domain prefix that you use when logging into Egnyte. For example, for the domain "**movebotest.egnyte.com"**, you would use "**movebotest**"
{% endhint %}

5. Click **Connect to Egnyte** and authorize the connection through the popup window.
6. &#x20;Click Save and Test connection in Movebot
7. If the connection has succeeded, you can continue

### Supported Features

Movebot has comprehensive support for Egnyte and is well-maintained.&#x20;

<table><thead><tr><th width="527">Feature</th><th>Supported in Movebot</th></tr></thead><tbody><tr><td>User Drives</td><td>Fully Supported</td></tr><tr><td>Shared Folders</td><td>Fully Supported</td></tr><tr><td>Permissions</td><td>Fully Supported</td></tr><tr><td>Versions</td><td>Fully Supported</td></tr><tr><td>Modification Retention</td><td>Fully Supported</td></tr><tr><td>Automatic Sanitization</td><td>Fully Supported</td></tr></tbody></table>

\
Tags: egnyte


# Box

Learn how to connect to a Box account.

### Introduction

Movebot has comprehensive support for Box through the Box API. Connecting to Box uses OAuth to authorize.&#x20;

### Requirements

To connect to Box in Movebot you will need:

* To have either **Admin** or **Co-Admin** access rights to Box&#x20;
* To migrate all users, **Admin** access is required
* The Box tenant must be licensed

### Configuration Steps

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 **Box** from the list of available connections and set the connection name
4. Click **Connect to Box** and authorize the connection through the popup window
5. &#x20;Click Save and Test connection in Movebot
6. If the connection has succeeded, you can continue

### Common Errors

Movebot supports Box migrations for individual users and entire organizations. Below are common issues and questions related to scanning and migrating data from Box.

<details>

<summary><strong>Error: Access Denied when trying to scan/migrate certain users</strong></summary>

**Cause:** The account used to connect Movebot to Box does not have sufficient administrative privileges. Only the primary Box Admin user can access all user data, including content owned by other Co-Admins. If you connect using a Co-Admin account, you may encounter access denied errors when trying to access the Admin or other Co-Admin accounts.

**Resolution:**  Reconnect using the Box Admin account to ensure full access to all user content.

</details>

### Frequently Asked Questions

<details>

<summary><strong>The number of files shown in Movebot scan results doesn't match what I see in Box</strong></summary>

**Answer:** Box may not always display accurate or up-to-date file and folder counts due to a known platform limitation. For more details, refer to Box’s [official documentation](https://support.box.com/hc/en-us/articles/360043695334-Storage-Usage-Or-File-Count-In-My-Account-Is-Incorrect).

</details>

<details>

<summary><strong>How can I migrate a folder that has been shared with me by another user?</strong></summary>

**Answer:** By default, Movebot ignores folders that have been shared with a user to avoid duplicating data when performing a full tenant migration.

If the folder was shared by another user within your Box tenant, you can locate it by browsing into that user’s account using the Folder-to-Folder mapping modal.

If the folder was shared by someone outside your organization, please contact Movebot support for help mapping and migrating the data safely.

</details>

<details>

<summary><strong>Movebot scan shows substantially more data than what I see in my Box account</strong></summary>

**Answer:** This typically occurs when the **"Exclude Shared Content"** option is **disabled** in your Box connection settings.

When this setting is turned off, Movebot includes **shared folders** in the scan results **for every user the folder is shared with**. This means the contents of that folder are counted once for each user, significantly inflating the total scanned data.

**Example:**\
A shared folder named **"Shared Media"** is 1.5TB and shared with 20 users.\
With **"Exclude Shared Content"** disabled, Movebot counts that same folder **20 times**—once for each user—resulting in **30TB** appearing in the scan results.

To avoid this, enable the **"Exclude Shared Content"** setting so shared folders are only counted once, keeping scan results accurate and avoiding data duplication

</details>

### Supported Features

Movebot has comprehensive support for Box and is well-maintained.&#x20;

<table><thead><tr><th width="527">Feature</th><th>Supported in Movebot</th></tr></thead><tbody><tr><td>User Drives</td><td>Fully Supported</td></tr><tr><td>Permissions</td><td>Fully Supported</td></tr><tr><td>Versions</td><td>Fully Supported</td></tr><tr><td>Modification Retention</td><td>Fully Supported</td></tr><tr><td>Automatic Sanitization</td><td>Fully Supported</td></tr></tbody></table>

\
Tags: box


# BIM 360 Docs

Learn how to connect to Autodesk BIM 360 Docs.

### Introduction

Connect to BIM 360 Docs and set it as the source or destination to start migrating your files.

### Requirements

To connect Movebot to BIM 360 Docs you will need:

* Account Admin access to BIM360

#### Configuration Steps <a href="#configuration-steps" id="configuration-steps"></a>

1. Login to Movebot and create a new project or task.
2. When configuring the source or destination, choose **Create New Connection.**
3. Select **BIM 360 Docs** from the list of available connections and set the connection name.
4. **Provide BIM 360 API access to your BIM 360 Docs account** by following these steps:
   * Log in to [BIM 360 Account Admin](https://bim360enterprise.autodesk.com/).
   * If you have access to more than one account, select an account.
   * Click **Settings**, and select the **Custom Integrations** tab.
   * From the **Custom Integrations** screen, click the **Add Custom Integration** button.
   * From the **Add Custom Integration** screen, select **Document Management**, and click **Next**.
   * From the **Add Custom Integration** screen, select **I'm the develope**r option, and click **Next**.
   * Enter the **Forge Client ID** `0rY4yx0hc4JJOTxwkxykpZZkxAJip3ayph2CUHrLwLVQHAyt` , and the **App Name**, and select the **I have saved the Account ID information securely** checkbox. Optionally add an **App Description** and **App Logo.**
   * Click **Save**. The name of the app will appear in the **Custom Integrations** screen.
5. Click **Link to BIM 360 Docs** and authorize the connection through the popup window.
6. Save and Test the connection in Movebot.
7. If the connection has succeeded, you can continue.

### Supported Features

Movebot currently has partial support for BIM 360 Docs.

| Feature                    | Supported in Movebot |
| -------------------------- | -------------------- |
| Projects files and folders | Fully Supported      |
| Permissions                | Not Supported        |
| Versions                   | Not Supported        |

\
Tags: bim360


# Amazon WorkDocs

Learn how to connect to Amazon WorkDocs

### Introduction

Connecting to Amazon WorkDocs is fast to set up and supported as a source connection in Movebot.&#x20;

{% hint style="info" %}
Amazon WorkDocs is only supported as a source. Setting it as a destination will throw an error.
{% endhint %}

### Requirements

To connect Movebot to an Amazon WorkDocs you will need:

* To generate an AWS access key
* To know the organization ID and region for the site you wish to transfer

### Configuration Steps In Amazon <a href="#configuration-steps" id="configuration-steps"></a>

1. &#x20;Login to your AWS Management Console and navigate to applications then IAM
2. Under IAM create a new permissions "migrations" policy and copy over the existing permissions using JSON option.

```
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "workdocs:Download*", "workdocs:Get*", "workdocs:Describe*", "ds:DescribeDirectories", "ec2:DescribeVpcs", "ec2:DescribeSubnets" ], "Effect": "Allow", "Resource": "*" } ] }
```

3. Now create a new "migration" user and assign it our new policy using attach policies directly. Make sure this is the only policy assigned to the new user.&#x20;
4. Under your new user's Summary page, on the right create new access key for an application running outside AWS. Note these down to use later. &#x20;
5. Go back to the AWS Management Console and under settings on far left go "All services"
6. Click on "Amazon Workdocs" under Business Applications
7. Click on the settings on far left and now select "My sites"
8. Note down your Organization ID and the Amazon region in the url (e.g. us-east-1)&#x20;
   1. If your Organization ID doesn't show up here -  on the top right change your region to where you expect your workdocs to be hosted and repeat steps 5-8.&#x20;

### Configuration Steps In Movebot <a href="#configuration-steps" id="configuration-steps"></a>

1. Log in to Movebot, choose **Create New Connection,** select **Amazon WorkDocs** as the connection, and set a name.&#x20;
2. Set the Access Key ID, Access Key Secret, the site's Organization ID, and the region it belongs to.
3. Save and Test connection in Movebot

### Supported Features

Movebot is currently working on adding comprehensive support **as a source** for Amazon WorkDocs and is well-maintained

| Feature                  | Supported in Movebot |
| ------------------------ | -------------------- |
| Users, Files and Folders | Fully Supported      |
| Permissions              | Fully Supported      |

\
Tags: aws\_workdocs


# Progress ShareFile (Citrix)

Learn how to connect Movebot to ShareFile.

### Introduction

Movebot has comprehensive support for ShareFile through the ShareFile API. Connecting to ShareFile uses OAuth to authorize.&#x20;

### Requirements

The following is required to connect to ShareFile in Movebot:

* The ShareFile tenant must be licensed
* The ShareFile account you connect with must have **Admin** access rights

### Configuration Steps

1. Log in to Movebot and add a new storage connection when configuring a Project during the Source or Destination step.
   1. You can also add the new connection in the Admin panel under the Storage tab
2. Select **Sharefile (Citrix)** from the list of available connections and set the connection name
3. Click the button to link to ShareFile and authorize the connection through the pop-up window. Enter the account's subdomain prefix and grant access.

{% hint style="info" %}
Your ShareFile subdomain is the domain prefix that you use when logging into ShareFile. For example, for the domain "**movebotest.sharefile.com"**, you would use "**movebotest**"
{% endhint %}

4. Return to Movebot. Movebot will show that the ShareFile account is linked when successful.&#x20;

### Common Errors

<details>

<summary><strong>Error: Unable to scan specific folders (file-not-found)</strong></summary>

**Cause:** This usually occurs when attempting to scan permissions using an account that is not the ShareFile Account Owner.

**Resolution:**

* Reconnect Movebot to ShareFile using the Account Owner credentials, **or**
* Disable permission migration if permissions are not required for your use case.

**Important:**  \
You must use the Account Owner. "Super Admin" users do not always have sufficient access to scan permissions on folders inside "allshared" space.&#x20;

</details>

### Supported Features

Movebot has comprehensive support for ShareFile and is well-maintained.&#x20;

<table><thead><tr><th width="527">Feature</th><th>Supported in Movebot</th></tr></thead><tbody><tr><td>User Drives</td><td>Fully Supported</td></tr><tr><td>Permissions</td><td>Fully Supported</td></tr><tr><td>Versions</td><td>Not Supported</td></tr><tr><td>Modification Retention</td><td>Not Supported</td></tr><tr><td>Automatic Sanitization</td><td>Fully Supported</td></tr></tbody></table>

\
Tags: sharefile


# Google Workspaces Gmail

Learn how to connect to a Google Workspace Gmail Account

### Introduction

Connecting to Google Workspaces for Mailbox migrations is fast to set up and fully supported in Movebot. Movebot uses the Google API with Delegate API Access.

{% hint style="info" %}
Currently, we do not support native API connections for personal Gmail. To connect to personal Gmail accounts, use the IMAP connector.
{% endhint %}

Connecting to Google Workspaces by Delegate access provides access to User Data and Shared Drives in the Google Workspace Domain and full support for migrating Drive content.

### Requirements

To connect Movebot to Google Workspace Gmail, you will need:

* To have a Google Workspaces Administrator Account
* To be familiar with the Google Admin Center

### Configuration Steps

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 **Google Workspaces Gmail** from the list of available connections and set the connection name
4. Provide an email address for an administrator account.
5. Provide the primary domain for your Google Workspace tenant
6. Click "Create Service Account"
7. Copy the identifier for the service account (created as part of the process above)
8. Login to Google Admin - [admin.google.com](https://admin.google.com/)
9. Search for "API Controls" in Google Admin
10. Click "Manage Domain Wide Delegation"
11. Click Add New
12. Provide the "client id" copied from Movebot as the client id
13. Provide the session scopes, (copy-paste from below)

```
https://www.googleapis.com/auth/gmail.readonly, https://www.googleapis.com/auth/gmail.insert, https://www.googleapis.com/auth/gmail.labels, https://www.googleapis.com/auth/gmail.modify, https://www.googleapis.com/auth/admin.directory.user, https://www.googleapis.com/auth/admin.directory.user.security, https://www.googleapis.com/auth/contacts,https://apps-apis.google.com/a/feeds/calendar/resource/, https://www.googleapis.com/auth/calendar, https://apps-apis.google.com/a/feeds/calendar/resource/
```

13. Save the new client connection in Google and return to Movebot
14. &#x20;Click Save and Test connection in Movebot
15. If the connection has succeeded, you can continue

### Common Errors

Movebot supports Google Workspace Mail migrations, including user mailboxes and calendar events. Below are common errors and frequently asked questions related to GWS Mail.

<details>

<summary><strong>Error: Calendar Event Failure (attendees-mapping-required-error)</strong></summary>

**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.

</details>

<details>

<summary><strong>Error: Authentication Failed (invalid-credentials)</strong></summary>

**Cause:** The required scopes for Google Domain Delegation are missing or misconfigured.

**Resolution:** Review your domain delegation setup and ensure all necessary scopes are assigned correctly.Review the documentation.

</details>

### Frequently Asked Questions

<details>

<summary>How do I handle the cutover?</summary>

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 your domain changes 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 mappings remain accurate. After remapping, you can continue running **delta migrations post-cutover**.

</details>

<details>

<summary><strong>Is it possible to migrate between two existing Google Workspace tenants using Movebot?</strong></summary>

**Answer:** Yes. Movebot supports bi-directional, tenant-to-tenant migrations between Google Workspace environments.

</details>

<details>

<summary><strong>How do I transfer one specific folder within a mailbox?</strong></summary>

**Answer:** Use the CSV Import feature to migrate the specific folder. \
\
Example:

source,destination\
/mailbox:<user@domain.com>/@MAIL/Important Mail,/mailbox:<user@new-domain.com>/@MAIL\
\
[Learn more.](/using-movebot/transfer-mapping/import-csv-mappings#id-01h8055v9asmr1cykjcc57791m-1)

</details>

<details>

<summary><strong>How does Movebot handle messages tagged with multiple labels when migrating into Microsoft?</strong></summary>

**Answer:** Movebot creates a separate folder in Microsoft for each label from Google. If a message has multiple labels, a separate copy will appear in each corresponding folder.

</details>

<details>

<summary><strong>How can I migrate a mailbox larger than 100GB into Microsoft using the Online Archive feature?</strong></summary>

**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.

</details>

<details>

<summary><strong>How can I migrate only mail that was received before a specific date?</strong></summary>

**Answer:** Yes, from the launch menu, you can select a desired timeframe to include email up to the specified date.

</details>

<details>

<summary><strong>Once I've migrated historical mail, can I migrate only mail received after a certain date?</strong></summary>

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

</details>

<details>

<summary><strong>Migrated calendar events are missing Google Meet links. Why?</strong></summary>

**Answer:** This is expected behaviour. Google Meet links are tenant-specific and cannot be transferred between environments. Events will be migrated without their original meeting links.

</details>

<details>

<summary><strong>Does Movebot support merging multiple mail accounts into a single mailbox?</strong></summary>

**Answer:** Yes. You can use a CSV import to map multiple source mailboxes into a single destination mailbox, organizing each into its own sub-folder.

Make sure to check "Migrate folder contents" when importing the CSV.

Example:\
\
source,destination\
/mailbox:<source-one@domain.com>/@MAIL,/mailbox:<dest@domain.com>/@MAIL/source-one/mailbox:<source-two@domain.com>/@MAIL,/mailbox:<dest@domain.com>/@MAIL/source-two/mailbox:<source-three@domain.com>/@MAIL,/mailbox:<dest@domain.com>/@MAIL/source-three<br>

[Learn more.](/using-movebot/transfer-mapping/import-csv-mappings#id-01h8055v9asmr1cykjcc57791m-1)

</details>

### Supported Features

Movebot has comprehensive support for Google Workspaces and is well-maintained.&#x20;

<table><thead><tr><th width="527">Feature</th><th>Supported in Movebot</th></tr></thead><tbody><tr><td>Email Messages and Folders</td><td>Fully Supported</td></tr><tr><td>Private Calendars </td><td>Fully Supported</td></tr><tr><td>Shared Calendars</td><td>Fully Supported</td></tr><tr><td>Resource Calendars</td><td>Fully Supported</td></tr><tr><td>Contacts</td><td>Fully Supported</td></tr></tbody></table>

\
Tags: googleworkspaces\_gmail


# Outlook Online (Office 365)

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. Movebot uses the Microsoft Graph API with Application authentication for access.

{% hint style="danger" %}
If you are migrating Calendars - we would recommend using the EWS integration [Outlook Online (Office 365) EWS](/connections/outlook-online-office-365-ews). At this time, the Microsoft Graph API always sends calendar invitations, which can be problematic during a migration. <br>

The legacy EWS API will not send invitations.&#x20;
{% endhint %}

### 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

### 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.&#x20;

#### Creating the application in Azure

1. First, login to Azure as an administrator for your domain, and navigate to **App Registrations.**&#x20;
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. Configure the permissions. Click **API Permissions --> Add a Permission.**
6. Select **Microsoft Graph,** then **Application Permissions.**&#x20;
7. Select the permissions detailed below:

```
Directory.Read.All
Mail.ReadWrite
User.ReadWrite.All
Contacts.ReadWrite
Calendars.ReadWrite
MailboxSettings.Read
```

8. Click **Grant admin consent for Couchdrop Demo** and follow the consent process
9. Click **Certificates and Secrets** --> **Client Secrets** --> **New Client Secret**
10. &#x20;Copy the **Client Secret Value**

#### 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** from the list of available connections and set the connection name
4. Provide your tenant name. This is normally in the format "companyname.onmicrosoft.com".
5. Provide the Application Client ID copied from the configuration step above
6. Provide the Application Client Secret from the steps above

### Supported Features

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

<table><thead><tr><th width="527">Feature</th><th>Supported in Movebot</th></tr></thead><tbody><tr><td>Email Messages and Folders</td><td>Fully Supported</td></tr><tr><td>Public Folders</td><td>Not Supported</td></tr><tr><td>In-Place Archive</td><td>Not Supported</td></tr><tr><td>Private Calendars </td><td>Limited Support</td></tr><tr><td>Shared Calendars</td><td>Limited Support</td></tr><tr><td>Contacts</td><td>Fully Supported</td></tr></tbody></table>

\
Tags: office365outlook


# 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 Entra
* To be familiar with the configuration of applications in Entra.
* Enable RBAC for listing users across the tenant (Optional)

{% hint style="danger" %}
While not explicitly required, we *highly* encourage you to follow [Disabling EWS Throttling](/platform-guides/others/exchange-web-services-ews/how-to-disable-ews-throttling) to increase migration speed. This must be done **AFTER** starting the migration.&#x20;
{% endhint %}

### Enable RBAC for listing users across the tenant (Optional)

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

1. Open <https://admin.cloud.microsoft/exchange#/adminRoles>
2. Find **Discovery Management**
3. Add your admin user to the role.&#x20;

{% hint style="warning" %}
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, but you will need to map the users manually using the prefix `mailbox:`
{% endhint %}

### Configuration Steps

Connecting Movebot to Outlook Online through this method requires a few different processes.&#x20;

1. [Start Movebot configuration](#start-configuration-in-movebot)
2. [Create an application in Entra](#create-an-application-in-entra)
3. [Generate a client secret for the application](#generating-a-client-secret-for-the-application)
4. [Add Application details to Movebot ](#add-application-details-to-movebot)

#### Start configuration in Movebot

1. Log in to Movebot and create a new project or task
2. Choose to **Create new Connection**
3. Select **Office 365 Outlook (via EWS)** from the list of available connections and set the connection name
4. Keep the connection window open. You will need to create an application in Entra and add the application details to complete the configuration.

#### Create an application in Entra

1. Log in to Entra as an administrator for your domain at [https://entra.microsoft.com](https://entra.microsoft.com/).
2. Create a new App Registration by expanding **Entra ID** and choosing **App Registrations.**&#x20;
3. Specify a name for the new application. Leave the remaining fields as default, then click **Register.**
4. Copy the **Application (client) ID** and **Directory (tenant) ID** from the "Overview" section. You'll need to paste them into Movebot later. &#x20;
5. Next, give the application permissions. In Entra, select your newly-created app and then click **API Permissions --> Add a Permission**.&#x20;
6. At the top, select "API's my organization uses" and search for "Office 365 Exchange Online"
7. Select "**Application Permissions**"
8. Enable the following Permissions:&#x20;

```
full_access_as_app
```

9. Click the option to **Grant admin consent** and finish the consent process.

#### Generating a client secret for the application

Next, you need to generate the client secret. Under the configuration for the application you created:&#x20;

1. Click **Certificates and Secrets -- > Client Secrets -- > New Client Secret**.&#x20;
2. Provide a description and set an expiry period, then click **Add.** Copy the Secret from the "Value" Field.
3. Return to Movebot and paste the Secret "Value" into the appropriate field

#### Add application details to Movebot

With your application created, you can now finish the configuration in Movebot.&#x20;

1. Return to Movebot. Provide your Tenant ID. (Step 4 from Create an application in Entra)
2. Provide the email address for the Admin user
3. Provide the Application Client ID (Step 4 from Create an application in Entra)
4. Provide the Application Client Secret (Step 3 from Generating the client secret)

### 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.

<details>

<summary><strong>Error: The impersonation principal name is invalid</strong></summary>

**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.

</details>

<details>

<summary><strong>Error: The caller has not assigned any of the RBAC roles</strong></summary>

**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 ](/using-movebot/transfer-mapping/import-csv-mappings) to map your transfers. This Discovery Management role is only required for listing available mailboxes/automatic transfer mappings. It will not prevent migration.

</details>

<details>

<summary><strong>Error: Unknown failure in response. Code: 403</strong></summary>

**Cause:** Missing or incorrect API scopes.

**Resolution:** Review steps 5-9 of the [configuration steps](#configuration-steps) to confirm that the required API scopes have been correctly configured and admin consent has been granted.\
\
**Resolution:** Once confident the above steps are completed, if you still experience a 403 error, please check your Tenant and Users EWS status is enabled. [This is Microsoft's Documentation](https://learn.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-control-access-to-ews-in-exchange) on how to enable.

</details>

<details>

<summary><strong>Error: Invalid client secret provided</strong></summary>

**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.

</details>

<details>

<summary><strong>Error: Mailbox shows 0KB scanned</strong></summary>

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

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

</details>

<details>

<summary><strong>Error: Calendar Event Failure (attendees-mapping-required-error)</strong></summary>

**Cause:** Event attendee mapping is missing for calendar migration.

**Resolution:** You must configure mapping rules for event attendees under "Attendee mappings" of your project settings. These tell Movebot how to convert calendar attendees during a migration, and without this, calendar events will not be migrated.

Examples

<_chris@domain.com>  -->  chris\@domain.com\_\
&#x20;   *\*@domain.com    -->  \*@domain.com*<br>

</details>

### Frequently Asked Questions

<details>

<summary><strong>How do I handle cutover?</strong></summary>

Delta migrations only migrate new and updated data and are designed to be used for cutover. Deltas can be run while users are still active to pull across updates or changes without requiring downtime.&#x20;

</details>

<details>

<summary><strong>What if the domain changes during cutover?</strong> </summary>

If the domain changes during cutover, use **Remap Domains for Cutover** from the Run Action menu. This allows you to replace the old domain with the new one for any new transfers.&#x20;

After remapping the domain, you can continue running delta migrations post-cutover.

See [Remapping Domains ](https://docs.movebot.io/using-movebot/transfer-execution-and-cutover/remapping-domains)for more details.&#x20;

</details>

<details>

<summary><strong>Is it possible to migrate between two existing Microsoft 365 tenants using Movebot?</strong></summary>

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

</details>

<details>

<summary><strong>Can I connect to GoDaddy M365 tenants using Movebot?</strong></summary>

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

</details>

<details>

<summary><strong>My mail migration appears stuck after transferring 50–100GB of data</strong></summary>

This is likely due to mailbox size limits in Microsoft 365.&#x20;

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.

{% hint style="danger" %}
If you take this approach, you will not be able to run a Delta Migration afterward. Doing so will cause archived emails to be re-migrated.
{% endhint %}

**Option 2 (Recommended):** \
Delete the destination mailbox entirely and start the migration of affected users from scratch using the steps [outlined here](#how-can-i-migrate-a-mailbox-over-100gb-into-microsoft-using-the-online-archive-feature). This ensures a clean and accurate migration.&#x20;

</details>

<details>

<summary><strong>How do I transfer one specific folder within a mailbox?</strong></summary>

**Answer:** Use the CSV Import feature to map the specific folder.\
Example:\
\
source,destination\
/mailbox:<user@domain.com>/@MAIL/Important Mail,/mailbox:<user@new-domain.com>/@MAIL

</details>

<details>

<summary><strong>How does Movebot handle emails from Google that are tagged with multiple labels?</strong></summary>

**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.

</details>

<details>

<summary><strong>How can I migrate a mailbox over 100GB into Microsoft using the Online Archive feature?</strong></summary>

**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.

</details>

<details>

<summary><strong>How can I use Movebot to restore a folder from an Online Archive?</strong></summary>

**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:<user@domain.com>/@MAIL/@INPLACE-ARCHIVE/FolderName,/mailbox:<user@domain.com>/@MAIL/Restored Data

</details>

<details>

<summary><strong>How can I migrate only mail that was received before a specific date?</strong></summary>

**Answer:** Yes, from the launch menu, you can select a desired timeframe to include email up to the specified date.

</details>

<details>

<summary><strong>Once I've migrated historical mail, can I migrate only mail received after a certain date?</strong></summary>

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

</details>

### Supported Features

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

<table><thead><tr><th width="527">Feature</th><th>Supported in Movebot</th></tr></thead><tbody><tr><td>Email Messages and Folders</td><td>Fully Supported</td></tr><tr><td>Public Folders</td><td>Source Only</td></tr><tr><td>In-Place Archive</td><td>Fully Supported</td></tr><tr><td>Private Calendars </td><td>Fully Supported</td></tr><tr><td>Shared Calendars</td><td>Fully Supported</td></tr><tr><td>Contacts</td><td>Fully Supported</td></tr></tbody></table>

\
Tags: office365outlook


# Exchange Server

Learn how to connect to an Exchange Server

### Introduction <a href="#introduction" id="introduction"></a>

Movebot connects to Exchange Servers using service account credentials and the server hostname.&#x20;

Connecting Movebot to the Exchange Server requires giving Movebot permissions to access data.&#x20;

### Requirements <a href="#requirements" id="requirements"></a>

To connect Movebot to Exchange, you will need:

* Exchange Server credentials and server hostname
* Service account with Discovery Management Role

### Configuration Steps <a href="#configuration-steps" id="configuration-steps"></a>

1. Login to Movebot, choose **Create New Connection**, choose **Microsoft Exchange (EWS),** and set the connection name.&#x20;
2. Enter your Exchange Server EWS hostname. Example: `exch01.mydomain.com` \
   **note: please do not include the `https://` prefix.**
3. Provide the username for the service account, typically in the format of `<username>@<exchange_domain>`, e.g. `Administrator@<exchange_domain>`
4. Provide the password for the service account.
5. Provide Discovery Management permissions to the service account following these steps.
   1. &#x20;Log in to your Exchange Admin Center (Exchange Control Panel), which can be accessed through the web at `<domain_hosting_exchange>/ecp`
   2. Log in to the administrator account
   3. Select the 'permissions' tab within the Exchange Control Panel
   4. Under Admin Roles select Discovery Management and click the '+'. button.
   5. Under members, add the user you are using on the Movebot configuration, then click save. It will take a few minutes for the new changes to reflect.
      * If permissions are incorrectly configured, Movebot will show the error message "The caller has not assigned any of the RBAC roles requested in the management role header".
6. Click Save and Test connection in Movebot

​

### Common Errors

Movebot supports migration from Exchange On-Prem environments. Below are common errors users may encounter, along with troubleshooting steps and frequently asked questions.

<details>

<summary><strong>Error: Authentication Issue - UPN Logins Not Allowed</strong></summary>

**Cause:** UPN-based logins are not permitted in the current server configuration.

**Resolution:** Enable UPN-based logins on your Exchange server to allow authentication using the <user@domain.com> format when connecting via EWS.

</details>

<details>

<summary><strong>Error: Authentication Issue - Basic Authentication Not Allowed</strong></summary>

**Cause:** Basic authentication is disabled on the Exchange server.

**Resolution:** Enable basic authentication for EWS access. This is required for Movebot to successfully authenticate and perform migrations from Exchange On-Prem.

</details>

<details>

<summary><strong>Error: The account does not have permission to impersonate the requested user</strong></summary>

**Cause:** The service account you specified on your Exchange connection doesn’t have **ApplicationImpersonation** rights for the mailbox.

**Resolution:** Use steps below to check current permissions and grant org-wide or scoped access.\
\
**1. Check current permissions**

```powershell
Get-ManagementRoleAssignment -Role ApplicationImpersonation -GetEffectiveUsers
```

2. **Grant org-wide impersonation**

```powershell
New-ManagementRoleAssignment -Name "impersonation_svc" -Role ApplicationImpersonation -User user@domain.com
```

3. **(Optional) Grant scoped impersonation**

```powershell
New-ManagementScope -Name "ImpersonationScope" -RecipientRestrictionFilter {Department -eq "Migration"}
New-ManagementRoleAssignment -Name "impersonation_svc_scoped" -Role ApplicationImpersonation -User user@domain.com -CustomRecipientWriteScope "ImpersonationScope"
```

</details>

<details>

<summary><strong>Error: Hostname Issue</strong></summary>

**Cause:** The default hostname or URL used to connect to EWS is not resolving correctly or is incomplete.

**Resolution:** If the default URL format exch01.domain.com doesn't work, try using the full EWS path instead: `exch01.domain.com/ews/exchange.amsx`

</details>

### Frequently Asked Questions

<details>

<summary>How do I handle the cutover?</summary>

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 your domain changes 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 mappings remain accurate. After remapping, you can continue running **delta migrations post-cutover**.

</details>

<details>

<summary><strong>How do I transfer one specific folder within a mailbox?</strong></summary>

**Answer:** You can use the CSV Import feature to map the specific folder.\
Example:\
\
source,destination\
/mailbox:<user@domain.com>/@MAIL/Important Mail,/mailbox:<user@new-domain.com>/@MAIL

</details>

<details>

<summary><strong>How can I migrate only mail that was received before a specific date?</strong></summary>

**Answer:** Yes, from the launch menu, you can select a desired timeframe to include email up to the specified date.

</details>

<details>

<summary><strong>Once I've migrated the historical mail, can I run a migration for only mail received after a certain date?</strong></summary>

**Answer:** Yes. Use the **Start Delta Migration** option from the launch menu, then specify how far back you'd like the delta to cover.

</details>

<details>

<summary><strong>Does Movebot support merging multiple mailboxes into a single mailbox?</strong></summary>

**Answer:** Yes. It is possible to use a CSV import to map multiple source mailboxes into a single destination mailbox. You can assign each source to a custom sub-folder.\
\
Be sure to enable "**Migrate folder contents**" when importing the CSV.

Example:

source,destination\
/mailbox:<source-one@domain.com>/@MAIL,/mailbox:<dest@domain.com>/@MAIL/source-one/mailbox:<source-two@domain.com>/@MAIL,/mailbox:<dest@domain.com>/@MAIL/source-two/mailbox:<source-three@domain.com>/@MAIL,/mailbox:<dest@domain.com>/@MAIL/source-three

</details>

### Supported Features <a href="#supported-features" id="supported-features"></a>

Movebot has comprehensive support for Exchange and is well-maintained.

<table data-header-hidden><thead><tr><th width="351"></th><th></th></tr></thead><tbody><tr><td><strong>Featur</strong>e</td><td><strong>Supported in Movebot</strong></td></tr><tr><td>Email Messages and Folders</td><td>Fully Supported</td></tr><tr><td>Calendars</td><td>Fully Supported</td></tr><tr><td>Contacts</td><td>Fully Supported</td></tr><tr><td>Public Folders</td><td>Source Only</td></tr></tbody></table>

\
Tags: exchange


# IMAP Server

Learn how to connect to an IMAP server.

### Introduction

Movebot can connect to any mailbox that supports an IMAP connection, including personal Gmail accounts.&#x20;

Movebot connects to IMAP servers by you providing the Hostname and Port and a Username and Password combination.&#x20;

### Requirements

To connect Movebot to an IMAP Server you will need:

* Hostname and Port for the IMAP server
* A Username and Password for each source account

{% hint style="warning" %}
Currently, IMAP is only supported as a source. &#x20;
{% endhint %}

#### Configuration Steps <a href="#configuration-steps" id="configuration-steps"></a>

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 **IMAP Server** from the list of available connections and set the connection name
4. Provide the Hostname for the IMAP server. Update the Port number if required.
5. Provide a Test/Default Username and Password. **Note** that IMAP credentials can be overridden per transfer, which allows you to configure and manage projects with multiple user accounts
6. Save and Test connection in Movebot
7. If the connection has succeeded, you can continue

### CSV Formatting for IMAP Credentials for Multiple Users

When moving to/from an IMAP server, you can provide credentials for each user directly in the CSV file by specifying a "source\_secret" and/or "destination\_secret" column.

To add a CSV file with multiple users, within a project click **Add Transfer** and then **Import Transfer from CSV** in the dropdown.

The format for these columns shown below.&#x20;

**Example (IMAP source):**

```
source,source_secret,destination
/mailbox:michael@couchdropdemo.com,michael@couchdropdemo.com:P@ssw0rd1,/mailbox:michael@newdomain
/mailbox:chris@couchdropdemo.com,chris@couchdropdemo.com:P@ssw0rd2,/mailbox:chris@newdomain.com
```

For help with CSV mappings, get in touch with support via [support@movebot.io](mailto:support@couchdrop.io)<br>

### Supported Features

Movebot has comprehensive support for IMAP servers and is well-maintained.

| Feature                    | Supported in Movebot |
| -------------------------- | -------------------- |
| Email Messages and Folders | Fully Supported      |

\
Tags: imap


# pCloud

Learn how to connect to a pCloud account

### Introduction

Connecting to pCloud is fast to set up and supported as a source connection in Movebot.&#x20;

{% hint style="info" %}
pCloud is only supported as a source. Setting it as a destination will throw an error.
{% endhint %}

### Requirements

To connect to pCloud in Movebot you will need:

* Username and password for the pCloud account or be able to connect via OAuth

### Configuration Steps

1. When configuring a new connection, select **pCloud** from the list of available connection types and give the connection a name.&#x20;
2. Connect to pCloud by clicking 'Link to pCloud' button, and log in to pCloud in the popup that comes up
3. After a successful login, click Save and Test Connection in Movebot

### Transferring Multiple Users

In pCloud, it is only possible to connect a single user per connection, and impersonation via an admin user is not supported within pCloud.  In order to transfer multiple users, a separate pCloud Storage Connection and project will need to be created for each user. &#x20;

### Supported Features

Movebot has comprehensive support for pCloud and is well-maintained.&#x20;

<table data-header-hidden><thead><tr><th width="351"></th><th></th></tr></thead><tbody><tr><td><strong>Featur</strong>e</td><td><strong>Supported in Movebot</strong></td></tr><tr><td>Files and Folders</td><td>Supported as Source only</td></tr><tr><td>Modification Retention</td><td>Fully Supported</td></tr></tbody></table>

\
Tags: pcloud


# Block Storage


# Amazon S3

Learn how to connect to an Amazon S3 account

### Introduction

Movebot supports moving files to and from Amazon S3 buckets, as well as moving data between S3 buckets.&#x20;

### Requirements

To connect to Amazon S3 in Movebot you will need:

* To have access to an S3 account
* S3 Access Key and S3 Access Key Secret

### Configuration Steps

1. When configuring a new connection, select **Amazon S3** from the list of available connection types and give the connection a name.&#x20;
2. Provide the S3 Access Key and S3 Access Key Secret, and optionally enter your S3 bucket name. For instructions on creating access keys, see this [AWS guide](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html).&#x20;
3. In Movebot, select Save and Test Connection

### Supported Features

Movebot has comprehensive support for Amazon S3 and is well-maintained.&#x20;

<table data-header-hidden><thead><tr><th width="351"></th><th></th></tr></thead><tbody><tr><td><strong>Featur</strong>e</td><td><strong>Supported in Movebot</strong></td></tr><tr><td>Files and Folders</td><td>Fully Supported</td></tr><tr><td>Modification Retention</td><td>Fully Supported</td></tr></tbody></table>

\
Tags: s3 s3\_compatible


# Azure Files

Learn how to connect to Azure Files

### Introduction

Movebot supports moving files and folders to and from Azure Files.

### Requirements

To connect to Azure Files in Movebot you will need:

* To have access to an Azure account with the Storage File Data Privileged Contributor Role
* Access Keys for the Azure Storage Account
* The file share name from Azure

1. When configuring a new connection, select **Azure Files** from the list of available connections and set the connection name
2. Provide the Azure account name and account key
   * In Azure, you can find this by navigating to Storage Accounts and selecting the Storage Account you want to connect to. Then navigate to Access Keys. There you can copy the storage account name, and one of the access keys
3. You also need to provide the file share name of the file share that you want to use
   * In Azure, you can find this inside the Storage Account you want to connect to, and then navigate to File shares
4. Ensure your Azure Storage Account has the necessary permissions for Movebot to access your data
   * This can be found in Azure by selecting Access Control (IAM) and assigning the role Storage File Data Privileged Contributor to your account to allow Movebot to read and write your file shares
5. In Movebot, select Save and Test Connection

### Supported Features

Movebot has comprehensive support for Azure Files and is well-maintained.&#x20;

<table data-header-hidden><thead><tr><th width="351"></th><th></th></tr></thead><tbody><tr><td><strong>Featur</strong>e</td><td><strong>Supported in Movebot</strong></td></tr><tr><td>Files and Folders</td><td>Fully Supported</td></tr><tr><td>Automatic Sanitization</td><td>Fully Supported</td></tr><tr><td>Modtime Retention</td><td>Not Supported</td></tr></tbody></table>

Tags: azure


# Azure Blob

Learn how to connect to Azure Blob

### Introduction

Movebot supports moving files and folders to and from Azure Blob storage.&#x20;

### Requirements

To connect to Azure Blob in Movebot you will need:

* To have access to an Azure account with the Storage Blob Data Contributor role
* Access Keys for the Azure Storage Account
* The container name from Azure

### Configuration Steps

1. When configuring a new connection, select **Azure Blob** from the list of available connections and set the connection name
2. Provide the Azure account name and account key
   * In Azure, you can find this by navigating to Storage Accounts and selecting the Storage Account you want to connect to. Then navigate to Access Keys. There you can copy the storage account name and one of the access keys
3. You also need to provide the container name that you want to use
   * In Azure, you can find this inside the Storage Account you want to connect to, and then navigate to Containers
4. Ensure your Azure Storage Account has the necessary permissions for Movebot to access your data
   * This can be found in Azure by selecting Access Control (IAM) and assigning the role Storage Blob Data Contributor to your account to allow Movebot to read and write your blob containers
5. In Movebot, select Save and Test Connection

### Supported Features

Movebot has comprehensive support for Azure Blob and is well-maintained.&#x20;

<table data-header-hidden><thead><tr><th width="351"></th><th></th></tr></thead><tbody><tr><td><strong>Featur</strong>e</td><td><strong>Supported in Movebot</strong></td></tr><tr><td>Files and Folders</td><td>Fully Supported</td></tr><tr><td>Modification Retention</td><td>Fully Supported</td></tr><tr><td>Automatic Sanitization</td><td>Fully Supported</td></tr></tbody></table>

Tags: azureblob


# Google GCS

Learn how to connect to Google GCS (Google Cloud Storage)

### Introduction

Movebot supports moving files and folders to and from Google Cloud Storage.&#x20;

### Requirements

To connect to Google GCS in Movebot you will need:

* To have access to a Google GCS account with Storage Admin access&#x20;
* The name of the Google Cloud bucket

### Configuration Steps

1. When configuring the source or destination, select **Google Cloud** from the list of available connections and set the connection name
2. Provide the name of your Google Cloud bucket
   * This can be found under Cloud Storage -> Buckets within Google Cloud
3. Upload your JSON service account file&#x20;
   * This can be found in Google Cloud under IAM & Admin -> Service Accounts -> \[Service Account Name] -> Keys
   * Ensure the Service Account has Storage Admin access so that Movebot has all the necessary permissions to migrate files
   * Select Add Key, and ensure the type is JSON
   * Upload this JSON document to Movebot
4. After uploading the JSON document, select Save and test the connection

### Supported Features

Movebot has comprehensive support for Google GCS and is well-maintained.&#x20;

<table data-header-hidden><thead><tr><th width="351"></th><th></th></tr></thead><tbody><tr><td><strong>Featur</strong>e</td><td><strong>Supported in Movebot</strong></td></tr><tr><td>Files and Folders</td><td>Fully Supported</td></tr><tr><td>Modification Retention</td><td>Fully Supported</td></tr></tbody></table>

\
Tags: gcloud


# Backblaze B2

Learn how to connect to Backblaze B2

### Introduction

Movebot supports moving files and folders to and from Backblaze B2.&#x20;

### Requirements

To connect to Backblaze B2 in Movebot you will need:

* To have access to a Backblaze B2 account
* An application key with read and write permissions

### Configuration Steps

1. When configuring the source or destination, select **Backblaze B2** from the list of available connections and set the connection name
2. Provide your Backblaze Key ID and Master Key
   * In Backblaze B2, this can be found under Application Keys. You may need to generate another key to view the Master Key. Copy both the Key ID and the Master Key into Movebot
   * When generating your key, ensure your key has 'Read and Write' permissions. This will allow Movebot to have access to your bucket and move data.&#x20;
3. Provide your Backblaze Bucket ID
   * In Backblaze B2, this can be found underneath Buckets
4. In Movebot, select Save and Test Connection

### Supported Features

Movebot has comprehensive support for Backblaze B2 and is well-maintained.&#x20;

<table data-header-hidden><thead><tr><th width="351"></th><th></th></tr></thead><tbody><tr><td><strong>Featur</strong>e</td><td><strong>Supported in Movebot</strong></td></tr><tr><td>Files and Folders</td><td>Fully Supported</td></tr><tr><td>Modification Retention</td><td>Fully Supported</td></tr></tbody></table>

\
Tags: backblazeb2


# Wasabi

Learn how to connect to Wasabi

Introduction

Movebot supports moving files and folders to and from Wasabi.&#x20;

### Requirements

To connect to Wasabi in Movebot you will need:

* To have access to a Wasabi account with the AmazonS3FullAccess policy
* The name of the Wasabi Bucket and its region name
* An Access Key from Wasabi and Wasabi Access Secret Key&#x20;

### Configuration Steps

1. When configuring the source or destination, select **Wasabi** from the list of available connections and set the connection name
2. Provide the region that your Wasabi bucket is located in and the bucket name
   * This can be found in Wasabi under Buckets
3. Provide an access key and secret key from Wasabi. To do this the user will need to have the AmazonS3FullAccess policy
   * In Wasabi, navigate to Access Keys and select 'Create Access Key'
   * Copy and paste the access and secret key from Wasabi into Movebot
4. In Movebot, select Save and Test Connection

### Supported Features

Movebot has comprehensive support for Wasabi and is well-maintained.&#x20;

<table data-header-hidden><thead><tr><th width="351"></th><th></th></tr></thead><tbody><tr><td><strong>Featur</strong>e</td><td><strong>Supported in Movebot</strong></td></tr><tr><td>Files and Folders</td><td>Fully Supported</td></tr><tr><td>Modification Retention</td><td>Fully Supported</td></tr></tbody></table>

\
Tags: wasabi


# Other Connectors


# SFTP Server

Learn how to connect to an SFTP server

### Introduction

Movebot supports connecting to an SFTP server as a source and destination.&#x20;

### Requirements

To connect to an SFTP server in Movebot you will need:

* The hostname and port of the SFTP server
* An SFTP username with password or private key

### Configuration Steps

1. When configuring the source or destination, select **SFTP** from the list of available connections and set the connection name
2. Provide the hostname and port for your SFTP server
3. Provide your username
4. Provide your password or private key (or both)
5. Select Save and Test Connection

### Supported Features

Movebot has comprehensive support for SFTP and is well-maintained.&#x20;

<table data-header-hidden><thead><tr><th width="351"></th><th></th></tr></thead><tbody><tr><td><strong>Featur</strong>e</td><td><strong>Supported in Movebot</strong></td></tr><tr><td>Files and Folders</td><td>Fully Supported</td></tr><tr><td>Modification Retention</td><td>Fully Supported</td></tr></tbody></table>

\
Tags: sftp[^1]

[^1]:


# WebDAV

Learn how to connect to a WebDAV server

### Introduction

Movebot supports connecting to a WebDAV server as a source and destination.&#x20;

### Requirements

To connect to a WebDAV server in Movebot you will need:

* The URL of the WebDAV server
* A valid username and password combination for the server

### Configuration Steps

1. When configuring the source or destination, select **Webdav** from the list of available connections and set the connection name
2. Provide the URL for the WebDAV server
3. Provide your username
4. Provide your password
5. Select Save and Test Connection

### Supported Features

Movebot has comprehensive support for WebDAV and is well-maintained.&#x20;

<table data-header-hidden><thead><tr><th width="351"></th><th></th></tr></thead><tbody><tr><td><strong>Featur</strong>e</td><td><strong>Supported in Movebot</strong></td></tr><tr><td>Files and Folders</td><td>Fully Supported</td></tr><tr><td>Modification Retention</td><td>Fully Supported</td></tr></tbody></table>

\
Tags: sftp[^1]

[^1]:


# Google Drive (Personal)

Learn how to connect to a personal user's Google Drive account.

### Introduction

Connecting to Google Workspaces is fast to set up and fully supported in Movebot. Movebot uses the OAuth to authorize the connection.&#x20;

{% hint style="info" %}
Connecting to a Google Workspace account is different. See [Google Workspace Drives](/connections/google-workspace-drives) for more information.&#x20;
{% endhint %}

### Requirements

To connect to a Google Drive personal drive in Movebot you need:

* &#x20;To be the account owner or have access to the Google Drive account
* The Google Drive account must be licensed

### Configuration Steps

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 **Google Drive (Personal)** from the list of available connections and set the connection name
4. Click to Link to Google
5. Click Save and Test connection in Movebot
6. If the connection has succeeded, you can continue

### Supported Features

Movebot has comprehensive support for Google Workspaces and is well-maintained.&#x20;

| Feature                | Supported in Movebot |
| ---------------------- | -------------------- |
| User Drives            | Fully Supported      |
| Versions               | Fully Supported      |
| Modification Retention | Fully Supported      |
| Automatic Sanitization | Fully Supported      |

\
Tags: googledrive


# Dropbox Personal

Learn how to connect to a personal Dropbox account.

### Introduction

Movebot supports connecting to a personal Dropbox account through the Dropbox API. Connecting to Dropbox uses OAuth to authorize.&#x20;

{% hint style="info" %}
To connect to Dropbox Business or Dropbox Teams see [Dropbox Business](/connections/dropbox-business)
{% endhint %}

### Requirements

To connect to Dropbox Personal in Movebot you need:

* To be the account owner or have access to the Dropbox Personal Account
* The Dropbox account must be licensed

### Configuration Steps

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 **Dropbox Personal** from the list of available connections and set the connection name
4. Click **Connect to Dropbox** and authorize the connection through the popup window. You will be required to log in to Dropbox. Make sure you login with the same account that you specified above.
5. Click Save and Test connection in Movebot
6. If the connection has succeeded, you can continue

### Supported Features

Movebot has comprehensive support for Dropbox and is well-maintained.&#x20;

| Feature                | Supported in Movebot |
| ---------------------- | -------------------- |
| User Drives            | Fully Supported      |
| Versions               | Fully Supported      |
| Modification Retention | Fully Supported      |
| Automatic Sanitization | Fully Supported      |

\
Tags: dropbox


# SharePoint Online via Delegate Access

Learn how to connect to SharePoint online (Office 365)

### Introduction

Connecting to SharePoint online is fast to set up and fully supported in Movebot. Movebot uses the Microsoft Graph API, which is the recommended method for connecting to SharePoint and OneDrive.

There are two different authentication methods available with SharePoint Online, **Delegate Access** or **Application Access**. The Movebot team recommends you use the default Delegate Access method, as it's simpler to configure and supports Ludicrous mode.&#x20;

Configuring Delegate access involves a standard OAuth login, and Application Access requires creating a custom application in your Azure Domain.&#x20;

{% hint style="info" %}
To use Application Access see [SharePoint Online](/connections/sharepoint-online)
{% endhint %}

### Recommendations

For best results when connecting to SharePoint Online in Movebot using Delegate Access, we recommend the following permissions:

* A Global Administrator service account in Azure
* The Global Administrator account is licensed
* The Global Administrator account has access to the sites you are migrating
* You have the SharePoint domain/hostname on hand
* You have access to all OneDrives you need to migrate
  * For information on granting OneDrive access, see [Granting OneDrive Access](/platform-guides/sharepoint/granting-onedrive-access).&#x20;

The minimum permissions required for migrations is the Application Administrator role.  If you are unable to connect as a Global Administrator or Application Administrator, you can [connect to SharePoint via Azure Application](/connections/other-connectors/sharepoint-via-application-access).&#x20;

### Configuration Steps

1. When configuring a new connection, select **Sharepoint/Onedrive** from the list of available connection types and give the connection a name.&#x20;
2. Provide your SharePoint domain/hostname in the field required
3. Click **Connect to Sharepoint** and authorize the connection through the popup window. You will be required to log in to SharePoint with your Global Admin service account
4. &#x20;Click Save and Test connection in Movebot

### Supported Features

Movebot has comprehensive support for SharePoint and is well-maintained.&#x20;

<table><thead><tr><th width="527">Feature</th><th>Supported in Movebot</th></tr></thead><tbody><tr><td>SharePoint Document Libraries</td><td>Fully Supported</td></tr><tr><td>OneDrive Users</td><td>Fully Supported</td></tr><tr><td>Permissions</td><td>Fully Supported</td></tr><tr><td>Versions</td><td>Fully Supported</td></tr><tr><td>Modification Retention</td><td>Fully Supported</td></tr><tr><td>Automatic Sanitization</td><td>Fully Supported</td></tr></tbody></table>

\
Tags: sharepoint onedrive


# Google Workspace via internal marketplace application

An alternative way to connect to a Google Workspace account to Movebot using an internal marketplace application

## Overview

Movebot has support for connecting to Google workspaces via an internal marketplace application rather than the normal delegated access using Movebot's service tokens. This connection can work both for drive files and for mail.&#x20;

Using this type of connection is not recommended and has limitations and complexities involved in the setup that are not recommended for most customers.

{% hint style="warning" %}
We recommend only customers with experience managing Google Cloud and marketplace applications attempt to use this connection method. We would also recommend that you reach out to support before proceeding.&#x20;
{% endhint %}

## When should we use this instead of the standard delegated access connection

If you require:

* The ability to limit Movebot's access to specific OUs and/or user groups
* The ability to control the quotas

## Requirements

To connect to Google using this method, you will need the following:

* A Movebot account
* A Google Workspace administrator account
* The ability to create a Google Cloud project

## How to create the application

1. **Log in to Google Cloud Console and create a new project**

* This should be done with an administrator account to ensure you have the appropriate permissions&#x20;

{% hint style="warning" %}
While it is possible to use an existing Google Cloud project, this is *not* recommended, as the project should be deleted after the migration is complete to invalidate any access Movebot has to your organization.&#x20;
{% endhint %}

2. **Enable the required APIs**

* Under **APIs & Services -> Library**
* Search for and enable ***Google Drive API***, ***Gmail API***
* Search for and enable the ***Google Workspace Marketplace SDK***

3. **Configure the OAuth Consent Screen**

* Navigate to **APIs & Services** -> **OAUth consent screen**
* Under **User type** select **Internal**. This means the application will only be available and visible to users in your organisation.
* Fill in the required app information - the details here are internal so don't overthink it
* Add the access scopes.&#x20;

```bash
https://www.googleapis.com/auth/gmail.readonly, https://www.googleapis.com/auth/gmail.insert, https://www.googleapis.com/auth/gmail.labels, https://www.googleapis.com/auth/gmail.modify, https://www.googleapis.com/auth/admin.directory.user, https://www.googleapis.com/auth/admin.directory.user.security, https://www.googleapis.com/auth/contacts,https://apps-apis.google.com/a/feeds/calendar/resource/, https://www.googleapis.com/auth/calendar, https://apps-apis.google.com/a/feeds/calendar/resource/,https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/drive.file, https://www.googleapis.com/auth/admin.directory.user, https://www.googleapis.com/auth/admin.directory.user.readonly, https://www.googleapis.com/auth/admin.directory.user.security
```

* Save/Publish

4. **Create and download the service account credentials**

* Navigate to APIs & Services -> Credentials
* Click **Create Credentials** and choose **Service Account.** You do not need to configure any of the optional details here.&#x20;
* Open the new service account, then go to **Keys** -> **Add key -> Create new key** and choose the **JSON** type. This will result in a new key being created and downloaded in your browser. This is the key you will need when configuring Movebo&#x74;**.**&#x20;

5. **Configure the Marketplace SDK**

* Under **APIs & Services -> Library**
* Search for **Google Workspace Marketplace SDK**
* Click **Manage**
* Configure the **App Configuration** tab - the important options are ensuring that **App Visibility= Private, Installation Settings=Admin Only Install, App Integrations=Web app**
* You can then save and publish

## How to connect the application to your organisation

The next step in the process is to add the application to your Google Workspace domain and configure permissions for specific OUs and Groups.&#x20;

1. Log in to admin.google.com
2. Navigate to **Apps -> Google Workspace Marketplace Apps**
3. Click **INSTALL APP**
4. Locate the internal app you created in the last step and click **Admin Install**
5. You can then configure access and restrictions&#x20;

## How to add the connection to Movebot

1. Log in to Movebot and create a new connection
2. Select Google Workspace or Google Workspace Mail
3. Configure the required options
4. Under **Step 2: Create a service account JSON file -** click Show Advanced.&#x20;
5. Upload the service account JSON file created in the previous steps
6. Save

## How to limit Movebot's access to the domain

With this type of connection, you can restrict Movebot's access to certain OUs and Groups. This is done from the **Google Workspace Marketplace Apps** section of the Google Workspace Admin console.

### Common Errors

Movebot supports Google Workspace Mail migrations, including user mailboxes and calendar events. Below are common errors and frequently asked questions related to GWS Mail.

<details>

<summary><strong>Error: Authentication Failed (invalid-credentials)</strong></summary>

**Cause:** Permission scopes were not added correctly&#x20;

**Resolution:** Review your marketplace application setup in Google Cloud Admin and ensure all necessary scopes are assigned correctly. Review all steps above. Sometimes waiting 24 hours can help as well.&#x20;

</details>

<details>

<summary><strong>Rate limiting</strong></summary>

Using a custom marketplace application and project means that you are benefiting from Movebot's high quota limits with Google. If you are hitting high numbers of rate limiting, you may need to increase the project quotas for the Google Drive API or Gmail API. Most of the time, this will require approval from Google.&#x20;

</details>

### Supported Features

Movebot has comprehensive support for Google Workspaces and is well-maintained.&#x20;

<table><thead><tr><th width="527">Feature</th><th>Supported in Movebot</th></tr></thead><tbody><tr><td>Email Messages and Folders</td><td>Fully Supported</td></tr><tr><td>Private Calendars </td><td>Fully Supported</td></tr><tr><td>Shared Calendars</td><td>Fully Supported</td></tr><tr><td>Resource Calendars</td><td>Fully Supported</td></tr><tr><td>Contacts</td><td>Fully Supported</td></tr></tbody></table>

\
Tags: googleworkspaces\_gmail


# Exchange Online via Restricted EWS Application (RBAC Scoping)

An alternative way to connect to Exchange Online using scoped RBAC permissions instead of granting organization-wide mailbox access.

## Overview

Movebot supports connecting to Exchange Online using a restricted application configuration that limits mailbox access to a defined subset of mailboxes within the tenant.

This method introduces additional configuration complexity and is not recommended unless mailbox-level access restriction is required.

{% hint style="warning" %}
We recommend only administrators familiar with Exchange Online PowerShell and RBAC perform this setup. Contact support before proceeding if unsure.
{% endhint %}

## When should this be used instead of full access?

If you require:

* Restricting mailbox access to a defined subset of users
* Compliance controls preventing tenant-wide mailbox access

**If you are not subject to the above requirements, follow the** [**standard Exchange Online guide**](/connections/outlook-online-office-365-ews)**.**

## Requirements

To configure this connection method, you will need:

* A Movebot account
* An Exchange Online administrator account
* Access to Microsoft Entra ID
* PowerShell access to Exchange Online

## How to Configure Restricted EWS Access

1. **Create the application registration in Entra**
   * Login to Entra as an administrator for your domain, and navigate to **App Registrations.**&#x20;
   * Click **New Registration**
   * Specify a name for the new application. Leave the remaining fields as default. Click **Register.**
   * Make a note of the **Application (Client) ID.** This will be entered into your Movebot configuration.
   * Make a note of the **Tenant ID**. This will be needed in Movebot
   * Configure the permissions. Click **API Permissions --> Add a Permission.**
   * Select **APIs my organisation uses,** then search for **Office 365 Exchange Online.**&#x20;
   * Select **Application Permissions**
   * Enable permission:

     ```
     Exchange.ManageAsAppV2
     ```
   * **Grant admin consent**
   * Click **Certificates and Secrets** --> **Client Secrets** --> **New Client Secret**
   * Copy the **Client Secret Value**<br>

2. **Configure the Connection in Movebot**

   The following information is must be entered into the Movebot EWS connector.

   * **Tenant ID**
   * **Email Address** (does not need to be an administrator account.)
   * **Application Client ID**
   * **Application Client Secret**<br>

3. **Connect to Exchange Online using PowerShell**

   ```
   Connect-ExchangeOnline
   ```

4. **Create a Mail-Enabled Security Group**
   * Create a group that defines which mailboxes Movebot can access.

     ```
     New-DistributionGroup -Name "EWS-App-Allowed-Mailboxes" -Type Security
     ```
   * Add allowed mailboxes:

     ```
     Add-DistributionGroupMember -Identity "EWS-App-Allowed-Mailboxes" -Member user@domain.com
     ```
   * **Only mailboxes added to this group will be accessible.**<br>

5. **Retrieve the Distinguished Name of Security Group**

   ```
   Get-DistributionGroup "EWS-App-Allowed-Mailboxes" | Select DistinguishedName
   ```

   * Copy the entire DistinguishedName value.&#x20;
   * Example:

   ```
   CN=EWS-App-Allowed-Mailboxes,OU=contoso.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=AUSP913A004,DC=PROD,DC=OUTLOOK,DC=COM
   ```

6. **Create the Management Scope**

   ```
   New-ManagementScope -Name "User Mailboxes" `
   -RecipientRestrictionFilter "MemberOfGroup -eq 'FULL-DN-HERE'"
   ```

   * **Replace `FULL-DN-HERE` with your group’s Distinguished Name.**<br>

7. **Register the Service Principal**

   * You will need:

     * **Application ID (from App Registration)**
     * **Object ID (from Enterprise Application)**

     ```
     New-ServicePrincipal `
     -AppId <ApplicationID> `
     -ObjectId <EnterpriseAppObjectID> `
     -DisplayName "Movebot-Restricted"
     ```

8. **Assign the EWS RBAC Role with Scope**
   * ```
     New-ManagementRoleAssignment `
     -App <EnterpriseAppObjectID> `
     -Role "Application EWS.AccessAsApp" `
     -CustomResourceScope "User Mailboxes"
     ```

9. **Validate the Configuration**

   * To confirm whether a mailbox is within scope:

   ```
   Test-ServicePrincipalAuthorization `
   -Identity <ApplicationID> `
   -Resource user@domain.com
   ```

   * **If the result shows: `InScope = True` the mailbox is accessible.**<br>

## Important Notes

#### Connection Test Behaviour

When using restricted RBAC scoping, the Movebot connection test will fail by design.

This is expected behaviour and does not indicate a misconfiguration.

Because the application does not have organization-wide access, automatic mailbox discovery and validation are not supported.

#### Permission Propagation Delay

Permission updates and RBAC scope changes may not take effect immediately. In some environments, it can take up to an hour before access behaviour reflects the new configuration. If testing fails immediately after setup, wait and retry before troubleshooting further.

#### Mailbox Mapping Requirement

When using restricted access:

* Mailboxes must be mapped manually using [CSV Transfer Mapping](/using-movebot/transfer-mapping/import-csv-mappings).
* Only mailboxes included in the mail-enabled security group can be migrated.
* Mailboxes outside of the group will return HTTP 403 errors during migration.

## Common Errors

<details>

<summary><strong>Error: 403 Forbidden</strong></summary>

**Cause:** Mailbox is not a member of the mail-enabled security group used in the management scope.

**Fix:** Add the mailbox to the group and retry the migration.

</details>

## Supported Features

Movebot supports Exchange Online mailbox migrations using this configuration.

| Feature           | Supported       |
| ----------------- | --------------- |
| Mailbox Migration | Fully Supported |
| Shared Mailboxes  | Fully Supported |
| Archive Mailboxes | Fully Supported |
| Calendar          | Fully Supported |
| Contacts          | Fully Supported |


# SharePoint Online via Restricted Application Access

An alternative way to connect to SharePoint Online using site-scoped application permissions instead of granting organization-wide SharePoint access.

### Overview

Movebot supports connecting to SharePoint Online using a restricted application configuration that limits access to a defined subset of SharePoint sites within the tenant.

This method introduces additional configuration complexity and is not recommended unless site-level access restriction is required.

{% hint style="warning" %}
We recommend only administrators familiar with Microsoft Entra, Microsoft Graph API, and application permissions perform this setup. Contact support before proceeding if unsure.
{% endhint %}

### When should this be used instead of full access?

If you require:

* Restricting access to a specific SharePoint site
* Compliance controls preventing tenant-wide SharePoint access

If you are not subject to the above requirements, follow the standard [SharePoint Online guide](/connections/sharepoint-online).

### Requirements

To configure this connection method, you will need:

* A Movebot account
* A Microsoft 365 administrator account
* Access to Microsoft Entra ID
* Access to Microsoft Graph Explorer

### How to Configure Restricted SharePoint Access

1. **Create the Application Registration in Entra**
   * Login to **Microsoft Entra** as an administrator and navigate to **App registrations**.
   * Click **New registration**.
   * Specify a name for the new application. Leave the remaining fields as default. Click **Register**.
   * Make note of the following values:
     * **Application (Client) ID** – required for Movebot configuration
     * **Directory (Tenant) ID** – required for Movebot configuration<br>

2. **Configure API Permissions**\
   \
   **Graph API**

   * **API Permissions → Add a Permission**
   * Select: **Microsoft Graph → Application Permissions**
   * Enable permission:

     ```
     Sites.Selected
     ```
   * Click **Grant admin consent**.

   **SharePoint API**

   * **API Permissions → Add a Permission**
   * Select: **SharePoint API→ Application Permissions**
   * Enable permission:

     ```
     Sites.Selected
     ```
   * Click **Grant admin consent**.<br>

3. **Create a Client Secret**
   * Navigate to: **Certificates & secrets → Client secrets → New client secret**
   * Create the secret and copy the **Client Secret Value**.
   * This will be required in Movebot.<br>

4. **Configure the Connection in Movebot**
   * The following information must be entered into the Movebot SharePoint connector:
     * **SharePoint Domain**
     * **Tenant ID**
     * **Application Client ID**
     * **Application Client Secret**<br>

5. **Upload the certificate from Movebot**

   Finally, you will need to generate and download the client certificate from Movebot and upload it to Azure for authentication.

   * Under Step 3: click the button **Generate and Download Certificate**. You should get a PEM file download from Movebot.
   * In Azure - Click **Certificates and Secrets -- > Certificates -- > Upload Certificate**
   * Upload the file created in step 1
   * The thumbprint in Azure should match the one shown in Movebot<br>

6. **Grant Site-Level Access Using Microsoft Graph**
   * The `Sites.Selected` permission alone does not grant access. Site-level permissions must be assigned explicitly.
   * Retrieve the Site ID. Open the following URL in your browser and replace the placeholders:

     ```
     https://<tenant>.sharepoint.com/sites/<siteName>/_api/site/id
     ```
   * Example:

     ```
     https://contoso.sharepoint.com/sites/Finance/_api/site/id
     ```
   * Copy the returned **Site ID (GUID)** value.<br>

7. **Sign in to Graph Explorer**
   * Navigate to: <https://aka.ms/ge>
   * Sign in with a Microsoft account.
   * Grant your user the following delegated permission:

     ```
     Sites.FullControll.All
     ```
   * **(This is required only to assign site permissions.)**<br>

8. **Assign Application Access to the Site**
   * Run the following request in Graph Explorer:\
     `POST` `https://graph.microsoft.com/v1.0/sites/{site_id}/permissions`
   * Replace `{site_id}` with the Site ID retrieved earlier.
   * Request Body:

     ```json
     {
       "roles": ["write"],
       "grantedToIdentities": [
         {
           "application": {
             "id": "<APPLICATION_CLIENT_ID>",
             "displayName": "<APPLICATION_DISPLAY_NAME>"
           }
         }
       ]
     }
     ```
   * A successful response returns:

     ```
     201 Created
     ```

9. **Assign Application Access to Root Site (Required)**

   * Run the following request in Graph Explorer:\
     `POST` `https://graph.microsoft.com/v1.0/sites/root/permissions`
   * Use the same request body format as above.
   * This ensures the application can resolve the SharePoint structure correctly.

### Important Notes

#### **Connection Test Behaviour**

When using restricted site scoping:

* The Movebot connection test may not validate all sites automatically.
* Only the specifically granted SharePoint site will be accessible.
* This is expected behaviour.

#### Permission Propagation Delay

Permission updates may not take effect immediately.

In some environments, it can take up to an hour before site access reflects the new configuration. If testing fails immediately after setup, wait and retry before troubleshooting further.

#### Site Mapping Requirement

When using restricted access:

* Site transfers must be mapped manually using [CSV Transfer Mapping](https://docs.movebot.io/using-movebot/transfer-mapping/import-csv-mappings).
* Only explicitly granted SharePoint sites are accessible.
* Access to other sites in the tenant will result in failures.

#### Supported Features

Certain features are unsupported using restricted access.

| Feature                       | Supported                         |
| ----------------------------- | --------------------------------- |
| SharePoint Document Libraries | Supported (no automatic creation) |
| Permissions                   | Not Supported                     |
| Versions                      | Fully Supported                   |
| Modtime Retention             | Fully Supported                   |


# SharePoint via Application Access

Learn how to connect to SharePoint online via Application Access

{% hint style="info" %}
This page has moved to [SharePoint Online](/connections/sharepoint-online)
{% endhint %}

\
Tags: sharepoint


# Overview

Learn about the different key features and use cases in Movebot

## Discover Movebot Features

Click an item below to learn more about Movebot features.&#x20;

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td><strong>Data Migrations</strong> </td><td>Movebot is the fastest and easiest data migration tool on the market. Learn how to move data with Movebot.</td><td><a href="/pages/W5Jftk1XffuUoO4DgVxS">/pages/W5Jftk1XffuUoO4DgVxS</a></td></tr><tr><td></td><td><strong>Mail Migrations</strong></td><td>Movebot now supports email, calendars and contact migrations as well as Data migrations. Learn about them here. </td><td><a href="/pages/X3LbYPfYzl5uk3gACkS7">/pages/X3LbYPfYzl5uk3gACkS7</a></td></tr></tbody></table>


# Data Migrations with Movebot

Learn how to run a data migration with Movebot at a high level.

## Introduction

Movebot was built for data migrations and transfers. Our product has been specifically built to provide fast, simple, and cost-effective migrations.&#x20;

Performing a data migration in Movebot is a relatively simple process that can be set up in a few minutes. This guide will give you an overview of how a migration is modeled and executed in Movebot with an explanation of some key concepts to help you navigate the project, along with an overview video demonstrating how Movebot works.&#x20;

#### Video Overview

{% embed url="<https://www.youtube.com/watch?v=b0nlXSw0YLk>" %}

## Key Concepts in Movebot

When configuring a migration in Movebot, there are a couple of key concepts that we have adopted to help make the process simple. It's useful to quickly skim through them to understand how we approach migrations.&#x20;

### #1 Copy vs Migrate

{% hint style="success" %}
Migrations in Movebot are not really migrations at all.
{% endhint %}

Movebot perhaps should have been called CopyBot as that's essentially what it does 99% of the time. *Moving data* infers that the content is no longer available at the source. Movebot doesn't *move* the data out of the source as in most cases this is not ideal and can be downright dangerous.&#x20;

For this reason, Movebot copies the data and does not delete it or remove permissions during the migration process. For us, that is the job of the team running the migration, not the machines.&#x20;

### #2 The Project

{% hint style="success" %}
A project is a collection of transfer jobs and settings.
{% endhint %}

Projects in Movebot are a collection of transfers that relate to the same source and destination. When configuring a migration, regardless of its size and scope, you must create a project. Projects use the same configuration settings and connect to the same source and destination systems.

In Movebot, you can create as many projects as you like and storage connections can be shared between them. For example, you can create a Google Workspace connection for a Google Workspace to SharePoint migration, then later create a project for Dropbox to Google Workspace and use that already-configured Google Workspace connection.

**Projects include:**

* A source and destination connection configuration
* Permission migration configuration
* Project-wide content inclusion and exclusion options
* Project-wide sanitization options
* Platform-specific options
* Ignored files

### #3 Transfers and Jobs

Transfers and jobs are children of projects. They can be thought of as an individual job or folder mapping between the source and destination locations.

**Transfer Mappings** are analogous to Jobs, Transfers, Migrations.&#x20;

* They are executed in relative isolation to other transfers
* They are composed of a single source folder to a destination folder
* All types are mapped with Transfer Mappings. Users, Team Drives, Servers, Network Drives, External Servers etc.&#x20;

{% hint style="info" %}
Movebot simplifies migrations by treating everything as folders. Transfer mappings are effectively folder mappings, where **folders** can be users, mailboxes, network drives, subfolders, or virtually anything the connected storage system supports.&#x20;
{% endhint %}

Launching migrations is done by starting transfers.&#x20;

Transfers can be launched and executed more than once. Each time a transfer is executed, Movebot executes a scan and builds a picture of the migration.&#x20;

### #4 Files and Folders

When executing transfers, transfer mappings include child Files and Folders.&#x20;

During the scan stage of a transfer, the scan will build out a complete picture of child folders and files under the transfer, including all targeted files and folders under this transfer.&#x20;

### #5 The Scan Stage

The first thing Movebot does when executing anything is run a scan.&#x20;

Scanning is a fundamental step in the process and a tool in itself. The scan stage maps out and identifies files that are going to be moved, and how those files can and should be transferred to the destination.&#x20;

The scan identifies and resolves a lot of issues before the transfer process begins and generates a snapshot of what we see in the source and how it will appear in the destination.&#x20;

The scan functionality in Movebot is used internally as part of the migration, but it is also exposed as the Discovery Scan function on a project level. A discovery scan is purely informational and provides a high-level overview that can be used to scope out and plan your migration.&#x20;

### #6 The Transfer Stage

After confirming the scan results, you can initiate the transfer. Movebot handles all of the infrastructure management and scaling for you and automatically optimizes for best results.&#x20;

While the transfer is ongoing you have access to the Performance Advisor. This gives you real-time stats about the transfer that is currently in progress.&#x20;

Once the transfer is complete, Movebot will generate a post-transfer report so you can review your migration results.&#x20;

### #7 The Delta Migration

{% hint style="success" %}
Deltas update changed and added files
{% endhint %}

The delta functionality in Movebot is an overlooked gem. Most migration tools require a hard cutover, but with Movebot, the cutover process can be managed by the admin in a way that best suits them.&#x20;

In Movebot, delta migrations iteratively migrate changes that have occurred since the first transfer using the modification time and other metadata by looking at a scan of both the source and the destination folders.&#x20;

During a delta migration, Movebot will only transfer and update files that have either been updated or newly created in the source.&#x20;

Deltas can be run as many times as needed, including months after the project was initially set up.

***

## Quick Start Guide

Transferring or migrating data with Movebot generally comes down to the following process.

{% hint style="success" %}
Pro Tip: Run a small migration/transfer first. Don't jump in the deep end too quickly
{% endhint %}

We recommend that you run a small test migration before proceeding with a large number of transfers. This will allow you to familiarise yourself with Movebot and gain confidence in configuration.&#x20;

### Step 1: Creation of a project

Projects in Movebot are a logical unit of separation. Projects have a source and destination connection, configuration settings, and child transfers.&#x20;

To create a project, visit Movebot and Click **Create Project**. During the configuration stage, you will need to select or create a source and destination connection. You can find detailed information on setting up various connections under [Broken mention](broken://pages/FtV1HerOA9GJqzXCJb2E)&#x20;

### Step 2: Project Discovery Scan

With any large migration, we recommend executing a project scan before adding folders. This step is completely optional, but very useful as it provides a high-level overview of the source and highlights potential issues with moving the data to the destination, *before* you get started.&#x20;

The project scan is also a useful tool for adding folder mappings. On each folder or user, it provides:

* A hierarchical view of files and folders
* Totals and summary data
* File and folder sizes
* Conflicts and issues
* Overview of mapping status&#x20;
* Sharing and permission information

### Step 3: Mapping/Add Transfers

Before any data will be transferred, you will need to configure **Transfer Mappings**. Transfer mappings tell Movebot to move data from one location to another. They form the base unit of operations in Movebot and live under a project.&#x20;

Creating transfer mappings is done from the project dashboard and can be done by selecting the source and destination folders individually or by uploading a CSV file of the mappings.

### Step 4: Launch Transfers

Once transfers are created, they can be launched. Launching transfers stages them for execution.

### Step 5: Investigate Failures

Movebot attempts to remedy all failures automatically, but there are often edge cases that we can't accommodate. Failures are shown under a job and can occur for various reasons.

{% hint style="warning" %}
It's important that you investigate **Critical** and **High Severity** errors. Ignoring these will most likely result in data loss if they are not fixed.
{% endhint %}

Errors caused by intermittent issues will most likely be resolved in the next stage.&#x20;

### **Step 6: Deltas and Cutover**

The final and often most frequent stage in a migration with Movebot is running **Deltas.** With a full migration/transfer like what you launched in **Step 4,** Movebot will move all data from the source to the destination. With a Delta, we will only move files that have changed or are new in the source and not yet moved to the destination.&#x20;

If files have changed or failed during the transfer in Step 4, they will be picked up with a delta.&#x20;

&#x20;

## Conclusion

There are a lot of nuances with Migrations that cannot be covered in a short document. If you are migrating from one of the major platforms, we recommend reading the [Platform Guides](/platform-guides/overview) and [Connections](/connections/sharepoint-online) which will give you a good grounding.&#x20;

## Getting Help

Our support rocks, really it does, and it's free. Reach out to the team with any questions and we are always more than happy to lend a hand.&#x20;

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><p><strong>Email Support</strong></p><p>Send us an email and we will get back to you.</p></td><td><a href="mailto:support@movebot.io">support@movebot.io</a></td><td><a href="mailto:support@movebot.io">mailto:support@movebot.io</a></td></tr><tr><td><strong>Join our discord</strong></td><td>Get live assistance from our team and community on discord</td><td><a href="https://discord.gg/dZzqr3EVez">https://discord.gg/dZzqr3EVez</a></td></tr><tr><td><strong>Chat to Moby</strong></td><td>Get AI assistance from Moby Chat on our Website.<br><br>He does not have access to your account. The team fact checks his answers and updates his documentation regularly.</td><td></td></tr></tbody></table>


# Mail Migrations with Movebot

Learn about Mail, Calendar and Contact migrations in Movebot

## Introduction

Movebot takes an unusual approach to mail migrations, using the same mechanics of Storage Migrations for mail, calendar, and contacts.  Because of this, we recommend that you read through [Data Migrations with Movebot](/features/data-migrations-with-movebot) as a precursor to reading this.&#x20;

## Supported Systems

Movebot currently has support for:

* Email from individual users and shared mailboxes
* Private and shared calendars
* Contacts<br>

In the following platforms:

* [Google Workspaces Gmail](/connections/google-workspaces-gmail)
* [Exchange Server](/connections/exchange-server)
* [Outlook Online (Office 365)](/connections/outlook-online-office-365)
* [IMAP Server](/connections/imap-server)

## Key Concepts in Movebot for Mailboxes

When configuring a mailbox migration in Movebot, there are a couple of key concepts that we have adopted to help make the process simple. It's useful to quickly skim through them to understand how we approach mailbox transfers differently.&#x20;

### Mailboxes are Built on Movebot&#x20;

Using Movebot to perform email, calendar, and contact migrations uses the same process as with [Data Migrations with Movebot](/features/data-migrations-with-movebot).&#x20;

### Migrate Mail the Same Way as Files and Folders

Movebot extracts email, calendars, and contacts so that they behave like files and folders. This approach is a bit unusual, but has some key benefits. One benefit is that mailbox migrations support delta migrations natively, another is that mailboxes can be transferred to normal file storage, allowing you to back up mail with Movebot.

A major advantage to our approach is that Mailboxes can be cherry-picked. Because Movebot works with your mailbox as if it's a filesystem, you can pick and choose what content you move and use Movebot to reorganize and ignore certain folders inside mailboxes. This means you can include/exclude based on a filter or move mail between labels, users, and inboxes.&#x20;

### Delta Migrations

{% hint style="success" %}
Deltas move new emails automatically, without a hard cutover
{% endhint %}

The delta functionality in Movebot is an overlooked gem. Most migration tools require a hard cutover, but with Movebot, the cutover process can be managed by the admin in a way that best suits them.&#x20;

In Movebot, delta migrations iteratively migrate changes that have occurred since the first transfer using the modification time and other metadata by looking at a scan of both the source and the destination.&#x20;

During a delta migration, Movebot will only transfer emails that have either been updated or newly created in the source.&#x20;

Deltas can be ran as many times as needed, including months after the project was initially set up.

## Quick Start Guide

Because transferring or migrating mailbox data uses the same process as files, simply follow the existing guide for [Data Migrations with Movebot](/features/data-migrations-with-movebot).&#x20;

## Frequently Asked Questions

<details>

<summary>How do I manage the cutover?</summary>

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 your domain changes 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 mappings remain accurate. After remapping, you can continue running **delta migrations post-cutover**.

</details>

<details>

<summary>Do I need separate migration projects for mail and data?</summary>

Yes. **Mail, calendar, and contact migrations** require a separate project from data migrations because they involve different access scopes and permissions.

</details>

<details>

<summary>Should I separate my mail migration from my calendar migration?</summary>

Mail and calendars can typically be migrated together in a single project. However, for **larger or more complex migrations**, separating them into **individual projects** may help improve performance.

If you're unsure which approach is best for your migration, please **contact support** for guidance.

</details>

<details>

<summary>What will happen to my meeting rooms, shared mailboxes, etc?</summary>

Resources such as **meeting rooms** and **shared mailboxes** are treated as **standard mailboxes** during the migration process.

</details>


# Calendar Migrations with Movebot

Learn about calendar migrations with Movebot

## Introduction

Movebot takes an unusual approach to calendar migrations, using the same mechanics of storage migrations for mail, calendar, and contacts. Because of this, we recommend that you read through [Data Migrations with Movebot](/features/data-migrations-with-movebot) as a precursor to reading this.&#x20;

#### **Supported Systems:**

* [Google Workspaces Gmail](/connections/google-workspaces-gmail)
* [Outlook Online (Office 365) EWS](/connections/outlook-online-office-365-ews)
* [Exchange Server](/connections/exchange-server)

## Quick Start Guide

Because transferring or migrating calendar data uses the same process as emails and contacts, simply follow the existing guide for [Mail Migrations](/features/mail-migrations-with-movebot).

### Enable Calendar Migration

1. Navigate to your Movebot project.
2. Go to Settings → Options.
3. Enable checkbox for "**Include Calendars**"

### Configure Attendee Mappings

Attendee Mappings define how attendee email addresses should be rewritten and ensure that destination calendar events correctly reflect the intended participants.\
\
Configuring Attendee Mappings is a required part of calendar migrations.\
\
Once calendar migration is enabled, you will see the option to configure Attendee Mappings as an additional step in your project settings.

**Mapping Examples:**

| Scenario                           | Source Mapping            | Destination Mapping   |
| ---------------------------------- | ------------------------- | --------------------- |
| Same Domain and Username           | \*@domain.com             | \*@domain.com         |
| Domain Change (Username Unchanged) | \*@old-domain.com         | \*@new-domain.com     |
| Domain and Username Change         | <john.doe@old-domain.com> | <jdoe@new-domain.com> |

#### Advanced Calendar Settings

{% hint style="danger" %}
These settings should not be adjusted unless explicitly instructed by our support staff.
{% endhint %}

| Setting                                      | Description                                                                                | Default  |
| -------------------------------------------- | ------------------------------------------------------------------------------------------ | -------- |
| Include External Events                      | Copy events where the migrating user was an attendee (but not the owner).                  | Enabled  |
| Send Invitations to Attendees                | Sends calendar invites to destination users after migration.                               | Disabled |
| Include External Shared Calendars            | Copies shared calendars as static snapshots. Does not preserve live sharing functionality. | Disabled |
| Ignore Events Older Than 7 Days (**legacy**) | Limits migration to only recent events.                                                    | Disabled |


# Overview

Learn about how to use Movebot to customise and manage your migration

Movebot is designed to be simple to use, but as expected, migrations carry a lot of complexities and nuances. When using Movebot to migrate small or large volumes of data, there are generally a few main stages outside of the initial configuration.

### Stages of a Migration

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Scan and Discovery</strong></td><td>Scanning the source and destination provides a complete picture of your data. Making it easy to craft and navigate your migration project. </td><td></td><td><a href="/pages/zSMIXcnkhmz6nNCs35b5">/pages/zSMIXcnkhmz6nNCs35b5</a></td></tr><tr><td><strong>Transfer Mapping</strong></td><td>Learn about adding transfer mappings to your project. Choosing which data is going to be moved to where. </td><td></td><td><a href="/pages/0niY2XO2d5ccr8WPFKty">/pages/0niY2XO2d5ccr8WPFKty</a></td></tr><tr><td><strong>Permissions and Metadata</strong></td><td>Learn about configuring permissions and metadata in Movebot. Movebot has comprehensive support for permissions and metadata.</td><td></td><td><a href="/pages/e5wG3P8PQzET7NsiSyHS">/pages/e5wG3P8PQzET7NsiSyHS</a></td></tr><tr><td><strong>Transfer and Cutover</strong></td><td>Learn about executing your migration project and cutting over users to the new platform. </td><td></td><td><a href="/pages/uIdBaGppwGe6Nx4xk0kB">/pages/uIdBaGppwGe6Nx4xk0kB</a></td></tr></tbody></table>


# Scan and Discovery

Learn about the scan tool in Movebot

Data discovery is an important aspect of migrations and data lifecycle management. If you don't have the full picture in terms of your data, it is very hard to be able to perform any management tasks on that dataset. Movebot provides a fundamental tool to help solve this problem and provide detailed visibility into your dataset.&#x20;

### What information does a scan provide

Scans provide an aggregate and tree view of your connected storage engine. You are then able to navigate through that tree to view:

* File and folder counts
* Largest file and folders
* File types&#x20;
* Duplicate files
* Sharing and permission information
* Empty folders
* Recently modified files and folders
* Potential migration issues

You can also use the scan to search for files and folders that match certain conditions.&#x20;

### Scan types

Scans can be executed on a single transfer or a complete project. Project discovery scans are useful as they provide the basis for a migration project and can be used to assist in reorganising data during the migration.&#x20;


# Project Discovery Scan

Learn how to run a project discovery scan.

To run a scan, create a new Movebot project, connect your platforms, and follow the wizard. Once done, select **Save and Exit.**

&#x20;

You will find yourself at your migration project dashboard. Click on **Run Discovery Scan.**

![](https://community.movebot.io/hc/article_attachments/7997720251663)

From the Discovery Scan page, you can then click on **Launch Scan Now.**

<figure><img src="https://community.movebot.io/hc/article_attachments/7997736363407" alt=""><figcaption></figcaption></figure>

You will be asked whether you wish to run a scan over the entire source platform or a specific location. We recommend scanning the *entire source* for cloud platforms and selecting the *specific drive* you wish to scan if you're working with on-prem servers.

\
Finally, you can click **Launch Scan** to kick off your pre-migration scan. &#x20;

![](https://community.movebot.io/hc/article_attachments/7997736363535)

<br>


# Searching Scan Results

Learn how to Movebot's scan results.

Movebot provides a bunch of standardized reports, but it is also possible to create your own reports using the search console under the files/folders view and search for files or folders.

&#x20;

Under **Files/Folders** you can see all files and folders discovered in the scan. You can then use the filter to search for files/folders to find specific items.&#x20;

You can manually use search expressions as below.

| {files.filename == "file1.txt"} | Match files with the filename "file1.txt"                         |
| ------------------------------- | ----------------------------------------------------------------- |
| {files.is\_dir == true}         | Only match directories                                            |
| {files.depth > 10}              | Match files/directories that are greater than 10 directories deep |
| {files.depth < 10}              | Match files/directories that are less than 10 directories deep    |
| {files.size < 1024}             | Match files smaller than 1KB                                      |
| {files.size > 1024}             | Match files larger than 1KB                                       |
| {files.extension == "png"}      | Match files with the extension .png                               |
| {files.modtime > 1602629811}    | Match files modified after the unix timestamp provided            |
| {files.modtime < 1602629811}    | Match files modified before the unix timestamp provided           |

&#x20;

You can join queries together with an "and" operator:

```
{files.modtime > 1602629811} and {files.size > 1024}
```

Spaces and character cases are important and currently there is limited error handling.

&#x20;


# Adding Transfers from Scan

Learn how to add transfers directly from scan results.

Movebot supports adding transfers directly from the scan results. This allows you to use the Explorer feature of the discovery scan to analyze the content and easily create mappings for multiple transfer projects using the same source and destination.&#x20;

### Adding Transfers from Explorer

After running a scan, check the **Discovery Scan** tab and choose **Explorer** to review the files and folders that Movebot has scanned. You'll also see an overview of errors and warnings, such as if you are attempting to map a drive in the source that is too large for the destination. If you click on one of these errors or warnings, the results will only show results that have that specific issue.&#x20;

To add a Transfer from the scan results, simply highlight beside a folder, click the checkbox, and click **Add Transfers**. You can also pick to **Ignore File**, which can be useful for isolating objects that you do *not* want to move to the destination.  If a folder or its subfolders are used in a transfer, Movebot will inform you with an icon beside the file name.&#x20;

<figure><img src="/files/hX1rX3fNPntY4bzV3gDw" alt=""><figcaption></figcaption></figure>

### Mapped sub-folders

In the above screenshot, you may notice that one folder has a **Mapped sub-folders** notice. This means that while the folder at this level has not been mapped as a transfer, at least one sub-folder below has been.&#x20;

This is useful to keep track of which folders you have mapped to both make sure you move all the data across and avoid moving the same folders multiple times.&#x20;

### Ignore subfolders mapped in other transfers

As a further safeguard from moving the same folder in multiple transfers, Movebot has the the option to ignore subfolders mapped in other transfers as part of the Content Options when setting up a transfer. When this default option remains checked, Movebot will ignore subfolders that have previously been mapped within the same project so that you don't have to manually exclude them one at a time.&#x20;

This method allows you to run transfers much quicker, but keep in mind that if you intentionally want to transfer a folder to multiple locations, you will need to leave this option unchecked so that it won't be ignored.&#x20;


# Warnings and Issues

Learn about how Movebot gives Warnings and Issues.

Scans provide a list of warnings and issues that have been identified with the migration. These warnings are useful for highlighting issues before kicking off the migration.

&#x20;

To view warnings and predicted issues from a scan, open **Content Options** under the scan overview.

![](https://community.movebot.io/hc/article_attachments/4719312420495/mceclip0.png)

Clicking on an issue will provide a detailed description and a list of files/folders that are impacted.&#x20;

&#x20;

You can also use **Explorer/Navigator** tab to see a tree view of all files and folders discovered by the scan. Clicking **Show Simulation View** will show an expected destination view of the migration.

<figure><img src="/files/XaScGS1WM91YZY4rbHlW" alt=""><figcaption></figcaption></figure>


# Transfer Mapping

Learn about transfer mappings in Movebot

Transfer mapping are the building blocks for migrations in Movebot. After configuring a project, you will most likely want to add transfer mappings to it.&#x20;

Transfer mappings tell Movebot which files and folders to move. Each transfer mapping is an isolated migration task that can be launched in isolation.

**Example of Transfer Mappings:**

<table><thead><tr><th width="401">Source</th><th>Destination</th></tr></thead><tbody><tr><td>user:michael@couchdrop.io</td><td>user:michael@couch.io</td></tr><tr><td>teamdrive:/Shared</td><td>teamdrive:/Archive/Shared</td></tr><tr><td>mailbox:michael@couchdrop.io</td><td>teamdrive:/Archive/Mail</td></tr></tbody></table>

Each user, team drive or folder that you want to transfer in Movebot needs to be covered by a transfer mapping. &#x20;

{% hint style="info" %}
Movebot treats everything like folders. Users, team drives, network drives, mailboxes; they all appear in Movebot as if they were folders. This simplifies adding mappings and means you can reorganize data between storage types.
{% endhint %}

Mappings can be added in a variety of ways. Learn more about how to add transfer mappings below:

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Add User Mappings</strong></td><td>Learn how to map user to user transfers in Movebot</td><td></td><td><a href="/pages/qIcPWNvuwagokcsNnZyT">/pages/qIcPWNvuwagokcsNnZyT</a></td></tr><tr><td><strong>Add Team Drive Mappings</strong></td><td>Learn how to map team drives in Movebot</td><td></td><td><a href="/pages/sDH0dj2bJnTTFREvYh7x">/pages/sDH0dj2bJnTTFREvYh7x</a></td></tr><tr><td><strong>Import CSV Mappings</strong></td><td>Learn how to use the CSV import process to bulk import users and folders to Movebot</td><td></td><td><a href="/pages/EVR2Hl8WDFwGOvBa9lRr">/pages/EVR2Hl8WDFwGOvBa9lRr</a></td></tr></tbody></table>


# Add User Mappings

Learn how to add User Mappings.

User-to-user transfers are the simplest form of migration with Movebot. Movebot allows you to migrate all files and folders under one user's account to another. Additionally, you can configure it to only migrate cherry-picked folders from the source to the destination.

&#x20;

### **Adding a simple user to user mapping**

Under the Project manager, click **Add Transfer.** select the source user and destination user then hit **Save and Finalize.**

You can also add customization options like filtering to only include/exclude specific files and folders.&#x20;

<figure><img src="/files/86FutpohIhCJww0sae4H" alt=""><figcaption></figcaption></figure>

By default, Movebot will always migrate data into a separate folder in the destination with a "migrated from" prefix. This is to prevent accidental data clashes and make reorganizing data after the migration easy for users. You can disable this by clicking "Migrate folder contents".

&#x20;

### **Configuring user to user via CSV**

For scale, CSV files can be used to import large numbers of users. The CSV file should be in the format shown below.&#x20;

```
source,destination
user:user1@couchdrop.io,user:newuser1@couchdrop.io
user:user2@couchdrop.io,user:newuser2@couchdrop.io
```

For help with CSV mappings, get in touch with support via <support@couchdrop.io>

<br>


# Add Team/Shared Drives

Learn how to add team/shared drives to transfers.

Movebot supports Team Drives and Shared Drive migrations to and from any platform. Mappings can be created by simply selecting the Team Drive in the source and where you would like files and folders to be transferred to in the destination.

{% hint style="info" %}
Movebot treats everything as a folder, which means the destination is interchangeable. You can map folders into Shared Drives/Team Drives, Folders within Team Drives, etc.&#x20;
{% endhint %}

Team Drives show up in the root along with users.&#x20;

### **Adding a Team Drive mapping**

Click **Add Transfer** from the project overview and navigate through the source and destination selecting the folders on the source and the destination.&#x20;

<figure><img src="/files/86FutpohIhCJww0sae4H" alt=""><figcaption></figcaption></figure>

### Migrating Permissions

Movebot supports moving both team/shared drives and the associated permissions. To find out more about migrating permissions, see our section on [Permissions and Metadata](/using-movebot/permissions-and-metadata).

<br>


# Add Network Mappings

Learn how to add network mappings for file servers

We recommend using mapped network drives when migrating from a Windows file server as they are more robust than direct UNC mappings, but Movebot supports both methods.&#x20;

UNC shares can only be configured manually and require a bit of syntactical magic. When adding a mapping from the project, click **Configure folder paths manually** then specify the UNC path to the remote server using the format shown in the example below.

&#x20;

For clarity, see the breakdown below:

/SERVER2/SharedFolder

<table data-header-hidden><thead><tr><th width="261"></th><th></th></tr></thead><tbody><tr><td>/SERVER2</td><td><p>This is the hostname of the target file-sharing server you are connecting to.</p><p> </p><p>If the original UNC path was \\SERVER2\SharedFolder, this is where SERVER2 came from.</p></td></tr><tr><td>/SharedFolder</td><td>The file share on the server</td></tr></tbody></table>

<br>


# Import CSV Mappings

The easiest way to add mappings to a project at scale is via a CSV file. CSV mappings are added to a project as individual transfers/move jobs and you can then treat them like any other mappings.&#x20;

### Uploading a CSV file <a href="#id-01h8055v9a9w0zr3b44kg9wqam" id="id-01h8055v9a9w0zr3b44kg9wqam"></a>

Within your project, click **+** **Add** **Transfer**.  Select **Import Transfers from CSV**.&#x20;

### CSV Formatting <a href="#id-01h8055v9asmr1cykjcc57791m" id="id-01h8055v9asmr1cykjcc57791m"></a>

When executing a file migration, the CSV uses a simple `source, destination` format.

```
source,destination
/user:michael@couchdrop.io,/user:donald@newdomain.io
/sharepointsite:/sites/Accounting:/Documents,/teamdrive:Accounting
```

CSV prefixes can target special objects like users, drives, on-premises agents, or mailboxes.&#x20;

<table data-full-width="true"><thead><tr><th width="447.107421875">Prefix Format</th><th width="489.130859375">Example</th><th>Supported Store Types</th></tr></thead><tbody><tr><td>/user:&#x3C;username or email></td><td>/user:michael@couchdrop.io</td><td>Boomsync, Box, Dropbox Business, Egnyte, Google Workspace, OneDrive, pCloud, Sharefile, Sharepoint, Legacy Sharepoint, Amazon Workdocs</td></tr><tr><td>/teamdrive:&#x3C;team drive name></td><td>/teamdrive:My Team Drive</td><td>Boomsync, Dropbox Business, Egnyte, Google Workspace, Huddle, Sharefile</td></tr><tr><td>/teamdriveid:&#x3C;team drive ID></td><td>/teamdriveid:0AI2ezk6QbPvvUk9PVA</td><td>Google Workspace</td></tr><tr><td>/&#x3C;drive letter>:/&#x3C;path></td><td>/D:/</td><td>Windows/OSX Agent</td></tr><tr><td>/&#x3C;uncpath>/&#x3C;path></td><td>/REMOTESERVER/Shared Data</td><td>Windows/OSX Agent</td></tr><tr><td>/mailbox:&#x3C;email_address></td><td>/mailbox:chris@couchdrop.io</td><td>Exchange, Office 365 Outlook, Google Workspace Gmail, IMAP</td></tr><tr><td>/sharepointsite:&#x3C;site path>:[&#x3C;document library path>]</td><td>/sharepointsite:/sites/Site1:     <em>(all libraries)</em><br>/sharepointsite:/sites/Site1:/Documents    <em>(single library)</em></td><td>Sharepoint, OnPrem Sharepoint</td></tr><tr><td>/hub:&#x3C;hub_name></td><td>/hub:HubName</td><td>BIM360</td></tr><tr><td>/project:&#x3C;project_name></td><td>/project:ProjectName</td><td>BIM360</td></tr><tr><td>/bucket:&#x3C;bucket_name></td><td>/bucket:BucketName</td><td>Amazon S3, S3 Compatible, BiFrost Cloud, Digital Ocean, Filebase, IDrive Cloud, Lyve Cloud, Wasabi</td></tr><tr><td>/publicfolders:&#x3C;path></td><td>/publicfolders:All Public Folders</td><td>Exchange, Office 365 Outlook via EWS</td></tr><tr><td>No prefix</td><td>/Files</td><td>Backblaze B2, SFTP, Dropbox Personal, Google Cloud, Google Drive Personal, Azure Blob, Azure Files</td></tr></tbody></table>

#### Mapping Subfolders

You can select a specific subfolder to be transferred by specifying the folder path after the prefix.

Examples:

* `/user:alex@company.com/Interview Videos/2024`  &#x20;
* `/teamdrive:Finance/Reports/2024/Q4`
* `/sharepointsite:/sites/HR:/Documents/2024/Review Process`&#x20;

#### Additional Mapping Options

<table><thead><tr><th width="392.4921875">Setting</th><th>Behaviour</th></tr></thead><tbody><tr><td>Migrate folder contents (Don't retain root folder)</td><td><p><strong>Enabled:</strong> Only the contents of each specified source folder are migrated - the folder itself is not created in the destination.</p><p><br><strong>Disabled:</strong> The specified source folder is retained, and a matching subfolder is created in the destination.</p></td></tr><tr><td>Ignore checks on import</td><td>Skip validation of CSV source/destination paths (e.g. prefix formatting).<br><br>Contact support before enabling.  </td></tr></tbody></table>

### CSV Formatting - IMAP Credentials <a href="#id-01hfsz71kyec6x6s3rva8w9bn6" id="id-01hfsz71kyec6x6s3rva8w9bn6"></a>

When moving to/from an IMAP server, you can provide credentials for each user directly in the CSV file by specifying a "source\_secret" and/or "destination\_secret" column.<br>

The format for these columns are shown below.&#x20;

**Example (IMAP source):**

```
source,source_secret,destination
/mailbox:michael@couchdropdemo.com,michael@couchdropdemo.com:P@ssw0rd1,/mailbox:michael@newdomain
/mailbox:chris@couchdropdemo.com,chris@couchdropdemo.com:P@ssw0rd2,/mailbox:chris@newdomain.com
```

&#x20;

For help with CSV mappings, get in touch with support via <support@couchdrop.io>

<br>


# Excluding Content

Learn about options for excluding content from transfers

The default behavior of Movebot is to migrate all compatible files and folders from the source to the destination. This behavior can be overridden by using content exclusion rules.&#x20;

Content exclusion rules can be defined on the project or individual transfer levels.&#x20;

***

### **Project Level Exclusion Rules**

Project-level exclusion rules will apply to all migrations in a project. Administrators can define these in the project settings under **Rules.**

Select "Ignored Files" to choose relevant folders/files you want to exclude. When selecting a folder, all subfolders will also be excluded from transfers.&#x20;

***

### **Individual Migration/Transfer Level Rules**

Exclusion rules are also available at the Transfer level. Rules defined at this level are **in addition** to rules set at the project level.&#x20;

At the project level, there is also the option for explicit inclusion. Defining rules here will exclude all content **except** content that matches the rule set.&#x20;

{% hint style="success" %}
Explicit inclusion rules are also useful for carving up your project into chunks by file types or size.&#x20;
{% endhint %}

#### Ignore subfolders mapped in other transfers

When this transfer-level **default option** remains checked, Movebot will ignore subfolders that are mapped within the same project. The intent is to stop the same folder from being transferred multiple times to avoid creating duplicate content at the destination.&#x20;

If you intentionally want to transfer a folder to multiple locations, you will need to uncheck this option.

**Available Rule Types**

| File Extension Matches          | Only match files with the following extensions                                                          |
| ------------------------------- | ------------------------------------------------------------------------------------------------------- |
| Files older than                | Only match files that are older than                                                                    |
| Files modified before timestamp | Only match files modified before the defined unix timestamp                                             |
| File size greater than          | Only match files with a size greater than                                                               |
| File/Folder name matches        | Only match files with the following name. This field supports unix style wildcards                      |
| Path matches                    | Only match files with the following path.  Requires a unix style wildcard to start eg *\*/D:/Documents* |

&#x20;

<br>


# Permissions and Metadata


# Mapping Permissions

Learn about how to map permissions in Movebot

Permission Mappings define how user/group permissions should be rewritten and ensure that destination permissions are correctly applied in scenarios where the username/domain is changing. \
\
Once permissions migration has been enabled, you will see the option to configure Permission Mappings as an additional step in your project settings.

&#x20;&#x20;

*Example Mappings*

| Scenario                                   | Source Mapping          | Destination Mapping        |
| ------------------------------------------ | ----------------------- | -------------------------- |
| All usernames mapped to email addresses    | `*`                     | `*@couchdropdemo.com`      |
| Domain-only change (username unchanged)    | `*@couchdrop.io`        | `*@couchdropdemo.com`      |
| Username changes and becomes email address | `john.doe`              | `jdoe@couchdropdemo.com`   |
| Username and domain both change            | `john.doe@couchdrop.io` | `jdoe@couchdropdemo.com`   |
| Group name mapped to group email           | `Group 1`               | `group1@couchdropdemo.com` |

&#x20;

### **Importing mappings from a CSV file**

For situations where the username format is changing, you can add explicit mappings for each user. When migrating a large organization, you can create a CSV file of mappings that can be imported.

&#x20;

*An example CSV file is:*

```
source,destination
michael@couchdrop.io,michael.lawson@couchdropdemo.com
chris@couchdrop.io,chris.roy@couchdropdemo.com
```

### &#x20; <a href="#h_01hqrk22020w3cjth772gm2tv5" id="h_01hqrk22020w3cjth772gm2tv5"></a>

### Other Options <a href="#h_01hqrk2202jyh7ckr210pak0hd" id="h_01hqrk2202jyh7ckr210pak0hd"></a>

*Tweak the permission migration further*

| **Send Notification Invitations** | <p>Send email notifications to users when permissions are added. </p><p> </p><p>This option is not supported by all cloud platforms.</p>                        |
| --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Exclude Unmapped Permissions**  | <p>Only include permissions for users that are included in the mappings.</p><p> </p><p>This option is useful for preventing re-sharing with external users.</p> |
| Exception Rules                   | Prevent permissions from being migrated under certain circumstances.                                                                                            |

<br>


# Scanning permissions

Learn about how Movebot scans permissions.

As part of a scan, permissions will be scanned from the source. You can then use the scan results to inspect the permissions on the source. Make sure check **Enable File/Folder Permission Preservation** during setup to use this feature.&#x20;

To check the permissions on an individual file or folder, go to **Discovery Scan** within your project, highlight your target item, and click **\*Details**, then **Sharing**.&#x20;

&#x20;

### **Downloadable reports**

Additionally to the reporting available in the front end, you can download two reports on file permissions:

| Permissions Report         | A CSV export of all permissions detected on the source by file and folder. |
| -------------------------- | -------------------------------------------------------------------------- |
| Applied Permissions Report | A CSV export of applied permissions                                        |

<br>


# Manual Permissions

Learn how to manually map permissions.

Permissions can be manually configured from a CSV file, or the Box collaborators report. When enabled, Movebot will not query for permissions in the source system, rather it will look for permissions in the provided CSV file.&#x20;

&#x20;

### CSV File Format

If you are not using the Box collaborators report, the format of the permissions CSV file is as shown in the example below. &#x20;

```
filename,collaborator permission,collaborator login
/Case Studies,Editor,jack@couchdrop.io
/FolderX/Case Studies,Editor,jack@couchdrop.io
```

### Box Collaborators Report

From your Box admin console, go to **Reports > Create Report** and click **Select Filters** on the row for the collaboration report.&#x20;

<figure><img src="https://community.movebot.io/hc/article_attachments/5095668566159/Screen_Shot_2021-11-24_at_1.40.39_PM.png" alt=""><figcaption></figcaption></figure>

If you want to migrate your entire organisation, you can leave the filters blank, or you can generate the report for specific users you wish to migrate.

![](https://community.movebot.io/hc/article_attachments/5095660200847/Screen_Shot_2021-11-24_at_1.41.29_PM.png)

<br>


# Transfer Execution and Cutover


# Deltas and Changes

Learn about how Movebot handles Deltas and changed files.

### Keeping Your Data Up to Date

In active environments, it’s common for files to be added or updated during a migration. Movebot’s **Delta Migration** feature helps keep your destination up to date by copying **only the files that have been added or modified** since the last transfer.

***

### How Delta Migrations Work

Delta Migrations compare the **source and destination** using each file’s **modification time (modtime)**.\
Only files that are **new** or have a **more recent modtime** on the source will be transferred. This reduces duplication and speeds up the process by skipping files that haven't changed.

{% hint style="warning" %}
Important: **Movebot does not delete or move files at the destination**

If you rename files or move them to a new directory in the source, Movebot will see them as "new" files. This means that they won't be moved in the destination, and instead will be migrated again.&#x20;

If you delete files at the source, a delta migration **will not** delete them in the destination.&#x20;

To avoid duplication or confusion, we recommend **avoiding major restructuring** during the migration process.&#x20;
{% endhint %}

***

### Running a Delta Migration

Delta Migrations increase **scan time**, but reduce **transfer time** by focusing only on what’s changed.

You can only launch a Delta Migration **after your Full Migration** run. To do this:&#x20;

1. Open your project.
2. Select the transfer(s) you want to run a Delta for.
3. Click **Run Action**.
4. Choose **Start Delta Migration**.<br>

We recommend running a Delta Migration for your Cutover to catch files that were created or updated since your Full Migration. You can also run a Delta Migration to resolve certain errors. See further information on this at [Failures and Errors](/using-movebot/transfer-execution-and-cutover/failures-and-errors). &#x20;

### Running a delta migration as your initial transfer

If you already have content in your destination tenant because of user access or a partially-completed migration, you may want to start with a Delta Migration instead of a Full Migration.&#x20;

In this scenario, you can enable the "**Include only Changed Files/Objects**" setting. This setting forces Delta Migrations and uses the delta migration process outlined above for all transfers. \
\
To force Delta Migrations across all runs:

1. Go to **Step 4** in your project settings.
2. Enable the **“Include only Changed Files/Objects”** option.


# Failures and Errors

Learn about how Movebot handles Failures and Errors.

### Handling Failures with Confidence

While Movebot is designed to be reliable, occasional failures can happen—especially when dealing with varying cloud platforms and environments. The good news? Most issues are easy to fix, and failures are **nothing to be afraid of**.

We’re here to help you handle them with ease.

***

### First Step: Resume Job / Rerun Failures

If you have a finished transfer with outstanding failures, your first action should be to **Resume Job / Rerun Failures**. This simply resets the status of any failed files and tries again. This action does not require a re-scan of the source data.&#x20;

To rerun failures:

1. Open your project and select any jobs that have failures.
2. Click **Launch Scan or Transfer**.
3. Select **Resume Job / Rerun Failures**.

This often clears up transient or permission-based issues with minimal effort.

***

### Secondary Option: Start a Delta Migration

If some failures persist—particularly with error types such as **unknown errors**, **file-not-found**, or **checksum-mismatch**—running a **Delta Migration** can be helpful.

Delta migrations scan for and retry transferring files that have changed, or failed previously, without reprocessing files that have already migrated successfully.

To start a delta migration:

1. Open the project and select any jobs that have failures.
2. Click **Launch Scan or Transfer**.
3. Select **Start Delta Migration**.

This is a safe and efficient way to retry specific problem files without restarting the entire job.

### Investigating Persistent Failures

Movebot displays detailed failure information in the **admin interface**, including the original error message returned from the cloud platform. This can help pinpoint the reason a file failed to transfer.

### Still Need Help?

If the reason for failure remains unclear, we’re happy to assist.

📩 **Contact support at** <support@movebot.io>\
Our team can review the issue and guide you to a solution.

***

<br>


# Pausing/Resuming

Learn about pausing and resuming transfer jobs.

### Pausing and Resuming Transfer Jobs

Transfer jobs in Movebot can be safely **paused and resumed at any time**, giving you full control over the migration process.

***

#### How to Pause and Resume a Job

* To **pause** a job that is currently running, click **Cancel/Pause Migration** in the job menu.
* To **resume**, open the same job and click **Resume Job / Rerun Failures**.

When resumed, Movebot will **pick up where it left off**.

You can pause and resume migrations as often as needed without affecting already transferred data.

***

#### ⚠️ Keep in Mind

If you click **Start Full Migration, Start Delta Migration,** or **Start Data Only Migration** instead of \
**Resume Last Action / Rerun Failures**, the job will **start from scratch**, requiring a re-scan of all previously scanned data.&#x20;

Always use **Resume Last Action / Rerun Failures** to avoid unnecessary duplication and preserve your job's progress.

<br>


# Scheduling

Learn how to schedule transfer jobs.

Movebot offers two distinct scheduling features for managing job execution. Scheduling can be used to perform a daily delta migration at a certain time, or to restrict the time a particular migration job will transfer data.

&#x20;

### Scheduling Daily Execution

Migration jobs can be scheduled to launch daily at a certain time.

This feature is useful for syncing where the source dataset is still active and you want to perform a daily sync. Scheduling daily executions requires setting a daily start time and we recommend enabling **Always Use Delta** so Movebot is not migrating the same files every day without changes. &#x20;

&#x20;

### Scheduled Data Transfer Window&#x20;

Movebot supports the ability to specify a time window when Movebot can move data in the transferring stage. Scheduling a data transfer window is done by specifying a start and end hour in UTC time.

Unlike when Scheduling Daily Executions, scheduling a data transfer window does not start the migration automatically; you must still start the migration. Once the migration reaches the transferring stage, Movebot will check to make sure we are inside the scheduled data transfer window. If outside the defined window, we pause the transfer.

&#x20;

{% hint style="warning" %}
**Note:** When outside the transfer window, the migration will remain in the Transferring state, but no data will be migrated
{% endhint %}

. <br>


# Data Localization

Learn about Data Localization options

Movebot uses dynamically launched and managed dedicated worker nodes to execute your migration when you launch it. Your data does not leave these nodes and they are terminated as soon as your migration is complete. Nodes are never shared between customers.&#x20;

&#x20;

By default, we use compute resources within our San Francisco data center. You can adjust the geographic location of your migration to meet your performance or data sovereignty requirements.&#x20;

&#x20;

You can find Data Localization options in the project settings of any project under **Settings --> Finalise** in the section **Choose Movebot Region**.

&#x20;

### Available regions&#x20;

| Region                      | Node ID                                                         |
| --------------------------- | --------------------------------------------------------------- |
| San Francisco (Recommended) | Digital Ocean SFO3                                              |
| New York                    | Digital Ocean NYC1                                              |
| Toronto                     | Digital Ocean TOR1                                              |
| Amsterdam                   | Digital Ocean AMS1                                              |
| Singapore                   | Digital Ocean SING1                                             |
| London                      | Digital Ocean LON1                                              |
| Frankfurt                   | Digital Ocean FRA1                                              |
| Bangalore                   | Digital Ocean BLR1                                              |
| Tokyo                       | AWS ap-northeast-1                                              |
| Sydney                      | Digital Ocean SYD1                                              |
| HIPPA Compliant             | Chat with the Movebot team for more information on this option. |
| Dedicated/Self Hosted       | Chat with the Movebot team for more information on this option. |


# Remapping Domains

Learn about how Movebot handles updating domains during your migration.

Domain changes are performed in your own environment. Remapping domains in Movebot updates transfer mappings to reflect those changes, allowing subsequent migrations to continue successfully.

This process may involve removing and adding domains in your tenant and may require updating MX records for mail migrations.&#x20;

#### When to Remap your Domains <a href="#keeping-your-data-up-to-date" id="keeping-your-data-up-to-date"></a>

Remapping will only be successful when no migrations with the old domain are in progress, so Domain changes are typically completed near the end of a migration for final cutover.&#x20;

{% hint style="warning" %}
Storage connections using admin accounts with the old domain will need to be updated using the new domain.&#x20;
{% endhint %}

#### Domain Remapping Process  <a href="#keeping-your-data-up-to-date" id="keeping-your-data-up-to-date"></a>

1. Finish or cancel any running migrations with the old domain.
2. Update domains in your tenants and Movebot storage connections.

{% hint style="info" %}
For user data migrations such as OneDrive or My Drive, check if you have the "create subfolder" transfer mapping option enabled. If so, contact <support@movebot.io> before remapping.&#x20;
{% endhint %}

3. Use the Remap Domains feature by selecting relevant transfers and starting a "run" action to replace the old domain with the new one.
   1. Calendar and/or Permission migrations will also need to update Extended Mappings using the new domain.&#x20;
4. Run a new delta migration to complete your final sync.&#x20;


# Overview

Movebot supports all of the major data platforms, learn about the details of them in relation to data migrations and Movebot


# Google

Learn about transferring data in and out of the Google Platform

Movebot has comprehensive support for Google Workspaces and Personal Google Drives through a variety of connectors.

## Quick Start Guides

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Google Workspace</strong></td><td>Learn how to connect Movebot to Google Workspace</td><td></td><td><a href="/pages/i4nnSvepod3G15NdJrZV">/pages/i4nnSvepod3G15NdJrZV</a></td></tr><tr><td><strong>Personal Google Drive</strong> </td><td>Learn how to connect Movebot to a personal Google Drive</td><td></td><td><a href="/pages/Hc1Jh8XyxpVsgOKVFDPh">/pages/Hc1Jh8XyxpVsgOKVFDPh</a></td></tr><tr><td><strong>Google Mail</strong></td><td>Learn how to connect to Gmail to migrate mail, calendars and contacts</td><td></td><td><a href="/pages/XtmmdU6InfM3FvTUFZRa">/pages/XtmmdU6InfM3FvTUFZRa</a></td></tr></tbody></table>


# SharedWithMe content

Learn about the ShareWithMe option when Google is the source.

When users share a MyDrive folder with another user, this folder shows up under "Shared With Me" in Google Drive.

&#x20;

![Shared with me content](https://community.movebot.io/hc/article_attachments/4719010452367/Screen_Shot_2022-04-25_at_8.08.31_PM.png)

&#x20;

Movebot does not migrate shared folders by default. If you want to include shared folders for a user migration/transfer, you can enable this under **Content Options**.

&#x20;

### Migrating Shared With Me Content

To transfer shared folders as part of the migration, disable the **Exclude SharedWithMe Content** under Content Options in the project configuration.

&#x20;

![](https://community.movebot.io/hc/article_attachments/4718951519887/Screen_Shot_2022-04-25_at_8.01.41_PM.png)

With **Exclude SharedWithMe Content** disabled, Movebot will transfer all files owned by the migrating user in shared folders to the destination. You can expand this to include all files and folders with the options below.

&#x20;

| Exclude Shared Content owned by another user     | <p>This option will filter files by owner.</p><p>All files in the shared folder will be transferred to the destination</p>                                 |
| ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Exclude Shared Content owned by a migrating user | <p>This option will filter files by users in the project.</p><p>Files that are not owned by users included in the migration project will be excluded. </p> |

&#x20;

<br>


# Sharing and Ownership

Learn about Sharing and Ownership within Google Drive platforms.

Google Drive provides a high level of flexibility in its sharing model in comparison to other storage providers. This additional flexibility creates issues when migrating to a new Google Tenant or another storage provider like Dropbox.

&#x20;

### Team drives vs Shared folders

There are some subtle differences between Team Drives and Shared folders.

|                            | Team Drives             | Shared Folders                                                                                                                        |
| -------------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| Who owns the content       | The organisation        | The individual user who created each file or folder.                                                                                  |
| Can permissions be removed | No                      | <p>Permissions can be customised at any level.</p><p>The sharing user, can be removed from subfolders created by external users. </p> |
| File limitations           | 400,000 files per drive | None                                                                                                                                  |
| Content can be orphaned    | No                      | Yes                                                                                                                                   |

&#x20;

The most important thing to remember here is around ownership. In a **Team Drive**, the **organization** owns the content, not individual users. In a **Shared Folder**, the **individual** that creates the content owns it. This means, <user1@google> shares a folder with <user2@google,> and then <user2@google> creates a file or folder, it is owned by <user2@google> and <user2@google> can revoke <user1@googles> access to it.&#x20;

This flexibility can cause data loss and orphaned data, whereby the parent folder has been deleted and the child no longer has a parent and so cannot be found.&#x20;

This approach to ownership is great for individual users, but a nightmare for organizations, as organizations lose control over their data.&#x20;

&#x20;

### Migrating MyDrive data with Movebot

Movebot takes a pragmatic approach to solving this problem and normalizes the ownership model so that it works for organizations and is compatible with other content systems like Dropbox, Box, and Office365.&#x20;

During a migration, content discovered under a particular user's root becomes their content in the destination. Permissions can still be assigned, and that content can be shared with anyone, but the ownership stays under the migrating user.&#x20;

This ensures that the organization has control over the data.

&#x20;

### Migrating invisible data in MyDrive

If users have created complex sharing rules in shared MyDrive folders, then the migrating user may not be able to see data that lives in their shared folders.&#x20;

Movebot can detect this, by enabling "Search for unreachable content"

![Screen\_Shot\_2022-04-05\_at\_9.11.53\_AM.png](https://community.movebot.io/hc/article_attachments/4618761899919/Screen_Shot_2022-04-05_at_9.11.53_AM.png)

Unreachable data will then be flagged.&#x20;

{% hint style="warning" %}
Note: Enabling this option does slow down the calculating stage, but disabling the option can lead to data loss, as any files that meet the criteria won't be moved.&#x20;
{% endhint %}

If you are unsure about enabling this option, contact support at <support@movebot.io>.

\
Tags googledrive


# Performance and Limits

Learn about performance limitations with Google Drive.

Like most cloud storage providers, Google Drive has limitations that impact migration performance.

&#x20;

### Team drives are limited to 500,000 objects

Google limits Team drives to a maximum of 500,000 objects. Once you reach this limit, you are unable to add new objects to the team drive.

### Folder nesting limit

A folder in a Shared Drive in Google Workspace can have up to 100 levels of nested folders. If a folder in the source has more than 100 subfolders, the data folder architecture will need to be restructured to fit in Google Workspace.&#x20;

### Google docs export limit&#x20;

Google does not allow Documents/Sheets/Presentations greater than 11MB in size to be exported into standard Microsoft formats via their API. Files exceeding this limit must be manually exported directly from the Google web frontend. &#x20;

### Daily upload limit per user

For individual users, Google has a daily upload limit of 750GB per user. Once this limit is hit, rate limiting prevents new objects from being uploaded

&#x20;

### Daily download limit per user

Depending on the tenant, there is an undisclosed download limit. We believe this limit is around 13TB per day, but it varies between tenants.

&#x20;

### Rate limiting

Google rate limits API queries. This creates an ultimate bottleneck during migrations that we cannot surpass. Movebot has very high quota limits, so generally rate limiting does not impact the performance much beyond what is described above.&#x20;

\
Tags: googledrive&#x20;


# Deduplication of files/folders

Learn how Movebot deals with deduplication of content in Google

Google Drive allows users to create (mostly by accident) duplicate folders and files.&#x20;

&#x20;

Which is the real "folder1"?

![Screen\_Shot\_2022-04-05\_at\_9.37.27\_AM.png](https://community.movebot.io/hc/article_attachments/4618816060559/Screen_Shot_2022-04-05_at_9.37.27_AM.png)

Google is the only platform that allows users to create this sort of mess.

### How Movebot deals with duplication

Duplicated data creates two main issues for Migrations.&#x20;

1\. Most destination systems do not allow duplicate files and folders.&#x20;

2\. Tracking changes is impossible with files that are named the same.

&#x20;

To facilitate safe data transfer, Movebot will rename files and folders that have duplicate names.&#x20;

![Screen\_Shot\_2022-04-05\_at\_9.41.22\_AM.png](https://community.movebot.io/hc/article_attachments/4618856294031/Screen_Shot_2022-04-05_at_9.41.22_AM.png)

This deduplication ensures files are not lost and the folder structure is maintained.

{% hint style="warning" %}

#### Deduplication cannot be disabled

Although Google to Google transfers would support duplication, Movebot does not allow this behavior as it creates a risk of data loss.
{% endhint %}

<br>


# Delegating Domain Wide Authority

Connect Google Workspace to Movebot with a Client ID and domain-wide delegation

## Introduction

To connect a Google Workspace account to Movebot, you need to delegate domain wide authority so Movebot can access your users and migrate them automatically.&#x20;

## Requirements

Delegating Domain-Wide Authority requires the following:

* A Google Workspace Administrator Account to access the Admin Console
* Familiarity with the Google Admin Console
* Client ID for Google generated in Movebot when configuring a Google Workspace connection

## Configuration Steps

1. [Login to the admin console ](https://admin.google.com/)for your Google Workspace domain.
2. Select the **Security** tab. If you don't see **Security**, select **Show More** from the bottom of the menu list.&#x20;
3. Choose **Access and data control** and then **API controls**.&#x20;
4. In the **Domain wide delegation** section, choose **MANAGE DOMAIN WIDE DELEGATION**.&#x20;
5. In the **API clients** section, click **Add new**. Paste the Client ID generated from Movebot into the **Client ID** field.&#x20;
6. In the **OAuth scopes (comma-delimited)** field, paste the following:&#x20;

```
https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/drive.file, https://www.googleapis.com/auth/admin.directory.user, https://www.googleapis.com/auth/admin.directory.user.readonly, https://www.googleapis.com/auth/admin.directory.user.security
```

7. Click **Authorize**. Test that the connection in Movebot is successful to complete your configuration.&#x20;

For more information on domain-wide delegation, see this Support article from Google: <https://support.google.com/a/answer/162106?hl=en>\
\
Tags: googledrive\_domain


# Mail ingestion methods

Movebot has two options for mail ingestion for Google Workspace Accounts

There are two different options for ingesting mail for Google Workspace Accounts, the Import and INSERT method.&#x20;

Import is the default method. This method imports mail with standard scanning and delivery functionality.&#x20;

The INSERT method is an alternative method that bypasses scanning for older messages, and can increase transfer speeds. When enabled, you can choose to use INSERT for messages sent a minimum of 15 days earlier, and up to 120 days as the maximum start point.

### Enabling the INSERT method for a project

To enable the INSERT method, execute the following steps:

* Login to Movebot and choose or create a project with **Google Workspace Gmail** as the destination.
* Go to the **Content Options** tab, and under **Google Workspace Mail Options** check the option for *Use INSERT method for old emails.* The default setting is for emails older than 30 days but this can be adjusted from 15 days up to 120 days.&#x20;


# SharePoint


# Granting OneDrive Access

Learn about granting OneDrive access for SharePoint migrations.

Migrating into and out of SharePoint with users requires the SharePoint admin registered with Movebot to have access to users' OneDrive accounts. In SharePoint, admins do not have access by default to individual OneDrive accounts so access will need to be granted.&#x20;

### Granting Access to an Individual User

As long as you are a licensed Microsoft 365 Global Administrator, you can take ownership of a user’s OneDrive by following these steps:

1\. Log into the **Microsoft 365 Admin Center** for your tenant

2\. Open **Active Users** under the **Users** tab and search for the user whose files you need

3\. Click on the Display name of the user

4\. Open the **OneDrive** settings tab

5\. Click **Create link to files**

Once the link appears, no further action is required.&#x20;

&#x20;

### Granting Access to all Users

For larger organizations, you can use PowerShell to automate granting permissions at scale.&#x20;

{% hint style="info" %}
If you do not have experience with Powershell, consult someone in your organization who does or have a chat with our team for help.&#x20;
{% endhint %}

1\. Ensure you have the SharePoint PowerShell utilities installed:&#x20;

Open PowerShell as Administrator and run:

```powershell
Install-Module -Name Microsoft.Online.SharePoint.PowerShell
```

&#x20;2\. Create a new PowerShell Script in Notepad, substituting the fields as appropriate for your domain&#x20;

```powershell
#Set Runtime Parameters
$AdminSiteURL="https://couchdrop-admin.sharepoint.com"
$SiteCollAdmin="michael@couchdrop.onmicrosoft.com"

#Connect to SharePoint Online Admin Center
Connect-SPOService -Url $AdminSiteURL -Credential $SiteCollAdmin

$OneDriveSites = Get-SPOSite -Template "SPSPERS" -Limit ALL -IncludePersonalSite $True
Write-Host -f Yellow "Total Number of OneDrive Sites Found: "$OneDriveSites.count
​
ForEach($Site in $OneDriveSites)
{
	Write-Host -f Yellow "Adding admin to: " $Site.URL
	Set-SPOUser -Site $Site.Url -LoginName $SiteCollAdmin -IsSiteCollectionAdmin $True
}

Write-Host "Site Collection Admin Added Successfully!"
```

&#x20;3\. Run the PowerShell script. Once it has been completed, your SharePoint admin account should have access across the organization.&#x20;

{% hint style="info" %}
Please note: Currently, this script only works in **Windows** PowerShell.
{% endhint %}

4\. Be sure to include the `-admin` part of the URL when configuring `$AdminSiteURL`\
5\. If your account has 2FA configured, the `-credential` argument should be removed.\
\
Tags: sharepoint legacy\_sharepoint onprem\_sharepoint onedrive<br>


# Custom Column Metadata

{% hint style="warning" %}
This feature is currently in **beta** and may change. Use with **caution in production** and test thoroughly in staging environments.
{% endhint %}

### Overview

When migrating between SharePoint Online (SPO) sites—whether across tenants or within the same tenant—preserving metadata like custom columns can be critical. Movebot now allows you to retain these metadata values during your migration, improving post-migration usability and data continuity.

***

### What It Does

This allows you to transfer:

* **Custom columns** from SharePoint Document Libraries
* **Metadata values** associated with files

***

### How to Enable

1. Open the "Options" tab from within your Project Settings
2. Check the box to enable **"Include SharePoint Column Metadata"**

***

### Limitations

* **Not supported in Ludicrous Mode**
* **Slower performance** due to additional API requirements
* **Beta feature**– edge cases may not be fully supported

***

### Recommendations

* **Test first** in a non-production environment
* **Review sample files** post-migration to verify metadata
* Only use in scenarios where metadata accuracy is more important than speed

***

### Summary

The **"Include SharePoint Column Metadata"** option helps retain custom metadata during SPO migrations, enhancing the fidelity of your data. While in beta, it’s a valuable tool for more accurate and context-rich SharePoint transfers.


# SharePoint Ludicrous Mode

### **What Is Ludicrous Mode?**

**Ludicrous Mode** is a high-performance migration mode that leverages SharePoint’s **Migration API.** \
This is a lesser-known, batch-based ingestion API designed to reduce the number of calls via the standard Microsoft Graph API. It offers **significantly improved throughput**, especially for migrations containing larges number of small files.

### **Key Benefits**

Ludicrous Mode is ideal for:

* Projects involving **high file counts and small files**
* Reducing the likelihood of significant throttling during large-scale transfers

### **Filename Sanitization Differences**

Ludicrous Mode requires **stricter character sanitization** than the Graph API. Specifically:

* **Ampersands (`&`)** and **single quotes (`'`)** will be **removed** from file and folder names
* This behaviour is different from standard Graph-based migrations, which may preserve these characters

Because of this, it is **crucial not to toggle Ludicrous Mode partway through a migration**. Switching modes mid-migration can result in **duplication or delta inconsistencies**, as filenames will be treated as different objects depending on which API handled them.

{% hint style="success" %}
Enable Ludicrous Mode **before starting a migration** and keep it enabled for the **entire duration** of the job.
{% endhint %}

### **How to Enable Ludicrous Mode**

{% hint style="danger" %}
Do not enable/disable Ludicrous Mode if you have already started transferring data. Doing so will result in **duplicate files/folders** and **delta failures** due to differences in filename sanitization rules.
{% endhint %}

Ludicrous Mode can be enabled at the **project level** in Movebot. Before enabling:

1. Open your project settings.&#x20;
2. Select **4. Options**
3. Enable "**Include only changed objects/files**"
4. Open **Advanced Options**
5. Enable "**SharePoint Ludicrous Mode**"&#x20;

If you have any questions, please contact <support@movebot.io> or reach out via the live chat.&#x20;


# SharePoint API Limits

When migrating data into, out of, or within SharePoint Online, Microsoft enforces strict **throttling limits** to ensure fair usage across tenants.  These limits scale depending on how many licenses you have.&#x20;

***

### What Are Resource Units?

Resource Units (RUs) are how Microsoft measures the cost of API operations. Each action your migration tool performs consumes a specific number of RUs.

#### Resource Unit Costs for Movebot Migrations

| **Operation**                                              | **Resource Units (per file or folder)** |
| ---------------------------------------------------------- | --------------------------------------- |
| Scan Directory (Excluding Permissions and Version History) | 2                                       |
| Create Folder (Non-Delta)                                  | 2                                       |
| File Upload                                                | 2                                       |
| File Download                                              | 1                                       |

***

### Daily Tenant-Level Limits

These limits apply daily across the **entire tenant**, regardless of how many apps are in use.

| **Tenant License Count** | **Daily Limit** |
| ------------------------ | --------------- |
| 0 – 1,000                | 5,400,000       |
| 1,001 – 5,000            | 10,800,000      |
| 5,001 – 15,000           | 16,200,000      |
| 15,001 – 50,000          | 21,600,000      |
| 50,000+                  | 27,000,000      |

***

### Daily Application-Level Limits (Per App, Per Tenant)

These limits apply daily **per app registration**, and **per tenant.**&#x20;

| **Tenant License Count** | **Daily Limit** |
| ------------------------ | --------------- |
| 0 – 1,000                | 1,200,000       |
| 1,001 – 5,000            | 2,400,000       |
| 5,001 – 15,000           | 3,600,000       |
| 15,001 – 50,000          | 4,800,000       |
| 50,000+                  | 6,000,000       |

***

See the page [SharePoint Performance Expectations ](/platform-guides/sharepoint/sharepoint-performance-expectations)to see how these limits can affect migration performance.


# SharePoint Performance Expectations

### File Density and Performance

File density (number of files per terabyte) significantly impacts performance.

| File Density              | Impact                               |
| ------------------------- | ------------------------------------ |
| **<50,000 files / TB**    | Low density – Better performance     |
| **\~500,000 files / TB**  | Medium density - Typical performance |
| **>1,000,000 files / TB** | High density – Slower performance    |

Lower file counts with higher data volume generally yield **faster migrations** and **lower API consumption**.

***

### What Are Resource Units? <a href="#what-are-resource-units" id="what-are-resource-units"></a>

Resource Units (RUs) are how Microsoft measures the cost of API operations. Each action your migration tool performs consumes a specific number of RUs.

#### Resource Unit Costs for Movebot Migrations

| **Operation**                                              | **Resource Units (per file or folder)** |
| ---------------------------------------------------------- | --------------------------------------- |
| Scan Directory (Excluding Permissions and Version History) | 2                                       |
| Create Folder (Non-Delta)                                  | 3                                       |
| File Upload                                                | 2                                       |
| File Download                                              | 1                                       |

***

### Real-World Example

The following tables provide estimated **resource unit (RU)** consumption when using one Movebot transfer job to copy a **single folder** comprising of:

* **1 TB data**
* **500,000 files**
* **50,000 folders**

Each table illustrates how RU usage varies depending on the **type of migration** — whether migrating into SharePoint, between tenants, within the same tenant, or out of SharePoint.&#x20;

{% hint style="info" %}
&#x20;Review [SharePoint API Limits](/platform-guides/sharepoint/sharepoint-api-limits) to understand how usage in this example compare to your tenant’s daily quota.&#x20;
{% endhint %}

####

#### Migration Into SharePoint (External ➝ SharePoint)

| Operation               | Count   | RU per Item | Total RUs     |
| ----------------------- | ------- | ----------- | ------------- |
| Create Folder           | 50,000  | 3           | 150,000       |
| Transfer Files (Upload) | 500,000 | 2           | 1,000,000     |
| **Total**               | —       | —           | **1,150,000** |

***

####

#### Migration Between SharePoint Tenants (Tenant-to-Tenant)

**Source Tenant (Scan + Transfer Files)**

| Operation                 | Count   | RU per Item | Total RUs   |
| ------------------------- | ------- | ----------- | ----------- |
| Scan (Folders)            | 50,000  | 2           | 100,000     |
| Transfer Files (Download) | 500,000 | 1           | 500,000     |
| **Subtotal**              | —       | —           | **650,000** |

**Destination Tenant (Create Folders + Transfer Files)**

| Operation               | Count   | RU per Item | Total RUs     |
| ----------------------- | ------- | ----------- | ------------- |
| Create Folder           | 50,000  | 3           | 150,000       |
| Transfer Files (Upload) | 500,000 | 2           | 1,000,000     |
| **Subtotal**            | —       | —           | **1,150,000** |

**Total (source + destination):  1,700,000 (RUs)**

***

####

#### Migration within a single SharePoint Tenant (Separate App Registrations)

**Source App (Scan + Transfer)**

| Operation                 | Count   | RU per Item | Total RUs   |
| ------------------------- | ------- | ----------- | ----------- |
| Scan (Folders)            | 50,000  | 2           | 100,000     |
| Transfer Files (Download) | 500,000 | 1           | 500,000     |
| **Subtotal**              | —       | —           | **600,000** |

**Destination App (Create + Transfer)**

| Operation               | Count   | RU per Item | Total RUs     |
| ----------------------- | ------- | ----------- | ------------- |
| Create Folder           | 50,000  | 3           | 150,000       |
| Transfer Files (Upload) | 500,000 | 2           | 1,000,000     |
| **Subtotal**            | —       | —           | **1,150,000** |

**Total (source + destination):  1,700,000 (RUs)**

***

####

#### Migration out of SharePoint (SharePoint ➝ External Platform)

| Operation                 | Count   | RU per Item | Total RUs   |
| ------------------------- | ------- | ----------- | ----------- |
| Scan (Folders)            | 50,000  | 2           | 100,000     |
| Transfer Files (Download) | 500,000 | 1           | 500,000     |
| **Total**                 | —       | —           | **600,000** |

***

####

#### Summary&#x20;

| **Scenario**                                  | Source RUs | Destination RUs | **Total RUs** |
| --------------------------------------------- | ---------- | --------------- | ------------- |
| **Into SharePoint (External ➝ SharePoint)**   | —          | 1,150,000       | 1,150,000     |
| **Tenant-to-Tenant SharePoint**               | 600,000    | 1,150,000       | 1,750,000     |
| **Same-Tenant (Separate Apps)**               | 600,000    | 1,150,000       | 1,750,000     |
| **Out of SharePoint (SharePoint ➝ External)** | 600,000    | —               | 600,000       |

### Tips and Tricks

* These are **first-pass estimates**. Delta passes will vary based on change volume.
* API usage is measured in **resource units (RUs)**, not raw call counts.
* For tenant-specific daily limits, refer to the[ SharePoint API Limits page](/platform-guides/sharepoint/sharepoint-api-limits).
* Consider [Ludicrous Mode](/platform-guides/sharepoint/sharepoint-ludicrous-mode) when migrating large numbers of small files.


# Granting access to all sites using SharePoint API in GCC High tenants

Learn about granting Movebot access to all SharePoint sites in GCC High tenants by using Microsoft PowerShell.

Migrating SharePoint sites in GCC High tenants requires providing Movebot access to the sites. This can be done by using PowerShell with an account that has appropriate permission levels.&#x20;

{% hint style="info" %}
If you do not have experience with PowerShell, consult someone in your organisation who does or have a chat with our team for help.&#x20;
{% endhint %}

1\. Install [PowerShell](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.5) on your computer and connect to Microsoft Graph GCC High

```powershell
# Install once (current user)
Install-Module Microsoft.Graph -Scope CurrentUser -Force
Import-Module Microsoft.Graph

# Connect to the GCC High cloud
Connect-MgGraph -Environment USGov `
  -Scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All", "Directory.Read.All"

# (Optional) confirm cloud
(Get-MgContext).Environment

```

2. Identify your app & SharePoint resource

```powershell
# Your Entra app's CLIENT ID
$appId = "<YOUR-APP-CLIENT-ID>"

# Your app's service principal
$sp = Get-MgServicePrincipal -Filter "appId eq '$appId'"

# SharePoint Online resource SP in M365
$spoSp = Get-MgServicePrincipal -Filter "appId eq '00000003-0000-0ff1-ce00-000000000000'"

```

3. Find the `Sites.FullControl.All` App role on SPO and assign it to your app

```powershell
# Locate the Sites.FullControl.All (application) role
$spoRole = $spoSp.AppRoles |
  Where-Object { $_.Value -eq "Sites.FullControl.All" -and $_.AllowedMemberTypes -contains "Application" }

# Grant that role to your app's service principal
New-MgServicePrincipalAppRoleAssignment `
  -ServicePrincipalId $sp.Id `
  -PrincipalId $sp.Id `
  -ResourceId $spoSp.Id `
  -AppRoleId $spoRole.Id

```

4. Verify the assignment

```powershell
Get-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $sp.Id |
  Where-Object { $_.ResourceDisplayName -match "SharePoint" } |
  Select-Object ResourceDisplayName, AppRoleId, PrincipalDisplayName

```

You should see an assignment referencing SharePoint with an AppRoleId matching `$spoRole.Id`.


# Windows Fileservers


# Server Requirements

Learn about requirements for connecting Movebot to file servers.

### **Virtual Server Requirements**

This software is run as an executable and can be also run as a service. While every migration is different, we recommend the resources below.

| Type                  | Min Requirement         |
| --------------------- | ----------------------- |
| Memory                | 16Gb                    |
| Hard Disk Space       | 32GB of free disk       |
| Network               | 1000GB LAN connectivity |
| Internet Connectivity | Unfiltered connectivity |
| CPU                   | 4+ vCPU Cores           |

### **Supported Windows Versions**

Below are the current versions of Microsoft Windows that are tested and supported.&#x20;

| Operating System    | Supported                    |
| ------------------- | ---------------------------- |
| Windows 10          | Yes                          |
| Windows Server 2016 | Yes                          |
| Windows Server 2019 | Yes                          |
| Windows Server 2022 | Yes                          |
| Windows 2008 R2     | Yes - please contact support |

### Migrating Data from Unsupported Servers

If you’re working with an unsupported server OS, you can still migrate your data using this workaround:

1. **Install** the Windows Server Agent on a supported Windows machine.
2. **Create a mapped network drive** to the location of the unsupported server.
3. Configure the agent to access data via the mapped drive path.

This approach allows you to migrate data across your network without needing to install the agent directly on the unsupported system.

Need help setting this up? Contact <support@movebot.io>.

&#x20;&#x20;

### **Network and Firewall Requirements**

Migrations are upload-intensive by nature and so the speed of your migration will be heavily dependant on your internal and external network capacity. We recommend 1Gbps uplink speed where possible.

If you are experiencing performance issues with the agent, we recommend running a speed test and checking your project settings to ensure you've selected migration region that is close to the agent.

**Recommended Connectivity for Host**

| Params                 | Details                                              |
| ---------------------- | ---------------------------------------------------- |
| Ports and Connectivity | HTTP and HTTPS internet access. Ports 80, 443 and 53 |
| Uplink Speed           | 100MBit Internet Uplink. Recommended 1GBit           |
| Local Network          | 1000Gbit Physical LAN connectivity                   |
| Outbound Firewall      | No outbound filtering                                |

The Movebot agent communicates with the Movebot control plane and APIs exclusively via HTTPS. This means that no additional ports are needed to be opened.&#x20;

If you have a restrictive firewall, we recommend deploying the Movebot agent on a virtual machine that can be whitelisted through the firewall. Movebot uses dynamic IP addresses and connectivity to Movebot's cloud infrastructure IP addresses cannot be whitelisted due to the dynamic nature of Movebot's cloud architecture.&#x20;

If you are using a proxy server - we highly recommend allowing Movebot to use a direct path to the internet. If this is not possible, then follow the [instruction here](/platform-guides/windows-fileservers/proxy-configuration) to configure the Movebot agent to connect via the proxy.&#x20;

&#x20;

&#x20;

For more information, get in touch with support via [support@movebot.io](https://community.movebot.io/hc/en-us/articles/support@movebot.io)\
\
Tags: agent


# Proxy Configuration

Learn about working with proxy configuration for file servers.

In networks where internet access is only allowed behind a proxy server some additional manual configuration is needed.&#x20;

&#x20;

**Steps:**

1\. Install and run the agent

2\. Set the token

3\. Stop the agent and then add the proxy configuration manually

&#x20;

You will need to locate the Movebot configuration file, normally it's located in the directory, **C:\Users\\%username%\AppData\Local\CouchdropCloudConnector.**

Open the file with Notepad, or something similar, and you will find a JSON with a base config.&#x20;

&#x20;

4\. Edit the "proxies" section, adding an HTTP and HTTPS proxy with the syntax below:

```
{
...
"proxies": {
"http": "", 
"https": ""
}, 
...
}
```

5\. Save the file, and start the agent again.

&#x20;

**Proxy URL syntax examples:**

| Simple, no username and password | http\://\<ip>:\<port>                                                                                                             | [http://127.0.0.1:8080](http://13.238.142.115:8080/)                    |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| With username and password       | [http://username:password@\\](https://docs.movebot.io/platform-guides/windows-fileservers/http:/username:password@\\)<ip>:\<port> | [http://proxyuser:password@127.0.0.1:8080](http://13.238.142.115:8080/) |
| Socks                            | socks\://\<ip>:\<port>                                                                                                            | [socks://127.0.0.1:8080](http://13.238.142.115:8080/)                   |

&#x20;

To debug connection issues, check the log files located in the same directory as the configuration files and feel free to contact support for help at <support@movebot.io>. \
\
Tags: agent


# Non-GUI Environments

Learn about connecting the Movebot agent in a Non-GUI enivronment

### Install the agent on your Workstation

First, you need to install and configure the Movebot agent (Couchdrop Cloud Connector) on your workstation.

You can [follow the article here](https://docs.movebot.io/connections/windows-file-server) for configuration instructions. Once you have installed and configured the agent, you need to copy the configuration.&#x20;

&#x20;

On your workstation, browse to the folder

```
C:\Users\%username%\AppData\Local\CouchdropCloudConnector
```

&#x20;

Copy configuration.conf to a location you can access on the new server and also copy the Couchdrop Cloud Connector installer. Now you can uninstall the Agent from your workstation.

&#x20;

### Set up the agent on the Server

On the server, you will need to open the command prompt as an administrator. Once you have done that, you will need to locate where you copied your installer and configuration.conf file on the server.

Below is an example command of how to install silently, but your path may vary on your location.

```
C:\Couchdrop\couchdrop-cloud-connector-installer.msi /quiet
```

&#x20;

Once this is complete, you need to apply the configuration to the server. To do this, copy your configuration.conf.

On the server, you will need to browse to this location. You may need to create the CouchdropCloudConnector folder under your Appdata\Local as the agent has not run yet.

```
C:\Users\%username%\AppData\Local\CouchdropCloudConnector
```

Now we need to set up the agent as a service. Follow the article [here](https://community.movebot.io/hc/en-us/articles/360004787175). Be aware you don't need to install the agent again. You can go to the area of the article where it tells you to run the following command.

```
.\couchdrop-cloud-connector-service.exe install
```

Once you have completed installing the agent as a service and the service is running, you can check your Couchdrop Cloud Connector configuration folder and it should look similar to the image below

![](https://community.movebot.io/hc/article_attachments/5668421472783)

&#x20;

Wait for 30 seconds and verify the agent is working by doing a scan or another action in the [Movebot web interface](https://admin.movebot.io/).\
\
Tags: agent

<br>


# Running the Movebot Agent as a Service

Learn how to run the Movebot Agent as a Service for file server transfers.

The Movebot Agent (Couchdrop Cloud Connector) can be run as a Windows service.

Installing the agent as a service requires some understanding of how Windows services work and the service must be configured to run as the same user that is performing the configuration.&#x20;

&#x20;

Before starting, make sure that you have installed the Couchdrop Cloud Connector by [following the steps outlined here](https://docs.movebot.io/connections/windows-file-server)[. ](https://community.movebot.io/hc/en-us/articles/360002289775)Make sure you have run and configured everything properly and check that it is working.&#x20;

Click on the settings icon (⚙️) in the top right of the agent window, then click "**Install as a service**"

If you encounter an error, try running the agent as an administrator before installing the service. &#x20;

<figure><img src="/files/GCrS02hxfGiZFSMK1IrR" alt=""><figcaption></figcaption></figure>

&#x20;\
Tags: agent


# Logging and Debugging

Learn about logging and debugging with regards to Windows file servers.

The Windows agent has a collection of logfiles that can be useful for debugging issue. Our support team might also ask for them from time to time.

&#x20;

You can find these logs under **C:\CouchdropCloudConnector\Logs**

\
Tags: agent


# Windows 2012 R2 Guide

Learn how to setup the windows agent on Windows 2012 R2.

### Introduction

Microsoft has deprecated Windows 2012 R2 however it is still widely in use in legacy environments and in some environments it is not possible to use a virtual machine to act as a jump host to transfer the data with Movebot.

In this guide - we will cover how you can setup and run the Movebot windows agent in this type of environment.&#x20;

{% hint style="warning" %}
Running a migration directly on Windows 2012 R2 is not recommended as it requires using a legacy version of the Movebot/Couchdrop windows agent that is not as robust as more recent versions and may be unreliable. If possible - we recommend using a virtual machine to connect via SMB/CIFS to the legacy server instead.&#x20;
{% endhint %}

### Requirements

To get started - you will need:

* Administrator access to the server
* A RDP session or physical access to the server
* Basic knowledge of server administration
* The windows agent - <https://couchdrop-package-repo.s3.us-west-1.amazonaws.com/couchdropcloudconnector/1.0.43/couchdrop-cloud-connector-installer.msi>
* The storage authentication token from Movebot

### Installation Steps

To install and start the agent

1. Install the package downloaded above
2. Configure the agent manually
3. Start the installed process. The front end for the agent will fail to load properly.
4. Test the connection in Movebot

### Configuring the agent manually

The agent uses a configuration file stored in the filesystem. When running the agent on windows 2012 - the GUI front end does not work so you will need to configure the process manually.&#x20;

This is relatively easy:

1. Open the configuration file with notepad - creating it if it does not already exist.&#x20;

```
 C:\Users\%username%\AppData\Local\CouchdropCloudConnector\configuration.conf
```

2. Copy the JSON configuration below - with a valid storage\_id

```json
{"storage_id":"KEY_FROM_MOVEBOT_FRONTEND"}
```

3. Save the configuration file and start the Movebot agent again.


# Windows 2008 R2 Guide

Learn how to setup the windows agent on Windows 2008 R2.

### Introduction

Microsoft has deprecated Windows 2008 R2 however it is still widely in use in legacy environments and in some environments it is not possible to use a virtual machine to act as a jump host to transfer the data with Movebot.

In this guide - we will cover how you can setup and run the Movebot windows agent in this type of environment.&#x20;

{% hint style="warning" %}
Running a migration **directly on Windows 2008 R2 is not recommended** as it requires using a legacy version of the Movebot/Couchdrop windows agent that is not as robust as more recent versions and may be unreliable. If possible - **we recommend using a virtual machine** to connect via SMB/CIFS to the legacy server instead.&#x20;
{% endhint %}

### Requirements

To get started - you will need:

* Administrator access to the server
* A RDP session or physical access to the server
* Basic knowledge of server administration
* The modified windows agent - Contact [support](mailto:support@movebot.io) for the download link
* The storage authentication token from Movebot

### Installation Steps

To install and start the agent

1. Install python3.8 - [https://www.python.org/downloads/release/python-380/](<https://www.python.org/downloads/release/python-380/&#xA;&#xA;>)
2. Uncompress the downloaded modified agent from above
3. In the command line - run the agent using the batch file

```powershell
$> cd C:\Users\%username%\Downloads\<location of download>
$> INSTALL.bat
```

4. Stop the agent - **Ctl-C**
5. Setup the configuration - see [#configuring-the-agent-manually](#configuring-the-agent-manually "mention")
6. Start the agent again:

```
$> cd C:\Users\%username%\Downloads\<location of download>
$> INSTALL.bat
```

7. Test the agent from Movebot

### Configuring the agent manually

The agent uses a configuration file stored in the filesystem. When running the agent on windows 2012 - the GUI front end does not work so you will need to configure the process manually.&#x20;

This is relatively easy:

1. Open the configuration file with notepad - creating it if it does not already exist.&#x20;

```
 C:\Users\%username%\AppData\Local\CouchdropCloudConnector\configuration.conf
```

2. Copy the JSON configuration below - with a valid storage\_id

```json
{"storage_id":"KEY_FROM_MOVEBOT_FRONTEND"}
```

3. Save the configuration file and start the Movebot agent again.


# Dropbox


# Namespaces and Limitations

Learn about Namespaces and Limitations in Dropbox.

When migrating large datasets to Dropbox and when migrating permissions, namespaces inside Dropbox need to be considered.

Dropbox has published official documentation around namespace limitations that can be found in the following locations. Movebot recommends reading through this if migrating more than 1 million files.

&#x20;

| **Restrictions and Limitations for Team Deployments** | [https://help.dropbox.com/plans/large-deployments](https://help.dropbox.com/plans/large-deployments#:~:text=Dropbox%20enforces%20a%20limit%20of,billion%20upload%20operations%20per%20month.) |
| ----------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Dropbox Performance Guide**                         | <https://developers.dropbox.com/dbx-performance-guide>                                                                                                                                        |

&#x20;

Team folders and Shared folders in Dropbox typically reside in their own namespace. Each namespace has soft and hard limits around the number of files, users, and permissions associated with them.

### &#x20; <a href="#h_01hkqjx95wfzptd1xgf1dsarwx" id="h_01hkqjx95wfzptd1xgf1dsarwx"></a>

### How does Movebot work with namespaces? <a href="#h_01hkpdrey8hfgfzv3ha4d3yk6k" id="h_01hkpdrey8hfgfzv3ha4d3yk6k"></a>

Movebot has some features that can assist with navigating namespace limitations and properly structuring data when moving into Dropbox.&#x20;

&#x20;

| **Identification of Potential Issues** | <p>During a Discovery Scan, Movebot will identify folders that should be split into separate team folders or namespaces inside Dropbox. </p><p> </p><p>While Movebot does not force you to split large folders into smaller namespaces, it is highly recommended that you follow the guidance provided by the Discovery Scan and use this information to direct the structuring process.</p>                                                                                                                                                                                                                                                       |
| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Root Folder Namespace Creation**     | <p><strong>"Create a namespace per transfer"</strong> is an option that can be enabled from the Content Options page for a project or an individual transfer mapping. </p><p> </p><p>When enabled, Movebot will create the root folder targeted by the transfer within a new namespace. If the root folder already has its own namespace, Movebot will not create an additional namespace. </p><p> </p><p>Only the root folder will receive a unique namespace. Subfolders of the same transfer will not be created with separate namespaces unless they have permissions that break inheritance or are created by other transfers in Movebot.</p> |
| **Permission Namespace Creation**      | <p>When migrating with permissions, Movebot will create a namespace for any shared folders with permissions that do not inherit permissions from the parent folder. </p><p> </p><p>Movebot will automatically detect Shared folders with custom permissions that have not been inherited and create the shared folder/namespace in Dropbox with the required permissions.</p><p> </p><p>If you remove the permissions inherited from a parent shared folder, a new namespace will be created inside Dropbox.</p>                                                                                                                                   |

&#x20;

For assistance configuring large migrations to Dropbox, please contact <support@movebot.io>

Tags: dropbox dropboxfull dropboxfullbusiness<br>


# Others

{% content-ref url="/pages/b2ZTR54Cir4aqmxoxBeZ" %}
[Exchange Web Services (EWS)](/platform-guides/others/exchange-web-services-ews)
{% endcontent-ref %}


# Exchange Web Services (EWS)

Here are the articles in this section

{% content-ref url="/pages/SVseeRD0Jy0Wo106HLZy" %}
[How to disable EWS throttling](/platform-guides/others/exchange-web-services-ews/how-to-disable-ews-throttling)
{% endcontent-ref %}


# How to disable EWS throttling

Instructions to disable EWS throttling using your Microsoft 365 account

By default, Microsoft throttles EWS connections in order to limit simultaneous connections for security and infrastructure stability. In typical use, most users will not come across EWS throttling, but it is possible to hit this limitation during a migration due to the increased number of requests.&#x20;

Throttling can be temporarily disabled for up to 90 days from within the Microsoft 365 account settings and requires an account with access to the Admin portal.&#x20;

### Requirements

To disable EWS throttling you will need:&#x20;

* A Microsoft 365 account with access to the Admin portal
* Permissions to submit Support requests in the Microsoft 365 admin center

### Steps to Disable EWS throttling&#x20;

1. Login to Microsoft 365 with an Admin account
2. Open the Admin panel from the list of apps
3. From the Sidebar, choose the tab for **Support** and then **Help & Support**. You may need to click **Show All** for the Support tab to appear.&#x20;
4. A search bar will appear. Type in **Increase EWS Throttling Policy**.&#x20;
5. An option will appear to Run Diagnostics. Click **Run Tests** and choose a duration that will cover the migration period.&#x20;
6. You will receive a message that an update to the throttling policy has been started. This may take 15 minutes to take effect.&#x20;

### Verifying that EWS throttling has been successfully disabled

After at least 15 minutes have passed, you can check to see if the changes have taken effect. Repeat Steps 1-4 above. If the changes were successful, the Run Diagnostics window should now show a message that Exchange Web Services are not currently throttled.&#x20;

### Disabling EWS throttling via support ticket

An alternative method to disable EWS throttling is to create a Support ticket and ask the Microsoft Team to make the change for you.&#x20;


# Performance and Speed

Learn about general performance and speed in Movebot

Movebot has been built architecturally to be optimized for speed. In most cases, this means you will not need to make any adjustments to settings for your migration to perform quickly. There are however a few details that are useful to understand when trying to determine how quickly your migration will run.

### Rate-limiting

For most migrations, rate-limiting is going to be the number #1 bottleneck. Rate-limiting is a mechanism used by API providers to prevent abuse and to limit the impact of buggy API consumer applications on other customers.

Most cloud storage providers implement some level of rate-limiting and it's important to be aware of this as a limiter of your migration's performance.

**Identifying rate-limiting**

If your migration is being impacted by rate-limiting, it will be visible in the Performance Advisor graphs. The Performance Advisor provides a project-level summary of performance metrics.&#x20;

**What can be done about rate-limiting**

Generally, we are at the mercy of the cloud platforms in terms of rate-limiting, but there are a few tricks with each platform if things are not progressing as quickly as you would like.&#x20;

If you believe rate-limiting has become a problematic bottleneck in your migration project, reach out to our team via <support@movebot.io> and we can take a look at your project.

### &#x20;<br>


# Errors and Failures

Learn about how to debug and deal with errors and failures in Movebot

Movebot attempts to remedy all failures automatically, but there are some failure types that will require manual intervention and we cannot transfer the data across.&#x20;

There are two main types of failures:

* Fatal Failures
* File or Folder Failures

Fatal failures occur when we cannot proceed with any transfers in a migration job and file or folder failures occur when there was an issue transferring or scanning a file or folder discovered under a transfer mapping (job).

### Viewing Errors

Errors can be found on an individual transfer mapping basis under **Error Tracker.**

<figure><img src="/files/Zt4NbZQl6sOCFrt3elGt" alt=""><figcaption></figcaption></figure>

### Failure Severities

Errors and failures in Movebot are categorized by severity as described below.&#x20;

| Severity Rating | Example                                | Description                                                                                                                     |
| --------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| Critical        | Folder / Files failed to scan          | Critical errors are generally very bad. These include an outright failure to scan a directory, which can lead to dataloss.      |
| High            | Could not create file x.txt            | High severity errors are generally isolated to a single object. It is recommended that you address them on an individual basis. |
| Medium          | File y.txt was ignored                 | Medium severity errors can normally be ignored, but should be noted as they can show incorrect configuration.                   |
| Low Severity    | File !blah.txt was renamed to blah.txt | Low severity warnings are informational.                                                                                        |

### Error Resolution

Fixing errors generally comes down to two approaches:

* Adjustments in configuration or a manual transfer of the object
* Running a Delta

If the root cause is not obvious and it cannot be fixed through configuration, then attempt to run a Delta. If running a Delta does not fix the issue, then reach out to support at <support@movebot.io>.&#x20;


# Common Errors


# Error: user-not-active

|                |                 |
| -------------- | --------------- |
| Error Type     | user-not-active |
| Relevant Store | All             |

## Description

A user not active error occurs when attempting to move an inactive user account. What 'activated' means in each platform can differ, but typically will mean that the user license has been disabled or deactivated from within the platform.&#x20;

## Common Root Causes

* The user may not be licensed
* The user is not enabled or expired

## Quick Fixes

Activate the user in the storage platform by ensuring the user is not disabled and has an active license.


# Error: token-expired

|                |                          |
| -------------- | ------------------------ |
| Error Type     | token-expired            |
| Relevant Store | Box, ShareFile, OneDrive |

## Description

This error indicates that the authentication token used to connect Movebot to a storage platform (source or destination) has expired. Without a valid token, Movebot cannot continue scanning or migrating data.

## Common Root Causes

* The OAuth or API token used during initial connection has expired due to time limits set by the storage provider.
* Project settings were modified mid-migration, triggering a refresh or disconnect of the active token.
* The connection has been idle for an extended period.
* The token was revoked manually or automatically by the platform (e.g., security policy or admin action).

## Quick Fixes

1. Open your **Project Settings**.
2. Navigate to the **Source** or **Destination** section where the error occurred.
3. Click **Manage Connection Settings** and **re-authorise** the connection.
4. Avoid making changes to connection settings or project configuration while a migration is running, as this can increase the risk of token expiry.


# Error: unknown-error

|                |               |
| -------------- | ------------- |
| Error Type     | unknown-error |
| Relevant Store | All           |

## Description

Unknown Errors are errors that are not mapped to error types in Movebot.&#x20;

{% hint style="info" %}
Cloud storage providers routinely make changes to their API's that can mean Movebot is not always able to provide a meaningful error message.&#x20;
{% endhint %}

## Common Root Causes

* Unexpected error caused in a storage provider's API
* The error has not been categorised by us yet
* A bug in our system

## Quick Fixes

* Run a delta. The error might have been temporary
* Attempt to diagnose by viewing the underlying error from the storage API in the storage tracker
* Reach out to support


# Error: user-not-found

|                |                |
| -------------- | -------------- |
| Error Type     | user-not-found |
| Relevant Store | All            |

## Description

A User Not Found User error occurs when Movebot cannot find a user. This could be due to an invalid transfer mapping or by attempting to map a user that does not exist.&#x20;

## Common Root Causes

* The transfer mapping is inaccurate and includes a user that does not exist&#x20;
* The username has a misspelling or other mistake

## Quick Fixes

Ensure that your transfer mappings are accurate, and that the user actually exists. If you add transfer mappings with a CSV, there is a higher potential for this to occur. Adding mappings using the transfer modal can resolve this.&#x20;


# Error: file-not-found

|                |                |
| -------------- | -------------- |
| Error Type     | file-not-found |
| Relevant Store | All            |

## Description

File Not Found errors are caused by us not being able to find and download the file in the store.&#x20;

{% hint style="info" %}
During the scan stage of a migration (the first step), Movebot builds a map of all files to be transferred. If files change after the scan, this can cause issues.
{% endhint %}

## Common Root Causes

* The file has been moved
* The file is not accessible due to permissions
* The filename has changed

## Quick Fixes

* Check that the connected account has appropriate permissions to download the affected files.

After attempting a fix, rerun failures or run a new delta migration to see if the error is resolved.&#x20;


# Error: invalid-filename-characters

|                |                             |
| -------------- | --------------------------- |
| Error Type     | invalid-filename-characters |
| Relevant Store | All                         |

## Description

Invalid Filename Character errors are due to having an invalid name for a file.

{% hint style="info" %}
During the scan stage of migration (the first step), Movebot will perform checks to ensure your data will transfer properly. One of these checks is the names of files - there is a chance some of your files have invalid names
{% endhint %}

## Common Root Causes

* The file has an invalid name for the store that it is being uploaded into

## Quick Fixes

* Add a filename transformation rule to modify the names of the files during the transfer
  * This is found under Project Settings -> Content Options
  * This cannot be done for email/contacts/calendars, only for files
* Change the name of the affected files manually in the source.

After attempting a fix, rerun failures or run a new delta migration to see if the error is resolved.&#x20;


# Error: duplicate-file-name

|                |                     |
| -------------- | ------------------- |
| Error Type     | duplicate-file-name |
| Relevant Store | All                 |

## Description

Duplicate File Name error is caused by having 2 files with the same name

{% hint style="info" %}
During the scan stage of a migration (the first step), Movebot will perform checks to ensure your data will transfer properly. One of these checks is the paths of files - there is a chance some of your files have the same path as another one of your files
{% endhint %}

## Common Root Causes

* The file has the same path as another file&#x20;

## Quick Fixes

* Nothing needs to be done to resolve this - we perform de-duplication to ensure that your files do not end up with the same path
* De-duplication causes the file name to be renamed and prefixed with (Dup 1), (Dup 2), etc &#x20;

After attempting a fix, rerun failures or run a new delta migration to see if the error is resolved.&#x20;


# Error: permissions-mapping-incomplete

|                |                                |
| -------------- | ------------------------------ |
| Error Type     | permissions-mapping-incomplete |
| Relevant Store | All                            |

{% hint style="danger" %}
It is not recommended to transfer permissions within Movebot as it is difficult to properly map permissions between disparate systems
{% endhint %}

## Description

Permissions Mapping Incomplete error means that not all of your permissions were able to be translated into a format usable at the destination.&#x20;

{% hint style="info" %}
During the scan stage of a migration (the first step), Movebot will attempt to map all of your permissions, so they are ready for transferring based on the permission mapping rules you provided
{% endhint %}

## Common Root Causes

* There is a unique or uncommon permission on the file/folder that cannot be properly translated
* There is a missing mapping for the permissions on the file

## Quick Fixes

* Provide a mapping for a username, email address or group to inherit the permission from&#x20;
* Exclude unmapped permissions


# Error: access-denied

|                |               |
| -------------- | ------------- |
| Error Type     | access-denied |
| Relevant Store | All           |

## Description

Access Denied error means that Movebot does not have access to the file or folder

{% hint style="warning" %}
Access denied on folders can result in loss of data.
{% endhint %}

## Common Root Causes

* The account used to connect the Storage Connection does not have the appropriate permissions to access the file or folder

## Quick Fixes

* Reconnect the Storage Connection using an account with higher permission levels such as an Administrator account.
* Provide the connected user appropriate permissions within the storage platform settings.&#x20;

After attempting a fix, rerun failures or run a new delta migration to try to move the affected files or folders.&#x20;




---

[Next Page](/llms-full.txt/1)

