MigrationFox Docs

Dropbox to SharePoint migration

A setup reference for moving Dropbox Business content into SharePoint Online document libraries. Covers the OAuth app registration on the Dropbox side, how Dropbox folder and team-folder structures map into SharePoint libraries, how shared-folder access levels become SharePoint permissions, how large files move through chunked uploads, and how the migration stays authenticated across long-running runs.

How the data flows

MigrationFox streams files directly from Dropbox to SharePoint — no intermediate storage, no local copy. Metadata (timestamps, folder structure, access levels) is read from the Dropbox API and written against the SharePoint target so the destination library matches the source shape as closely as the platforms allow.

OAuth credential setup

Dropbox authenticates through an app you register on your Dropbox developer account. You can either use the MigrationFox-hosted app (the default, easiest path) or register your own and bring your own client ID and secret if your tenant policy requires it.

Default — MigrationFox-hosted OAuth

Click Connect Dropbox, sign in, approve

  1. In MigrationFox, open CredentialsAdd credentialDropbox.
  2. Click Connect with Dropbox. You'll be redirected to Dropbox's consent page.
  3. Sign in as a Dropbox Business admin and approve the requested scopes (see below).
  4. You're redirected back to MigrationFox with the credential stored as an encrypted token pair.

Scopes requested: files.metadata.read, files.content.read, team_data.member, sharing.read, and member-specific file access for team-folder enumeration. All read-only — MigrationFox does not write back to Dropbox.

Advanced — bring your own Dropbox app

Register an app on the Dropbox developer console

  1. Go to dropbox.com/developers/apps and click Create app.
  2. Choose Scoped access, Full Dropbox (or Team folder if you're only migrating team content), and give the app a name.
  3. On the Permissions tab, enable the scopes listed above.
  4. On the Settings tab, add https://app.migrationfox.com/auth/dropbox/callback as a redirect URI.
  5. Copy the App key and App secret into MigrationFox's custom-credential form.

Why register your own: Dropbox Business admins who want the consent to flow through an app they own (for audit log attribution) prefer this path. Functionality is identical to the hosted option.

Folder mapping rules

Dropbox's namespace model does not line up 1:1 with SharePoint. The wizard applies consistent rules so the result is predictable:

Shared-folder semantics

Dropbox shared folders carry per-member access levels (editor / viewer, plus owner). SharePoint uses role assignments against the library or folder. The wizard translates the two models with the following rules:

Dropbox access levelSharePoint role assignmentNotes
OwnerFull Control on the destination folder / libraryThe mapped UPN is granted directly, replacing broken-inheritance-style access.
EditorEditWrite + edit + delete.
ViewerReadRead-only.
Commenter (Paper only)ReadPaper-specific — commenting has no SharePoint equivalent.
External (email-only) memberGuest invite on destination tenant + Read/Edit roleRequires the destination tenant to allow external sharing and an invite to go out.

Dropbox shared links (the public or team-link URLs generated for individual files or folders) do not survive migration — they are Dropbox-specific URLs. After migration runs you need to generate new SharePoint sharing links for anyone still relying on an old Dropbox link.

User mapping. Shared-folder members are identified by Dropbox email. The wizard maps each Dropbox email to a Microsoft 365 UPN on the destination tenant. Unmapped emails are reported and skipped on permission assignment (the file content still migrates; only the permission is not applied).

Chunked upload handling for large files

SharePoint rejects single-request uploads larger than 250 MB and times out long-running single-request transfers under load. MigrationFox uses SharePoint's chunked (resumable) upload session endpoint for any file over the small-file threshold:

Chunk retries. A failed chunk does not fail the whole file — the session is resumable, so the worker retries only the failed chunk. If a transient SharePoint error repeats past the retry budget, the file is failed and moved to the retry queue at the end of the job; you can re-run just the failed items without starting from scratch.

Download side. On the Dropbox side, files over 150 MB use the chunked download endpoint to avoid stalling. Large files therefore stream chunk-in-chunk-out without materialising on disk.

Auth refresh on long migrations

A terabyte-scale Dropbox-to-SharePoint migration can run for days. Both platforms hand out short-lived access tokens that expire mid-run — MigrationFox refreshes silently so the job does not pause.

Running the migration

  1. Add credentials. Dropbox OAuth and Microsoft OAuth (destination SharePoint tenant). Both are validated before you continue.
  2. Provision destination. Create the target SharePoint site and document library in advance, or let the wizard provision them.
  3. Run a discovery scan. Enumerate the Dropbox source to understand volume, folder depth, and file-type distribution. Discovery is non-destructive and reports counts, total bytes, the largest files, and any names that will need sanitising.
  4. Create the migration job. Pick the source root, the destination library, and optional per-folder mappings. Enable permission migration to pull shared-folder access levels across.
  5. Concurrency. For Dropbox, 5–10 parallel transfers is a good starting point — Dropbox's rate limits are aggressive and a higher number gets throttled to the same effective throughput.
  6. Run and monitor. Watch the live dashboard. Failed items are retried automatically; anything left failed at the end lands in a retry queue you can re-run with one click.

Troubleshooting

SymptomLikely causeFix
Discovery returns 0 items even though Dropbox has data The Dropbox credential authenticated as a personal account, not a team admin; or the app lacks team_data.member scope. Reconnect with a Dropbox Business admin sign-in. Check that the app was approved with team-level scopes.
Shared-folder members are not getting SharePoint permissions after migration The email-to-UPN mapping has unmatched rows, or permission migration was disabled on the job. Export the mapping report, fix unmatched rows, and run the permissions-only re-run. File content stays put; only permissions reapply.
Large files (over 2 GB) consistently fail SharePoint upload session timing out, or destination site storage quota is full. Check the SharePoint site storage quota; increase it if needed. The job auto-retries failed chunks, so genuine file failures after retries point at either quota or a destination-side size limit.
Long-running job pauses with “reconnect credential” Refresh-token revoked (admin action on Dropbox or Microsoft side), or the refresh flow hit a one-off error that consumed the retry budget. Click reconnect, re-authorise the credential, resume the job. Already-migrated items are skipped.
Dropbox Paper documents missing from the destination Paper is a proprietary format that is not a regular file on the Dropbox API. Export Paper docs to .docx or .pdf in Dropbox first, then include them in a subsequent run.
File names truncated or renamed on the destination SharePoint's 400-character path limit, or illegal characters in the original name. Expected. Review the rename report at the end of the run. Original names are preserved in a metadata column on the destination item.
Dropbox shared links no longer work after migration Dropbox share URLs are Dropbox-specific and do not carry over to SharePoint. Generate new SharePoint sharing links for the items. Communicate the change to end users before cutover.

Related