Getting Started
This guide walks you through setting up The One Migrate and running your first migration job from end to end.
Navigate to Migrate
- Log in to your Hub account at
my.theonestack.com. - In the Hub Bar at the top, click Migrate (the FolderSync icon). This opens
app.theonemigrate.appand signs you in automatically via Hub SSO.
Initial Setup Checklist
- Hub organization with Migrate access
- At least one desktop agent registered (see Agents)
- Azure Storage account connected (for file/mailbox jobs)
- The One Mission organization with integration key ready (for RockRMS jobs)
- At least one Client created
- At least one Project created under that client
Key Concepts
Client
A Client represents one of your managed customers. Everything in Migrate is scoped to a client: projects, jobs, and usage stats roll up per client.
Project
A Project is the container for a migration engagement. It defines:
- The project type (file migration, mailbox migration, archive, full migration, or RockRMS import)
- The Azure Storage connection (OAuth-linked account, container, storage tier)
- Optional bandwidth schedule (e.g., full speed 6 PM–6 AM, throttled during business hours)
- Linked PSA ticket and project IDs for billing and tracking
One project can contain many jobs. For example, a "Full Migration — Acme Corp" project might have separate jobs for files, mailboxes, and data imports.
Agent
The desktop agent runs on a machine at your client's site (or your MSP's office) and executes the actual data transfer. The cloud dashboard dispatches jobs to agents and receives live progress back.
Job
A Job is one unit of migration work assigned to a specific agent. It includes the source (where data comes from), destination (where it goes), filters (age, file patterns), and transfer config (concurrency, chunk size, bandwidth limit).
Job Lifecycle
created → scanning → ready → running → completed
└→ paused
└→ failed
└→ cancelled
The agent scans the source first to determine total file/byte counts (scanning), becomes ready, then begins uploading (running). You can pause or cancel from the dashboard at any time.
First Migration Job — End to End
Step 1: Create a Client
- From the sidebar, click Clients → New Client.
- Enter:
- Name — your customer's company name
- Contact Name and Contact Email — optional, for your reference
- PSA Company ID — optional, links to a PSA company record
- Click Save. The client is created with status
active.
Step 2: Register an Agent
See Agents for full installation instructions. The short version:
- Go to Settings → Headless Agent Registration → click Generate Code.
- Copy the 8-character code (valid for 24 hours).
- On the client's machine, run:
migrate-agent --register <CODE> - The agent appears in the Agents list with status Online.
Step 3: Create a Project
- Click Projects → New Project.
- Select the Client you just created.
- Choose a Project Type:
- File Migration — local or cloud files to Azure Blob / OneDrive / SharePoint
- Mailbox Migration — Exchange or M365 mailboxes between tenants
- Archive — move files to Azure Blob Cool or Archive tier
- Full Migration — combination of file and mailbox jobs
- RockRMS Import — import from a RockRMS database to The One Mission
- Enter a Project Name.
- For file/mailbox/archive projects, click Connect Azure Storage:
- Sign in with a Microsoft account that has Storage Blob Data Contributor on the target storage account.
- Select the storage account, container, and storage tier (Hot / Cool / Cold / Archive).
- Set an optional blob prefix (e.g.,
acme-corp/files).
- Optionally set a Bandwidth Schedule — set the window when full-speed transfers are allowed and the throttled speed in Mbps outside that window.
- Click Create Project.
Step 4: Create a Job
- From the project page, click New Job.
- Select the Agent to run this job.
- Enter a Job Name (e.g., "Acme Corp — C:\Users\Files — Jan 2026").
- Choose the Job Type (must match the project type).
- Configure the Source:
- For local files: enter the local path (e.g.,
C:\Usersor/home) - For OneDrive/SharePoint: enter the source Microsoft tenant ID
- For Google Drive / Dropbox: enter account credentials
- For RockRMS: enter the SQL Server connection string and select campuses
- For local files: enter the local path (e.g.,
- Configure the Destination (defaults to the project's Azure connection).
- Set optional Filters: only include files older than a certain date, include/exclude file patterns.
- Adjust Transfer Config:
- Concurrency — parallel upload streams (default: 4, max: 32)
- Chunk size — upload chunk size in MB (default: 8, max: 256)
- Bandwidth limit — Mbps cap (overrides project schedule for this job)
- Verify integrity — SHA-256 checksum after upload (default: on)
- Delete after upload — remove source files after successful transfer (default: off, use with caution)
- Click Create Job.
The job is created with status created. The dashboard automatically dispatches a start_job command to the assigned agent. Within seconds, the agent begins scanning the source.
Step 5: Monitor Progress
- The job appears on the Jobs page and in the Dashboard → Active Jobs panel.
- Click the job to see:
- Files: completed / total / failed / skipped
- Bytes: completed / total
- Current transfer speed
- Estimated time remaining
- To pause a running job: click Pause on the job detail page. The command delivers to the agent within ~10 seconds.
- To resume: click Resume.
- To cancel: click Cancel. Cancellation is immediate; any files already uploaded remain at the destination.
Step 6: Review the Report
When the job reaches completed (or failed), a report is automatically available:
- Duration, GB transferred, file count, success rate
- CSV export for client documentation
Navigate to Reports → select the job → Export CSV.