> ## Documentation Index
> Fetch the complete documentation index at: https://docs.skyfree.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Migration

> Bring accounts, plans, and data over from BotSailor, with admin setup and per-user self-service import.

## What is this?

The **Migration** page lets the platform owner bring accounts, plans, and data over from a supported source platform — currently **BotSailor** — into this platform. It covers both the admin-side bulk migration setup and the per-user self-service import that regular users can run once it's enabled.

<img src="https://mintcdn.com/mail2skyfreegmailcom/RbQ-QWSO7Z1yojdz/images/migration-overview.png?fit=max&auto=format&n=RbQ-QWSO7Z1yojdz&q=85&s=cd012c7f03fdb485088f6d019a6d16cf" alt="Full Migration page showing the BotSailor tab with the Migration Credentials card and the Start Migration card" width="1282" height="953" data-path="images/migration-overview.png" />

## What can I do here?

* Save BotSailor migration credentials for the platform: API token, WhatsApp whitelabel domain, a display name for the source, and a WABA (WhatsApp Business Account) system user access token
* Allow or disallow individual users from running their own one-time account migration from their own Settings page
* Choose the migration scope: migrate all BotSailor users, or only users on specific BotSailor package(s)
* Map each BotSailor package to a local plan, with a billing cycle (monthly, quarterly, or annual)
* Map each BotSailor addon to a local addon plan (optional — unmapped addons are skipped)
* Choose what gets imported during sync: labels, custom fields, contacts (user accounts, plan assignment, WhatsApp channel details, and a random reset-required password are always included)
* Run the bulk sync and watch live progress, including per-user status and any errors
* Cancel a sync while it's running
* Run a separate **Sync Expiry** job that refreshes subscription expiry dates from BotSailor for admin users whose subscription has expired (or for all users)

<img src="https://mintcdn.com/mail2skyfreegmailcom/LuZNulUWTdzCGTxm/images/migration-package-mapping.png?fit=max&auto=format&n=LuZNulUWTdzCGTxm&q=85&s=4df69371fe8997b918b0dc6975365ef2" alt="Map Packages to Plans step showing BotSailor packages mapped to local plans with billing cycle selectors" width="1282" height="953" data-path="images/migration-package-mapping.png" />

## How to use it

1. Open **Migration** from the Platform sidebar and stay on the **BotSailor** tab (currently the only migration source).

2. In the **Migration Credentials** card, enter the BotSailor API token, the WhatsApp whitelabel domain, a display name for this source, and the WABA access token, then click **Save**. Credentials must be saved before you can validate and continue.

   <img src="https://mintcdn.com/mail2skyfreegmailcom/LuZNulUWTdzCGTxm/images/migration-credentials-card.png?fit=max&auto=format&n=LuZNulUWTdzCGTxm&q=85&s=f6dcba26165ba12005a5e0ae6f7e4537" alt="Migration Credentials card with API token, domain, source name, and WABA token fields filled in" width="1282" height="953" data-path="images/migration-credentials-card.png" />

3. Optionally check **Do you allow user to migrate?** so individual users can run their own one-time migration later from the `/migration` page in their own workspace.

4. In the **Start Migration** card, choose the scope: **Migrate all users** or **Migrate users by plan**. If migrating by plan, select one or more BotSailor packages once they load.

5. Click **Validate & Continue**. This validates the API token and loads BotSailor's packages, user count, and addon count.

6. On the **Map Packages to Plans** step, choose a local plan and billing cycle for every BotSailor package shown, then click **Continue**.

7. On the **Map Addon Packages** step, optionally map BotSailor addons to local addon plans and a billing cycle. Unmapped addons are skipped during sync. Click **Continue**.

8. On the **Sync** step, choose what to import (Labels, Custom Fields, Contacts), review the package mapping summary, and click **Start Sync**.

   <img src="https://mintcdn.com/mail2skyfreegmailcom/LuZNulUWTdzCGTxm/images/migration-sync-progress.png?fit=max&auto=format&n=LuZNulUWTdzCGTxm&q=85&s=e0c0e259235f2da6802e39a42cec2144" alt="Sync step showing the progress bar, processed/succeeded/failed counts, and per-user status" width="1282" height="953" data-path="images/migration-sync-progress.png" />

9. Watch the progress bar and succeeded/failed counts while the sync runs. Click **Cancel Sync** if you need to stop it early.

10. Once complete, click **Start New Migration** to run another batch, or scroll down to **Sync Expiry** to refresh expiry dates for already-migrated admin users — choose **Expired users only** or **All users**, then click **Sync Expiry**.

    <img src="https://mintcdn.com/mail2skyfreegmailcom/LuZNulUWTdzCGTxm/images/migration-sync-expiry.png?fit=max&auto=format&n=LuZNulUWTdzCGTxm&q=85&s=faf872474e6cf8e865c3d9266da816db" alt="Sync Expiry card showing the expired/all users radio choice and progress output" width="1282" height="953" data-path="images/migration-sync-expiry.png" />
