Box to SharePoint migration
A setup reference for moving Box content into SharePoint Online document libraries. Covers how to connect Box, the Box admin view for migrating other people's Box, migrating many people at once, how Box collaborations become SharePoint permissions, what happens to Box Notes, version history and dates, and the troubleshooting patterns you're likely to hit.
How the data flows
Files are read from the Box API and written to SharePoint as they stream. Runs on your PC with MigrationFox Desktop send files straight from Box to SharePoint. Cloud runs stream files through the MigrationFox worker, and files are not stored after the migration. Folder structure, dates and folder collaborations are read from Box and applied at the destination, within SharePoint's limits.
Connecting Box
On your project's Connect tab (or Add connection in MigrationFox Desktop), click Box and pick one of two methods.
Sign in as a Box user or admin
What it can see: everything the signed-in account has access to: its own files and the folders shared with it. When the account is a Box admin or co-admin with the Manage users permission, the admin view (below) also lets you read other people's Box.
- On the Connect tab, click Box.
- Choose OAuth 2.0 (in Desktop: Sign in) and sign in with your Box account. Approve the access request.
- The connection appears as Valid, named after the signed-in account. Tokens are stored encrypted and refresh on their own.
Best for: all real migrations.
Paste a Box developer token
A developer token from the Box developer console also works, but it expires after 60 minutes. Use it for a quick test only, and use sign-in for real migrations.
Box admin view: other people's Box
Sign in with a Box admin or co-admin (with Manage users) and the source picker offers Browse other users' Box in this enterprise (admin). Pick any person in the enterprise and browse or migrate their Box. MigrationFox reads it as that person (Box's As-User access), so you see exactly what they see.
Shared folders are copied once. Folders someone else shared into a person's Box are marked shared by their owner. When you migrate a person's whole Box, those shared-in folders are skipped there and copied once, from the owner's Box, so you don't get duplicates.
Migrate many people at once
On the Other platforms tile, pick a Box admin connection as the source and select several people in the picker. At the destination step, choose where each person's files go:
- Their own OneDrive: people are matched by email, then username, then display name. Change any match, or upload a CSV mapping (there's a Download template link).
- One shared location: pick one folder, and each person gets a subfolder named after them.
Each person becomes their own migration, so one failure doesn't hold up the rest.
Collaborations and SharePoint permissions
Box's access model is built on collaborations: role assignments on a folder for people or groups. While Migrate permissions is on (the default), MigrationFox reads each folder's collaborations and grants the same people access to the destination folder, by their Box email address. Box roles map like this:
| Box collaboration role | Access at the SharePoint destination |
|---|---|
| Owner, Co-owner | Edit (ownership can't be granted through sharing, so edit access is the closest match) |
| Editor | Edit |
| Viewer Uploader, Previewer Uploader, Uploader | Edit (SharePoint has no upload-only role) |
| Viewer, Previewer | Read |
- Folders only. Folder collaborations are read. File-level collaborations are not.
- Groups. Box groups have no email address, so group collaborations are not applied in SharePoint. Grant those groups access at the destination yourself.
- People outside your tenant. Granting access to someone outside the destination tenant needs external sharing to be allowed on the target site.
- Unique permissions. A folder that receives collaborators gets its own permissions in SharePoint, separate from its parent.
- Box shared links (public or company-wide link URLs) don't carry over. They are Box URLs. Create new SharePoint sharing links for anyone still using old Box links.
Box Notes become Word documents
A Box Note downloaded from Box is a JSON file that nothing outside Box can open. When the destination isn't Box, MigrationFox converts each note to a Word document (.docx) during the migration.
- What carries across: headings, paragraphs, text formatting, links, bulleted, numbered and check lists, tables, quotes and code blocks. Images in a note show as a placeholder with the image name, not the image itself.
- Names: Plan.boxnote becomes Plan.docx. If a Plan.docx already exists in the same folder, the note becomes Plan (Box Note).docx.
- Notes that can't be fully read (for example, older-format notes) still become a Word document with the note's plain text and a line saying some formatting couldn't be read. The file doesn't fail.
- Comments on notes don't carry over.
Large files
- Uploads to SharePoint. Files up to 4 MB upload in one request. Larger files use SharePoint's resumable upload session in 10 MB chunks, so the file is never held whole in memory.
- Downloads from Box. Box API calls are retried with backoff on rate limits and server errors. If a download drops partway, the file is downloaded again, up to 5 attempts by default, before it is marked Failed. Other files keep moving in the meantime.
- SharePoint's per-file limit is 250 GB. Larger files are flagged in the pre-flight risk report after the scan and skipped during the run.
Folder structure, names and dates
- Root mapping. The Box folder you pick as the source maps to the SharePoint library or folder you pick as the destination. The hierarchy below it is kept.
- Invalid characters. Characters SharePoint doesn't allow in names (
# % * : < > ? / \ | ") are replaced with underscores, and leading or trailing spaces and dots are removed. - Long names and paths. Name segments over 128 characters are shortened (keeping the extension), and paths over SharePoint's 400-character limit are shortened in the folder part so the file name stays intact. The pre-flight risk report lists affected items before you run.
- Dates. Files keep Box's content created and modified dates, and folder dates are set again after their files land.
- Box web links (bookmarks) are not converted to shortcut files. Recreate any you still need.
Version history
Turn on Copy version history to copy each file's earlier versions (Box keeps versions on Business plans and up). Earlier versions are uploaded oldest first, one destination version each, then the current file. The version contents are kept. Version dates and authors at the destination show the migration time and the account that ran it.
Running the migration
- Connect both sides. Box (sign-in) as the source, and SharePoint with Sign in with Microsoft as the destination.
- Prepare the destination. Create the target SharePoint site and document library if they don't exist yet.
- Scan first (optional). Choose Scan only to list the source without copying: counts, total size, and the pre-flight risk report (oversized files, long paths, invalid names).
- Configure the job. Start from Other platforms. Pick the source folder (or several people in the admin view) and the destination library. Leave Migrate permissions on to carry folder collaborations across, and turn on Copy version history if you need earlier versions. MigrationFox sets the number of parallel transfers for the Box and SharePoint pair automatically.
- Run and monitor. Watch the job page. Failed files are retried automatically. Anything still failed at the end can be re-run with Retry failed.
- Catch-up pass. Before cutover, run again with If file already exists at destination set to Incremental to copy only new or changed files. This check works for every cloud destination, including SharePoint, OneDrive, Google Drive, Box and Dropbox.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| The source picker doesn't offer "Browse other users' Box" | The connected account isn't a Box admin or co-admin with the Manage users permission. | Reconnect Box, signing in as an admin or a co-admin who has Manage users. |
| HTTP 403 on some folders during a scan | The signed-in account can't open that folder, or was removed from it. | Use the admin view to read the folder as its owner, or grant the account access in Box and scan again. |
| A large file keeps failing | The download from Box dropped on every attempt, or the destination site's storage is full. | Check the SharePoint site's storage quota. Then click Retry failed to re-run just the failed files. |
| A converted Box Note says some formatting couldn't be read | The note uses an older Box Notes format, or content the converter doesn't recognize. | The text is all there. Open the note in Box to compare, and fix the formatting in Word if needed. |
| Collaborators in Box don't have access at the destination | Migrate permissions was off, the access was a group or file-level collaboration, or the person is outside the tenant and external sharing is off. | Grant the missing access in SharePoint, or turn external sharing on for the site and re-run with permissions on. |
| Box shared links no longer work after migration | Box links are Box URLs and don't carry over to SharePoint. | Create new SharePoint sharing links and tell people before cutover. |
| File names changed or shortened at the destination | Characters SharePoint doesn't allow, or SharePoint's name and path length limits. | Expected. Check the pre-flight risk report and the job's file list to see which items were affected. |
| The connection stops working after about an hour | It was set up with a developer token, which expires after 60 minutes. | Reconnect with OAuth 2.0 sign-in. Its tokens refresh on their own. |
Related
- Dropbox to SharePoint migration: same destination, different source
- SharePoint Site Migration: destination-side reference for sites and libraries