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
Movebot Overview Video
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.
Block Storage
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
Login to Movebot and create a new project or task
When configuring the source or destination, choose to Create new Connection
Select Egnyte from the list of available connections and set the connection name
Provide your Egnyte subdomain.
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"
Click Connect to Egnyte and authorize the connection through the popup window.
Click Save and Test connection in Movebot
If the connection has succeeded, you can continue
Supported Features
Movebot has comprehensive support for Egnyte and is well-maintained.
Feature
Supported in Movebot
User Drives
Fully Supported
Shared Folders
Fully Supported
Permissions
Fully Supported
Versions
Tags: egnyte
Connections
Learn how to connect Movebot to different storage engines.
Features Overview
Learn about using Movebot for different data lifecycles and management tasks.
Using Movebot
Learn about the different stages and capabilities of Movebot.
Platform Guides
Learn about the intricacies of common cloud platforms and how to manage them.
Troubleshooting
Troubleshoot Movebot. Learn about common issues and errors.
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 Azure.
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
You can also follow our .
To connect to SharePoint you'll need to create an application in Azure, then use that application to connect Movebot and SharePoint.
Creating the application in Azure
If you're migrating data within a single tenant, create separate application registrations for the source and destination connections to avoid rate limiting.
When creating an application in Azure 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.
Login to Movebot and create a new project or task
Choose to Create new Connection
Select Sharepoint from the list of available connections and set the connection name
Enable the following Permissions:
Next add the access, under Azure in the Application permissions, click API Permissions --> Add a Permission. Select Sharepoint, then Application Permissions.
Select the following permissions:
Grant admin consent and finish the consent process.
Generating the client secret
Under the application configuration:
Click Certificates and Secrets -- > Client Secrets -- > New Client Secret. Provide a description and Add. Copy the Secret from the "Value" Field.
Return to Movebot and Paste the Secret "Value" into the appropriate field
Upload the certificates 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
Video Guide
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.
Error: Invalid client secret provided
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 Azure.
Error: SCP or roles claim need to be present in the token.
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.
Error: Tenant "domain.com" not found
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
Error: Application with identifier 'a323b4ba-031...' was not found in the directory
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 , to confirm you have provided the proper ID.
Error: The certificate used to sign the client assertion is not registered
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
Error: Could not find site (site-not-found)
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
Error: User Migration Failed (user-not-active)
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 ().
Error: Call was made to the default drive, which is not supported for apponly tokens
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 -
Frequently Asked Questions
Can Movebot migrate data between two Microsoft 365 tenants?
Answer: Yes. Movebot supports bidirectional migrations between Microsoft 365 tenants, including full tenant-to-tenant migrations.
Can we restrict the app registration to only have access to specific users or sites?
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.
Why does SharePoint show more storage used than Movebot?
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.
Can Movebot migrate data from a Classic SharePoint Site to a Modern Site?
Answer: Yes. Movebot treats both Classic and Modern SharePoint sites the same. Data can be migrated seamlessly between them.
Can Movebot migrate custom column data between two SharePoint sites?
Answer: Yes, this functionality is now available through a beta feature. When migrating between two SharePoint sites, you can choose to enable the "Include SharePoint Column Metadata" option to preserve metadata associated with SharePoint lists.
Please note the following limitations:
This feature is
Supported Features
Feature
Supported in
Tags: sharepoint
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.
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.
We do not recommend installing the agent directly on the target file server. If possible, use a VM and connect via mapped network drives.
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.
Requirements
To connect Movebot to Microsoft Windows, you need:
A suitable host to install the the agent on
Remote access via RDP to the host
An administrator account on the host
For a full list of requirements, see
Configuration Steps
Login to Movebot and create a new project or task
When configuring the source or destination, choose to Create new Connection
Select Microsoft Windows/Apple OSX from the list of available connections and set the connection name
Supported Features
Movebot has comprehensive support for Microsoft Windows and is well-maintained.
Feature
Supported in Movebot
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.
Error: ECONNRESET
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.
Error: Agent Disconnected
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.
Frequently Asked Questions
Does Movebot support network drives
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.
Does Movebot support proxy servers
Answer: Yes. Movebot supports migrating data on networks with a proxy server managing network connectivity.
To configure connectivity through a proxy server -
Does Movebot have Static IPs to whitelist
Answer: No. Movebot utilises dynamic IP addresses during a migration. We cannot provide you with static ip addresses or domain names to whitelist.
What ports does Movebot use for migrations
Answer: 443 and 53.
Movebot connects to the Movebot cloud via HTTPs.
Can I run Movebot on a desktop or laptop workstation
Answer: Not recommended
We do not recommend running the Movebot agent on a laptop or desktop. While possible, doing so can result in unpredictable performance and interruptions.
How much memory and cpu resources does the agent require
Answer: 16GB of ram and 4vCPUs minimum
We do not recommend running a migration on servers with less than above.
Tags: agent
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.
To connect a personal Google Drive account see
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
When configuring a new connection, select Google Workspace from the list of available connection types and give the connection a name
Enter your Google administrator account email address
Enter your domain (find this under "Manage domains" in Google Admin) .
For detailed instructions on how to set this up, see
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.
Error: invalid_request: Invalid impersonation
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.
Error: Bad Request. "<email address>" is not a member of this shared drive. Only members can access items in this shared drive.
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:
Add the user as a member of the Shared Drive before rerunning the migration,
or
Error: teamdrive-not-found: Could not find team drive
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.
Error: parent-folder-not-found
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.
Error: user-teamdrive-access-denied
Cause: Occurs when the source or destination Shared Drive lacks the required permissions or settings.
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.
Frequently Asked Questions
Is it possible to migrate between two existing Google tenants using Movebot?
Answer: Yes. Movebot fully supports bi-directional migrations between Google tenants, including full tenant-to-tenant transfers.
Why does the Movebot scan result show more/less data than the Google Admin Console?
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.
What happens to Google Docs, Sheets, and Slides during migration?
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. .
Why can't I see a particular Shared Drive in the list of available drives in Movebot?
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.
Supported Features
Movebot has comprehensive support for Google Workspaces and is well-maintained.
Feature
Supported in Movebot
Tags: googledrive_domain
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.
Fully Supported
Modification Retention
Fully Supported
Automatic Sanitization
Fully Supported
Data Migrations
Movebot is the fastest and easiest data migration tool on the market. Learn how to move data with Movebot.
Mail Migrations
Movebot now supports email, calendars and contact migrations as well as Data migrations. Learn about them here.
SharePoint via Application Access
Learn how to connect to SharePoint online via Application Access
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.
Login to the remote Windows file server as an administrator
Install the agent and launch it
Paste the identifier token provided in Movebot and click Connect. After a few seconds, the status indicator should change to show it's connected.
Return to the Movebot interface, and Click Save and Test
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.
You can find these logs under C:\CouchdropCloudConnector\Logs
Tags: agent
Dropbox
Transfer Execution and Cutover
Permissions and Metadata
Common Errors
Windows Fileservers
Click "Create Service Account" - this will generate a Client ID
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:
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.
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.
Insufficient access: Confirm that primary and secondary admin accounts specified in your Movebot configuration have been granted Manager access to the Shared Drive.
Allow people who aren’t Shared Drive members to access files.
Allow people outside of <your_domain> to access files.
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.
Provide the non-admin SharePoint domain in the field required
Login to Entra with Appliciation Admin or Global Admin account and register a new application at https://entra.microsoft.com and create a new App Registration via Identity -> Applications -> App registrations
Name the application. Keep the other fields as default and click Register.
Copy the Application ID from the "Overview" section and paste it into Movebot.
In Azure in the Application permissions, click API Permissions --> Add a Permission. Select Microsoft Graph, then Application Permissions.
The thumbprint in Azure should match the one shown in Movebot
Return to Movebot and Click Save and Test connection in Movebot.
If the connection has succeeded, you can continue.
Have the user sign in to OneDrive manually at least once to trigger provisioning.
not supported
when using
Ludicrous Mode
.
Enabling it may result in reduced migration performance due to the additional processing required.
As a beta feature, it may still undergo changes and should be used with caution in production environments.
We recommend testing thoroughly in a non-production environment before enabling this feature for critical workloads.
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.
To connect to Dropbox Personal see Other Connectors
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
Login to Movebot and create a new project or task
When configuring the source or destination, choose to Create new Connection
Select Dropbox Business from the list of available connections and set the connection name
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.
Error: Failed to scan Team Folder (access-denied)
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.
Error: "Requested user could not be found."
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.
Error: Too many items for single namespace
Cause: This folder account contains more items than recommended for a single namespace.
Resolution: This is a known Dropbox limitation. for a detailed explanation.
Frequently Asked Questions
Movebot scan shows substantially more data than what I see in my Dropbox account
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
How can I migrate a folder that has been shared with me by another user?
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.
Supported Features
Movebot has comprehensive support for Dropbox and is well-maintained.
Feature
Supported in Movebot
Tags: dropboxfullbusiness
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.
Requirements
To connect to Box in Movebot you will need:
To have either Admin or Co-Admin access rights to Box
To migrate all users, Admin access is required
The Box tenant must be licensed
Configuration Steps
Login to Movebot and create a new project or task
When configuring the source or destination, choose to Create new Connection
Select Box from the list of available connections and set the connection name
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.
Error: Access Denied when trying to scan/migrate certain users
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.
Frequently Asked Questions
The number of files shown in Movebot scan results doesn't match what I see in Box
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 .
How can I migrate a folder that has been shared with me by another user?
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.
Movebot scan shows substantially more data than what I see in my Box account
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
Supported Features
Movebot has comprehensive support for Box and is well-maintained.
Feature
Supported in Movebot
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
Login to Movebot and create a new project or task.
When configuring the source or destination, choose Create New Connection.
Select BIM 360 Docs from the list of available connections and set the connection name.
Supported Features
Movebot currently has partial support for BIM 360 Docs.
Feature
Supported in Movebot
Tags: bim360
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
When configuring a new connection, select Azure Files from the list of available connections and set the connection name
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
Supported Features
Movebot has comprehensive support for Azure Files and is well-maintained.
Tags: azure
Azure Blob
Learn how to connect to Azure Blob
Introduction
Movebot supports moving files and folders to and from Azure Blob storage.
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
When configuring a new connection, select Azure Blob from the list of available connections and set the connection name
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
Supported Features
Movebot has comprehensive support for Azure Blob and is well-maintained.
Tags: azureblob
SFTP Server
Learn how to connect to an SFTP server
Introduction
Movebot supports connecting to an SFTP server as a source and destination.
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
When configuring the source or destination, select SFTP from the list of available connections and set the connection name
Provide the hostname and port for your SFTP server
Provide your username
Supported Features
Movebot has comprehensive support for SFTP and is well-maintained.
Tags: sftp
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
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.
To view warnings and predicted issues from a scan, open Content Options under the scan overview.
Clicking on an issue will provide a detailed description and a list of files/folders that are impacted.
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.
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.
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.
For clarity, see the breakdown below:
/SERVER2/SharedFolder
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.
You will find yourself at your migration project dashboard. Click on Run Discovery Scan.
From the Discovery Scan page, you can then click on Launch Scan Now.
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.
WebDAV
Learn how to connect to a WebDAV server
Introduction
Movebot supports connecting to a WebDAV server as a source and destination.
Requirements
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.
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.
You can manually use search expressions as below.
{files.filename == "file1.txt"}
Match files with the filename "file1.txt"
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.
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.
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:
Wasabi
Learn how to connect to Wasabi
Introduction
Movebot supports moving files and folders to and from Wasabi.
Requirements
To connect to Wasabi in Movebot you will need:
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.
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.
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.
Import is the default method. This method imports mail with standard scanning and delivery functionality.
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.
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.
Before starting, make sure that you have installed the Couchdrop Cloud Connector by Make sure you have run and configured everything properly and check that it is working.
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.
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.
Team Drives show up in the root along with users.
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.
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.
Others
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.
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.
Exchange Web Services (EWS)
Here are the articles in this section
Error: user-not-found
Description
Error: user-not-active
Description
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.
Scheduling Daily Execution
Migration jobs can be scheduled to launch daily at a certain time.
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
When configuring the source or destination, select Webdav from the list of available connections and set the connection name
Provide the URL for the WebDAV server
Provide your username
Provide your password
Select Save and Test Connection
Supported Features
Movebot has comprehensive support for WebDAV and is well-maintained.
Feature
Supported in Movebot
Files and Folders
Fully Supported
Modification Retention
Fully Supported
Tags: sftp
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
When configuring a new connection, select Amazon S3 from the list of available connection types and give the connection a name.
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.
In Movebot, select Save and Test Connection
Supported Features
Movebot has comprehensive support for Amazon S3 and is well-maintained.
Feature
Supported in Movebot
Files and Folders
Fully Supported
Modification Retention
Fully Supported
Tags: s3 s3_compatible
File and folder counts
Largest file and folders
File types
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.
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.
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
Configuration Steps
When configuring the source or destination, select Wasabi from the list of available connections and set the connection name
Provide the region that your Wasabi bucket is located in and the bucket name
This can be found in Wasabi under Buckets
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
In Movebot, select Save and Test Connection
Supported Features
Movebot has comprehensive support for Wasabi and is well-maintained.
Feature
Supported in Movebot
Files and Folders
Fully Supported
Modification Retention
Fully Supported
Tags: wasabi
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.
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.
Always use Resume Last Action / Rerun Failures to avoid unnecessary duplication and preserve your job's progress.
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.
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.
If you believe rate-limiting has become a problematic bottleneck in your migration project, reach out to our team via [email protected] and we can take a look at your project.
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
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.
Scheduled Data Transfer Window
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.
Note: When outside the transfer window, the migration will remain in the Transferring state, but no data will be migrated
.
Provide BIM 360 API access to your BIM 360 Docs account by following these steps:
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 developer 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.
Click Link to BIM 360 Docs and authorize the connection through the popup window.
Save and Test the connection in Movebot.
If the connection has succeeded, you can continue.
Projects files and folders
Fully Supported
Permissions
Not Supported
Versions
Not Supported
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
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
In Movebot, select Save and Test Connection
Feature
Supported in Movebot
Files and Folders
Fully Supported
Automatic Sanitization
Fully Supported
Modtime Retention
Not Supported
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
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
In Movebot, select Save and Test Connection
Feature
Supported in Movebot
Files and Folders
Fully Supported
Modification Retention
Fully Supported
Automatic Sanitization
Fully Supported
Provide your password or private key (or both)
Select Save and Test Connection
Feature
Supported in Movebot
Files and Folders
Fully Supported
Modification Retention
Fully Supported
/SERVER2
This is the hostname of the target file-sharing server you are connecting to.
If the original UNC path was \\SERVER2\SharedFolder, this is where SERVER2 came from.
/SharedFolder
The file share on the server
Scan and Discovery
Scanning the source and destination provides a complete picture of your data. Making it easy to craft and navigate your migration project.
Transfer Mapping
Learn about adding transfer mappings to your project. Choosing which data is going to be moved to where.
Permissions and Metadata
Learn about configuring permissions and metadata in Movebot. Movebot has comprehensive support for permissions and metadata.
Transfer and Cutover
Learn about executing your migration project and cutting over users to the new platform.
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.
Common Root Causes
The transfer mapping is inaccurate and includes a user that does not exist
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.
Error Type
user-not-found
Relevant Store
All
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.
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.
Learn about performance limitations with Google Drive.
Like most cloud storage providers, Google Drive has limitations that impact migration performance.
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.
Google docs export limit
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.
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
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.
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.
Tags: googledrive
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.
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.
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.
Error: unknown-error
Error Type
unknown-error
Relevant Store
All
Description
Unknown Errors are errors that are not mapped to error types in Movebot.
Cloud storage providers routinely make changes to their API's that can mean Movebot is not always able to provide a meaningful error message.
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
Custom Column Metadata
This feature is currently in beta and may change. Use with caution in production and test thoroughly in staging environments.
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
Open the "Options" tab from within your Project Settings
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.
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.
To rerun failures:
Open your project and select any jobs that have failures.
Click Launch Scan or Transfer.
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:
Open the project and select any jobs that have failures.
Click Launch Scan or Transfer.
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[email protected]
Our team can review the issue and guide you to a solution.
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
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
Common Root Causes
The file has the same path as another file
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
After attempting a fix, rerun failures or run a new delta migration to see if the error is resolved.
Provide the email address of your administrator account
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.
Click Save and Test connection in Movebot
If the connection has succeeded, you can continue
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
Click Connect to Box and authorize the connection through the popup window
Click Save and Test connection in Movebot
If the connection has succeeded, you can continue
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
Click Add Transfer from the project overview and navigate through the source and destination selecting the folders on the source and the destination.
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.
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.
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
Log in to Movebot and add a new storage connection when configuring a Project during the Source or Destination step.
You can also add the new connection in the Admin panel under the Storage tab
Select Sharefile (Citrix) from the list of available connections and set the connection name
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"
Return to Movebot. Movebot will show that the ShareFile account is linked when successful.
Common Errors
Error: Unable to scan specific folders (file-not-found)
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
Supported Features
Movebot has comprehensive support for ShareFile and is well-maintained.
Feature
Supported in Movebot
Tags: sharefile
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.
Amazon WorkDocs is only supported as a source. Setting it as a destination will throw an error.
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
Login to your AWS Management Console and navigate to applications then IAM
Under IAM create a new permissions "migrations" policy and copy over the existing permissions using JSON option.
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.
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.
Go back to the AWS Management Console and under settings on far left go "All services"
Configuration Steps In Movebot
Log in to Movebot, choose Create New Connection, select Amazon WorkDocs as the connection, and set a name.
Set the Access Key ID, Access Key Secret, the site's Organization ID, and the region it belongs to.
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
Tags: aws_workdocs
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.
Movebot connects to IMAP servers by you providing the Hostname and Port and a Username and Password combination.
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
Currently, IMAP is only supported as a source.
Configuration Steps
Login to Movebot and create a new project or task
When configuring the source or destination, choose to Create new Connection
Select IMAP Server from the list of available connections and set the connection name
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.
Example (IMAP source):
For help with CSV mappings, get in touch with support via
Supported Features
Movebot has comprehensive support for IMAP servers and is well-maintained.
Feature
Supported in Movebot
Tags: imap
Mapping Permissions
Learn about how to map permissions in Movebot
Extended 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 Extended Mappings as an additional step in your project settings.
Example Mappings
Scenario
Source Mapping
Destination Mapping
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.
An example CSV file is:
Other Options
Tweak the permission migration further
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.
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 taband 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.
Granting Access to all Users
For larger organizations, you can use PowerShell to automate granting permissions at scale.
If you do not have experience with Powershell, consult someone in your organization who does or have a chat with our team for help.
1. Ensure you have the SharePoint PowerShell utilities installed:
Open PowerShell as Administrator and run:
2. Create a new PowerShell Script in Notepad, substituting the fields as appropriate for your domain
3. Run the PowerShell script. Once it has been completed, your SharePoint admin account should have access across the organization.
Please note: Currently, this script only works in Windows PowerShell.
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
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.
If you do not have experience with PowerShell, consult someone in your organisation who does or have a chat with our team for help.
1. Install PowerShell on your computer and connect to Microsoft Graph GCC High
# 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
Identify your app & SharePoint resource
Find the Sites.FullControl.All App role on SPO and assign it to your app
Verify the assignment
You should see an assignment referencing SharePoint with an AppRoleId matching $spoRole.Id.
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.
Shared with me content
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.
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.
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.
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.
pCloud is only supported as a source. Setting it as a destination will throw an error.
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
When configuring a new connection, select pCloud from the list of available connection types and give the connection a name.
Connect to pCloud by clicking 'Link to pCloud' button, and log in to pCloud in the popup that comes up
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.
Supported Features
Movebot has comprehensive support for pCloud and is well-maintained.
Tags: pcloud
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.
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:
Source
Destination
Each user, team drive or folder that you want to transfer in Movebot needs to be covered by a transfer mapping.
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.
Mappings can be added in a variety of ways. Learn more about how to add transfer mappings below:
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.
Enable Ludicrous Mode before starting a migration and keep it enabled for the entire duration of the job.
How to Enable Ludicrous Mode
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.
Ludicrous Mode can be enabled at the project level in Movebot. Before enabling:
Open your project settings.
Select 4. Options
Enable "Include only changed objects/files"
If you have any questions, please contact [email protected] or reach out via the live chat.
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 for configuration instructions. Once you have installed and configured the agent, you need to copy the configuration.
On your workstation, browse to the folder
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.
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.
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.
Now we need to set up the agent as a service. Follow the article . 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.
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
Wait for 30 seconds and verify the agent is working by doing a scan or another action in the .
Tags: agent
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.
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.
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".
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.
For help with CSV mappings, get in touch with support via
Excluding Content
Learn about how to exclude content from transfers.
Normally, Movebot will migrate all files and folders from the source folders to the destination with the exception of a few file types that are not supported by the destination. However, files can be manually excluded as well.
Movebot allows administrators to extend this functionality and define exclusion and inclusion rules. This can be done on a project level or on an individual transfer level.
Project Level Exclusion Rules
Project exclusion rules will apply to all migrations in a project. Administrators can define these rules under Content Options.
Individual Migration/Transfer Level Rules
The same options are available on an individual migration/transfer. These options extend what was already configured at a project level.
Additionally, you can change an individual transfer to only include files matching a certain set of rules. This is useful for carving up your project into chunks by file types or size.
Available Rule Types
File Extension Matches
Only match files with the following extensions
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.
Quick Fixes
Open your Project Settings.
Navigate to the Source or Destination section where the error occurred.
Click Manage Connection Settings and re-authorise the connection.
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.
Important:
Movebot does not delete or move files at the destination.
If you rename, move, or delete files or folders in the source, those changes will not be reflected in the destination.
To avoid duplication or confusion, we recommend avoiding major restructuring during the migration process.
Enabling "Always Use Delta"
To enable Delta Migrations across all runs:
Go to Step 4 in your project settings.
Enable the “Only Include Changed Files/Objects” option.
This ensures Movebot will compare the source and destination before each transfer and skip any files that haven’t changed.
Note: This option may increase scan time, but reduces transfer time by focusing only on what’s changed.
Running a Delta Migration Manually
You can manually launch a Delta Migration at any time. Here’s how:
Open your project.
Select the job(s) you want to run a Delta for.
Click Launch Scan or Transfer.
Delta runs may take slightly longer to scan but are much faster during the transfer stage than full migrations. They can be run as often as needed and are particularly helpful for:
Catching files that were created or updated during a prior transfer
Cleaning up certain error types, such as:
Unknown errors
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
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.
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.
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
Installation Steps
To install and start the agent
Install the package downloaded above
Configure the agent manually
Start the installed process. The front end for the agent will fail to load properly.
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.
This is relatively easy:
Open the configuration file with notepad - creating it if it does not already exist.
Copy the JSON configuration below - with a valid storage_id
Save the configuration file and start the Movebot agent again.
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.
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.
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.
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.
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.
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.
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.
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.
To connect to Dropbox Business or Dropbox Teams see
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
Login to Movebot and create a new project or task
When configuring the source or destination, choose to Create new Connection
Select Dropbox Personal from the list of available connections and set the connection name
Supported Features
Movebot has comprehensive support for Dropbox and is well-maintained.
Feature
Supported in Movebot
Tags: dropbox
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.
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
for your Google Workspace domain.
Select the Security tab. If you don't see Security, select Show More from the bottom of the menu list.
Choose Access and data control and then API controls.
Click Authorize. Test that the connection in Movebot is successful to complete your configuration.
For more information on domain-wide delegation, see this Support article from Google:
Tags: googledrive_domain
Backblaze B2
Learn how to connect to Backblaze B2
Introduction
Movebot supports moving files and folders to and from Backblaze B2.
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
When configuring the source or destination, select Backblaze B2 from the list of available connections and set the connection name
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
Supported Features
Movebot has comprehensive support for Backblaze B2 and is well-maintained.
Tags: backblazeb2
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.
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
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
After attempting a fix, rerun failures or run a new delta migration to see if the error is resolved.
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.
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.
Requirements
To disable EWS throttling you will need:
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
Login to Microsoft 365 with an Admin account
Open the Admin panel from the list of apps
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.
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.
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.
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.
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.
Failure Severities
Errors and failures in Movebot are categorized by severity as described below.
Severity Rating
Example
Description
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 [email protected].
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.
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.
You can find Data Localization options in any project under Settings --> Options in the section Migration Geographic Region.
Current available regions
San Francisco
Digital Ocean SFO3
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.
Which is the real "folder1"?
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.
1. Most destination systems do not allow duplicate files and folders.
2. Tracking changes is impossible with files that are named the same.
To facilitate safe data transfer, Movebot will rename files and folders that have duplicate names.
This deduplication ensures files are not lost and the folder structure is maintained.
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.
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.
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.
From your Box admin console, go to Reports > Create Report and click Select Filters on the row for the collaboration report.
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.
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.
Team drives vs Shared folders
There are some subtle differences between Team Drives and Shared folders.
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.
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.
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.
Steps:
1. Install and run the agent
2. Set the token
3. Stop the agent and then add the proxy configuration manually
{files.modtime > 1602629811} and {files.size > 1024}
Upload this JSON document to Movebot
Open Advanced Options
Enable "SharePoint Ludicrous Mode"
The token was revoked manually or automatically by the platform (e.g., security policy or admin action).
Avoid making changes to connection settings or project configuration while a migration is running, as this can increase the risk of token expiry.
Choose Start Delta Migration.
File-not-found
Checksum-mismatches
Change the name of the affected files manually in the source.
A search bar will appear. Type in Increase EWS Throttling Policy.
An option will appear to Run Diagnostics. Click Run Tests and choose a duration that will cover the migration period.
You will receive a message that an update to the throttling policy has been started. This may take 15 minutes to take effect.
{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
Fully Supported
Feature
Supported in Movebot
Files and Folders
Supported as Source only
Modification Retention
Fully Supported
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.
Provide your Backblaze Bucket ID
In Backblaze B2, this can be found underneath Buckets
In Movebot, select Save and Test Connection
Feature
Supported in Movebot
Files and Folders
Fully Supported
Modification Retention
Fully Supported
Google Workspace
Learn how to connect Movebot to Google Workspace
Personal Google Drive
Learn how to connect Movebot to a personal Google Drive
Google Mail
Learn how to connect to Gmail to migrate mail, calendars and contacts
Learn how to map user to user transfers in Movebot
Add Team Drive Mappings
Learn how to map team drives in Movebot
Import CSV Mappings
Learn how to use the CSV import process to bulk import users and folders to Movebot
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.
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.
Automatic Sanitization
Fully Supported
User Drives
Fully Supported
Permissions
Fully Supported
Versions
Not Supported
Modification Retention
Not Supported
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.
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.
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
London
Digital Ocean LON1
Frankfurt
Digital Ocean FRA1
Tokyo
AWS ap-northeast-1
Dedicated/Self Hosted
Chat with the Movebot team for more information on this option.
New York
Digital Ocean NYC1
Toronto
Digital Ocean TOR1
Amsterdam
Digital Ocean AMS1
Singapore
Digital Ocean SING1
Other Connectors
Click on "Amazon Workdocs" under Business Applications
Click on the settings on far left and now select "My sites"
Note down your Organization ID and the Amazon region in the url (e.g. us-east-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.
Users, Files and Folders
Fully Supported
Permissions
Fully Supported
Provide the Hostname for the IMAP server. Update the Port number if required.
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
#Set Runtime Parameters
$AdminSiteURL="https://couchdrop-admin.sharepoint.com"
$SiteCollAdmin="[email protected]"
#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!"
# 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
Only match files with the following name. This field supports unix style wildcards
Path matches
Only match files with the following path. Field also supports unix style wildcards
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
Team Drives
Shared Folders
Who owns the content
The organisation
The individual user who created each file or folder.
Can permissions be removed
No
Permissions can be customised at any level.
The sharing user, can be removed from subfolders created by external users.
File limitations
400,000 files per drive
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.
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.
This approach to ownership is great for individual users, but a nightmare for organizations, as organizations lose control over their data.
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.
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.
This ensures that the organization has control over the data.
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.
Movebot can detect this, by enabling "Search for unreachable content"
Screen_Shot_2022-04-05_at_9.11.53_AM.png
Unreachable data will then be flagged.
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.
If you are unsure about enabling this option, contact support at [email protected].
Tags googledrive
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.
How does Movebot work with namespaces?
Movebot has some features that can assist with navigating namespace limitations and properly structuring data when moving into Dropbox.
Identification of Potential Issues
During a Discovery Scan, Movebot will identify folders that should be split into separate team folders or namespaces inside Dropbox.
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.
Root Folder Namespace Creation
"Create a namespace per transfer" is an option that can be enabled from the Content Options page for a project or an individual transfer mapping.
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.
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.
Permission Namespace Creation
When migrating with permissions, Movebot will create a namespace for any shared folders with permissions that do not inherit permissions from the parent folder.
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.
If you remove the permissions inherited from a parent shared folder, a new namespace will be created inside Dropbox.
For assistance configuring large migrations to Dropbox, please contact [email protected]
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.
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 for the download link
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.
This is relatively easy:
Open the configuration file with notepad - creating it if it does not already exist.
Copy the JSON configuration below - with a valid storage_id
Save the configuration file and start the Movebot agent again.
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.
4. Edit the "proxies" section, adding an HTTP and HTTPS proxy with the syntax below:
5. Save the file, and start the agent again.
Proxy URL syntax examples:
Simple, no username and password
http://<ip>:<port>
With username and password
http://username:password@<ip>:<port>
Socks
socks://<ip>:<port>
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 [email protected].
Tags: agent
Exclude Shared Content owned by another user
This option will filter files by owner.
All files in the shared folder will be transferred to the destination
Exclude Shared Content owned by a migrating user
This option will filter files by users in the project.
Files that are not owned by users included in the migration project will be excluded.
Movebot connects to Exchange Servers using service account credentials and the server hostname.
Connecting Movebot to the Exchange Server requires giving Movebot permissions to access data.
Requirements
To connect Movebot to Exchange, you will need:
Exchange Server credentials and server hostname
Service account with Discovery Management Role
Configuration Steps
Login to Movebot, choose Create New Connection, choose Microsoft Exchange (EWS), and set the connection name.
Enter your Exchange Server EWS hostname. Example: exch01.mydomain.comnote: please do not include the https:// prefix.
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.
Error: Authentication Issue - UPN Logins Not Allowed
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 [email protected] format when connecting via EWS.
Error: Authentication Issue - Basic Authentication Not Allowed
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.
Error: The account does not have permission to impersonate the requested user
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
Error: Hostname Issue
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
Frequently Asked Questions
How do I handle the cutover?
Movebot simplifies cutover using delta migrations. You can migrate while users are active, then run a final delta to capture any changes after they stop using the source—minimizing downtime.
If 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.
How do I transfer one specific folder within a mailbox?
Answer: You can use the CSV Import feature to map the specific folder.
Example:
source,destination
/mailbox:[email protected]/@MAIL/Important Mail,/mailbox:[email protected]/@MAIL
How can I migrate only mail that was received before a specific date?
Answer: Yes, from the launch menu, you can select a desired timeframe to include email up to the specified date.
Once I've migrated the historical mail, can I run a migration for only mail received after a certain date?
Answer: Yes. Use the Start Delta Migration option from the launch menu, then specify how far back you'd like the delta to cover.
Does Movebot support merging multiple mailboxes into a single mailbox?
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.
Movebot has comprehensive support for Exchange and is well-maintained.
Tags: exchange
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 as a precursor to reading this.
Supported Systems:
Quick Start Guide
Because transferring or migrating calendar data uses the same process as emails and contacts, simply follow the existing guide for .
Enable Calendar Migration
Navigate to your Movebot project.
Go to Settings → Options.
Enable checkbox for "Include Calendars"
Configure Extended Mappings
Extended Mappings define how attendee email addresses should be rewritten and ensure that destination calendar events correctly reflect the intended participants.
Configuring Extended Mappings is a required part of calendar migrations.
Once calendar migration is enabled, you will see the option to configure Extended Mappings as an additional step in your project settings.
Mapping Examples:
Scenario
Source Mapping
Destination Mapping
Advanced Calendar Settings
These settings should not be adjusted unless explicitly instructed by our support staff.
Setting
Description
Default
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.
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
Daily Tenant-Level Limits
These limits apply daily across the entire tenant, regardless of how many apps are in use.
Daily Application-Level Limits (Per App, Per Tenant)
These limits apply daily per app registration, and per tenant.
See the page to see how these limits can affect migration performance.
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.
Uploading a CSV file
Within your project, click +AddTransfer. Select Import Transfers from CSV.
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
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 as a precursor to reading this.
$> cd C:\Users\%username%\Downloads\<location of download>
$> INSTALL.bat
$> cd C:\Users\%username%\Downloads\<location of download>
$> INSTALL.bat
Provide the username for the service account, typically in the format of <username>@<exchange_domain>, e.g. Administrator@<exchange_domain>
Provide the password for the service account.
Provide Discovery Management permissions to the service account following these steps.
Log in to your Exchange Admin Center (Exchange Control Panel), which can be accessed through the web at <domain_hosting_exchange>/ecp
Log in to the administrator account
Select the 'permissions' tab within the Exchange Control Panel
Under Admin Roles select Discovery Management and click the '+'. button.
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".
Enabled: Only the contents of each specified source folder are migrated - the folder itself is not created in the destination.
Disabled: The specified source folder is retained, and a matching subfolder is created in the destination.
Ignore checks on import
Skip validation of CSV source/destination paths (e.g. prefix formatting).
Contact support before enabling.
CSV Formatting - IMAP Credentials
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.
The format for these columns are shown below.
Example (IMAP source):
For help with CSV mappings, get in touch with support via [email protected]
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.
Operating System
Supported
Windows 10
Yes
Windows Server 2016
Yes
Windows Server 2019
Yes
Windows Server 2022
Migrating Data from Unsupported Servers
If you’re working with an unsupported server OS, you can still migrate your data using this workaround:
Install the Windows Server Agent on a supported Windows machine.
Create a mapped network drive to the location of the unsupported server.
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.
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
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.
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.
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 to configure the Movebot agent to connect via the proxy.
For more information, get in touch with support via [email protected]
Tags: agent
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.
Mailboxes are Built on Movebot
Using Movebot to perform email, calendar, and contact migrations uses the same process as with Data Migrations with Movebot.
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.
Delta Migrations
Deltas move new emails automatically, without a hard cutover
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.
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.
During a delta migration, Movebot will only transfer emails that have either been updated or newly created in the source.
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.
Frequently Asked Questions
How do I manage the cutover?
Movebot simplifies cutover using delta migrations. You can migrate while users are active, then run a final delta to capture any changes after they stop using the source—minimizing downtime.
If 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.
Do I need separate migration projects for mail and data?
Yes. Mail, calendar, and contact migrations require a separate project from data migrations because they involve different access scopes and permissions.
Should I separate my mail migration from my calendar migration?
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.
What will happen to my meeting rooms, shared mailboxes, etc?
Resources such as meeting rooms and shared mailboxes are treated as standard mailboxes during the migration process.
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.
Using this type of connection is not recommended and has limitations and complexities involved in the setup that are not recommended for most customers.
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.
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
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
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.
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
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
Save/Publish
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.
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 Movebot.
Configure the Marketplace SDK
Under APIs & Services -> Library
Search for Google Workspace Marketplace SDK
Click Manage
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.
Log in to admin.google.com
Navigate to Apps -> Google Workspace Marketplace Apps
Click INSTALL APP
How to add the connection to Movebot
Log in to Movebot and create a new connection
Select Google Workspace or Google Workspace Mail
Configure the required options
Under
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.
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.
Rate limiting
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.
Supported Features
Movebot has comprehensive support for Google Workspaces and is well-maintained.
Feature
Supported in Movebot
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.
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.
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
Locate the internal app you created in the last step and click Admin Install
You can then configure access and restrictions
Step 2: Create a service account JSON file -
click Show Advanced.
Upload the service account JSON file created in the previous steps
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
Create the application registration in Entra
Login to Entra as an administrator for your domain, and navigate to App Registrations.
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.
Select Application Permissions
Enable permission:
Grant admin consent
Click Certificates and Secrets --> Client Secrets --> New Client Secret
Copy the Client Secret Value
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.)
Connect to Exchange Online using PowerShell
Create a Mail-Enabled Security Group
Create a group that defines which mailboxes Movebot can access.
Add allowed mailboxes:
Retrieve the Distinguished Name of Security Group
Copy the entire DistinguishedName value.
Example:
Create the Management Scope
Replace FULL-DN-HERE with your group’s Distinguished Name.
Register the Service Principal
You will need:
Application ID (from App Registration)
Assign the EWS RBAC Role with Scope
Validate the Configuration
To confirm whether a mailbox is within scope:
If the result shows: InScope = True the mailbox is accessible.
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.
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
Error: 403 Forbidden
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.
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
Currently, we do not support native API connections for personal Gmail. To connect to personal Gmail accounts, use the IMAP connector.
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
Login to Movebot and create a new project or task
When configuring the source or destination, choose to Create new Connection
Select Google Workspaces Gmail from the list of available connections and set the connection name
Provide an email address for an administrator account.
Provide the primary domain for your Google Workspace tenant
Click "Create Service Account"
Copy the identifier for the service account (created as part of the process above)
Login to Google Admin -
Search for "API Controls" in Google Admin
Click "Manage Domain Wide Delegation"
Click Add New
Provide the "client id" copied from Movebot as the client id
Provide the session scopes, (copy-paste from below)
Save the new client connection in Google and return to Movebot
Click Save and Test connection in Movebot
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.
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.
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.
Frequently Asked Questions
How do I handle the cutover?
Movebot simplifies cutover using delta migrations. You can migrate while users are active, then run a final delta to capture any changes after they stop using the source—minimizing downtime.
If 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.
Is it possible to migrate between two existing Google Workspace tenants using Movebot?
Answer: Yes. Movebot supports bi-directional, tenant-to-tenant migrations between Google Workspace environments.
How do I transfer one specific folder within a mailbox?
Answer: Use the CSV Import feature to migrate the specific folder.
Example:
How does Movebot handle messages tagged with multiple labels when migrating into Microsoft?
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.
How can I migrate a mailbox larger than 100GB into Microsoft using the Online Archive feature?
Answer:
Add a content exclusion rule in Step 6 of your project settings to ignore mail received within the last year.
Run a full migration.
Allow Microsoft’s automatic archiving to move older content into the Online Archive.
Adjust your exclusion rule to ignore mail older than one year.
How can I migrate only mail that was received before a specific date?
Answer: Yes, from the launch menu, you can select a desired timeframe to include email up to the specified date.
Once I've migrated historical mail, can I migrate only mail received after a certain date?
Answer: Yes. Select "Start Delta Migration" from the launch menu and choose the desired timeframe for the delta to include only newer mail.
Migrated calendar events are missing Google Meet links. Why?
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.
Does Movebot support merging multiple mail accounts into a single mailbox?
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.
Movebot has comprehensive support for Google Workspaces and is well-maintained.
Feature
Supported in Movebot
Email Messages and Folders
Fully Supported
Private Calendars
Fully Supported
Shared Calendars
Fully Supported
Resource Calendars
Tags: googleworkspaces_gmail
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.
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.
Video Overview
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.
#1 Copy vs Migrate
Migrations in Movebot are not really migrations at all.
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.
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.
#2 The Project
A project is a collection of transfer jobs and settings.
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
#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.
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.
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.
Launching migrations is done by starting transfers.
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.
#4 Files and Folders
When executing transfers, transfer mappings include child Files and Folders.
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.
#5 The Scan Stage
The first thing Movebot does when executing anything is run a scan.
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.
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.
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.
#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.
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.
Once the transfer is complete, Movebot will generate a post-transfer report so you can review your migration results.
#7 The Delta Migration
Deltas update changed and added files
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.
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.
During a delta migration, Movebot will only transfer and update files that have either been updated or newly created in the source.
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.
Pro Tip: Run a small migration/transfer first. Don't jump in the deep end too quickly
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.
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.
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
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.
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
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.
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.
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.
Errors caused by intermittent issues will most likely be resolved in the next stage.
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.
If files have changed or failed during the transfer in Step 4, they will be picked up with a delta.
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 and which will give you a good grounding.
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.
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.
We recommend only administrators familiar with Microsoft Entra, Microsoft Graph API, and application permissions perform this setup. Contact support before proceeding if unsure.
If you are not subject to the above requirements, follow the standard .
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
Create the Application Registration in Entra
Login to Microsoft Entra as an administrator and navigate to App registrations.
Click New registration.
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 .
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.
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.
This connection type has the advantage that it does not send calendar notifications during a migration.
Requirements
To connect Movebot to Outlook/0365, you will need:
To have Global Admin access to Azure
To be familiar with the configuring applications in Azure.
While not required, you can potentially increase speeds by
Configuration Steps
There are two steps to this process. The first is creating the application in Azure with the correct permissions. Next is configuring the connection in Movebot.
Creating the application in Azure
First, login to Azure as an administrator for your domain, and navigate to App Registrations.
Click New Registration
Specify a name for the new application. Leave the remaining fields as default, then click Register.
Click Grant admin consent for Couchdrop Demo and follow the consent process
Click Certificates and Secrets --> Client Secrets --> New Client Secret
Copy the Client Secret Value
Enable RBAC for listing users across the tenant
The EWS API does not allow access to the user database without an additional role.
Open
Find Discovery Management
Add your admin user to the role.
Note: This role can take up to 24 hours to be reflected in the API. If you need to move forward immediately you can still do so without this role, you will need to map the users using the prefix manually mailbox:
Configure the connection in Movebot
Login to Movebot and create a new project or task
When configuring the source or destination, choose to Create new Connection
Select Office 365 Outlook (via EWS) from the list of available connections and set the connection name
Common Errors
Movebot supports migrations too/from Outlook/Exchange Online for Microsoft 365. Below are common errors, causes, and resolutions, along with answers to frequently asked questions.
Error: The impersonation principal name is invalid
Cause: The email address of the admin user is incorrect.
Resolution: Double-check the admin user's email address in your configuration settings to ensure it's valid and matches the expected domain.
Error: The caller has not assigned any of the RBAC roles
Cause: The specified admin user has not been granted the Discovery Management role.
Resolution: If you're unable to assign the Discovery Management role, use a to map your transfers. This Discovery Management role is only required for listing available mailboxes/automatic transfer mappings. It will not prevent migration.
Error: Unknown failure in response. Code: 403
Cause: Missing or incorrect API scopes.
Resolution: Review steps 7–10 of the to confirm that the required API scopes have been correctly configured and admin consent has been granted.
Error: Invalid client secret provided
Cause: The client secret is incorrect.
Resolution: Make sure you have entered the Client Secret Value, not the Client Secret ID. This is a common mistake during app registration setup.
Error: Mailbox shows 0KB scanned
Cause: Mail migration settings may be disabled or duplicate job exists.
Resolution: First, ensure that mail/contact/calendar migration is enabled in Step 4 of your project settings. Then check for duplicate transfers of the same source mailbox and remove one.
Cause: Event attendee mapping is missing for calendar migration.
Resolution: You must configure mapping rules for event attendees in Step 4 of your project settings. Without this, calendar events will not be migrated.
Frequently Asked Questions
How do I handle the cutover?
Movebot simplifies cutover using delta migrations. You can migrate while users are active, then run a final delta to capture any changes after they stop using the source—minimizing downtime.
If the domain has changed during cutover, use "Remap Domains for Cutover" from the Run Action menu. This allows you to specify the old and new domains for source/destination mailboxes, ensuring your mappings remain accurate. After remapping, you can continue running delta migrations post-cutover.
Is it possible to migrate between two existing Microsoft 365 tenants using Movebot?
Answer: Yes. Movebot supports bi-directional migrations between Microsoft 365 tenants, including full tenant-to-tenant migrations.
Can I connect to GoDaddy M365 tenants using Movebot?
Yes. Movebot supports migrations too/from GoDaddy M365 tenants using the same mechanism as regular M365 tenants.
My mail migration appears stuck after transferring 50–100GB of data
This is likely due to mailbox size limits in Microsoft 365.
By default:
Standard Outlook Online licenses support up to 50GB of mailbox storage.
How do I transfer one specific folder within a mailbox?
Answer: Use the CSV Import feature to map the specific folder.
Example:
source,destination
/mailbox:[email protected]/@MAIL/Important Mail,/mailbox:[email protected]/@MAIL
How does Movebot handle emails from Google that are tagged with multiple labels?
Answer: Movebot creates a separate folder in for each label. If a message has multiple labels, a separate copy is placed in each corresponding folder.
How can I migrate a mailbox over 100GB into Microsoft using the Online Archive feature?
Answer:
Add a content exclusion rule in Step 6 of your project settings to ignore mail received within the last year.
How can I use Movebot to restore a folder from an Online Archive?
Answer: Use the CSV import feature to map the specific folder from the Online Archive to a destination in the primary mailbox.
Example:
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.
Select Application Permissions
And then check the permissions detailed below:
Provide your tenant id. This is a UUID found when configuring the application.
Provide the Application Client ID copied from the configuration step above
Provide the Application Client Secret from the steps above
Provide the admin users email address
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.
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.
Option 2 (Recommended):
Delete the destination mailbox entirely and start the migration of affected users from scratch using the steps outlined here. This ensures a clean and accurate migration.
Run a full migration.
Allow Microsoft’s automatic archiving to move older content into the Online Archive.
Adjust your exclusion rule to ignore mail older than one year.
Lower file counts with higher data volume generally yield faster migrations and lower API consumption.
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)
3
File Upload
2
File Download
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.
Review SharePoint API Limits to understand how usage in this example compare to your tenant’s daily quota.
Migration Into SharePoint (External ➝ SharePoint)
Operation
Count
RU per Item
Total RUs
Create Folder
50,000
3
150,000
Transfer Files (Upload)
500,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
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
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
Destination App (Create + Transfer)
Operation
Count
RU per Item
Total RUs
Create Folder
50,000
3
150,000
Transfer Files (Upload)
500,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
Summary
Scenario
Source RUs
Destination RUs
Total RUs
Into SharePoint (External ➝ SharePoint)
—
1,150,000
1,150,000
Tenant-to-Tenant SharePoint
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.