--- title: Migrate from the Partner Dashboard description: >- Learn how to transition from the Partner Dashboard to the Dev Dashboard for app development. source_url: html: 'https://shopify.dev/docs/apps/build/dev-dashboard/migrate-from-partners' md: 'https://shopify.dev/docs/apps/build/dev-dashboard/migrate-from-partners.md' --- ExpandOn this page * [Migration overview](https://shopify.dev/docs/apps/build/dev-dashboard/migrate-from-partners.md#migration-overview) * [Migrate dashboard-managed extensions](https://shopify.dev/docs/apps/build/dev-dashboard/migrate-from-partners.md#migrate-dashboard-managed-extensions) * [Use CLI-managed app configuration](https://shopify.dev/docs/apps/build/dev-dashboard/migrate-from-partners.md#use-cli-managed-app-configuration) * [Migrate to extension user identifiers](https://shopify.dev/docs/apps/build/dev-dashboard/migrate-from-partners.md#migrate-to-extension-user-identifiers) * [Other changes](https://shopify.dev/docs/apps/build/dev-dashboard/migrate-from-partners.md#other-changes) # Migrate from the Partner Dashboard The [Dev Dashboard](https://dev.shopify.com/dashboard/) replaces the Partner Dashboard for app development. This unified platform provides the same powerful tools for both Partners and merchants, with an improved development experience. This guide helps you understand how to migrate your existing apps and workflows. *** ## Migration overview If your app doesn't have extensions, then migration is fully automatic and you can familiarize yourself with [what's changed in the Dev Dashboard](#other-changes). If your app has extensions, then you'll need to take additional steps after Shopify migrates you to the Dev Dashboard. Your current installations will continue to function, but to keep building and updating post-migration, you will need to: * Update to [the latest version of Shopify CLI](https://shopify.dev/docs/api/shopify-cli#upgrade). * [Migrate dashboard-managed extensions](#migrate-dashboard-managed-extensions) to CLI-managed extensions. * [Use CLI-managed app configuration](#use-cli-managed-app-configuration). * Run `shopify app deploy` to [update your extensions to include `uid` identifiers](#migrate-to-extension-user-identifiers). *** ## Migrate dashboard-managed extensions Note You can no longer create and manage app extensions through dashboards. You'll only be able to create and manage extensions using Shopify CLI. ### Extensions affected The following extension types currently managed through the Partner Dashboard need to be migrated. See the migration documentation for each extension type for more details: | Extension Type | Description | Migration Documentation | | - | - | - | | **[Admin links](https://shopify.dev/docs/apps/build/admin/admin-links)** | Deep links, app navigation, and custom bulk operations from Shopify admin | [Migrate admin links](https://shopify.dev/docs/apps/build/admin/admin-links/migrate-admin-links) | | **[Flow lifecycle Events](https://shopify.dev/docs/apps/build/flow/track-lifecycle-events)** | Flow trigger usage notifications | [Migrate legacy Flow extensions](https://shopify.dev/docs/apps/build/flow/migrate-legacy-extensions) | | **[Flow actions](https://shopify.dev/docs/apps/build/flow/actions)** | Shopify Flow integrations for actions | [Migrate legacy Flow extensions](https://shopify.dev/docs/apps/build/flow/migrate-legacy-extensions) | | **[Flow triggers](https://shopify.dev/docs/apps/build/flow/triggers)** | Shopify Flow integrations for triggers | [Migrate legacy Flow extensions](https://shopify.dev/docs/apps/build/flow/migrate-legacy-extensions) | | **[Marketing activity extensions](https://shopify.dev/docs/apps/build/marketing-analytics/marketing-activities)** | Marketing campaign integrations | [Migrate marketing activity extensions](https://shopify.dev/docs/apps/build/marketing-analytics/marketing-activities/migrate-extensions) | *** ## Use CLI-managed app configuration As part of this transition, CLI-managed app configuration from your `shopify.app.toml` is now always included when you run `shopify app deploy` and `shopify app dev`. Shopify CLI will automatically remove the `include_config_on_deploy` property from your `shopify.app.toml` file. If your `shopify.app.toml` isn't up to date with values on your dashboard, then use [`shopify app config link`](https://shopify.dev/docs/api/shopify-cli/app/app-config-link). Caution If you see unexpected configuration changes when running `shopify app deploy`, then your `shopify.app.toml` may not be up to date with values set using your dashboard. Learn more about [managing app config files](https://shopify.dev/docs/apps/build/cli-for-apps/manage-app-config-files). *** ## Migrate to extension user identifiers As part of this transition, all extensions need to include user identifiers in the `uid` field of their `shopify.extension.toml`. When deploying a Shopify app, we need to be able to reliably determine which extensions have been added, updated, and removed from your app. This means that we need to map extension code to our records of your extensions on Shopify. To achieve this, [app extensions](https://shopify.dev/docs/apps/build/app-extensions) are idenitified by extension user identifiers (UIDs) that are set in the `shopify.extension.toml` file. Extension UIDs are unique, source-defined, and app-scoped, so they can be shared across production, staging, and development apps. By default, UIDs are automatically added when you create a new extension using `shopify app extension generate`, or when you run `shopify app deploy`. UIDs are deterministic based on the extension handle, so they will always be the same for extensions with the same app handle value. Non-interactive deploys (`shopify app deploy --force`) and the `shopify app dev` command will fail until you've completed these steps. Note The `uid` is different from the extension identifiers found in the `.env` file, that were previously generated by `shopify app deploy`. After mapping `uid` values during `app deploy`, the `.env` extension identifiers are no longer used, and `uid` values can be shared across all copies of your app. ### Create and map `uid` values A one-time interactive `deploy` is required to create and map `uid` values: 1. Run [`shopify app deploy`](https://shopify.dev/docs/api/shopify-cli/app/app-deploy) against a code branch that represents the current release of your app. * Shopify CLI generates a new `uid` value for each extension, based on the extension `handle`, and writes it to the `shopify.extension.toml` file. * In the confirmation prompt for the `deploy`, Shopify CLI will indicate that all your extensions are `updated`. Caution Removing and adding an extension can result in data loss on installed stores. If you see extensions that are `new` and `removed`, instead of `updated`, this indicates a failure to map the extension. [Update the extension `handle` or `.env` environment variable](#how-extensions-are-mapped-to-shopify) to match the extension on Shopify. * Select `Yes` to confirm the deploy and release of the app. * The `uid` values are set on Shopify as the identifiers for your extensions. 2. Commit the new `uid` values to your source control. 3. For each additional app instance: 1. Merge the new `uid` values into the appropriate code branch for the app instance. 2. Run [`shopify app deploy --config `](https://shopify.dev/docs/api/shopify-cli/app/app-deploy#flags-propertydetail-cconfigvalue) to map the same `uid` values to the app instance. ### How extensions are mapped to Shopify During `uid` mapping, Shopify CLI uses the following logic to map extensions to Shopify: 1. Identify the active `.env` file for the current app configuration. For example: * If `shopify.app.toml` is active, then `.env` is used. * If `shopify.app.prod.toml` is active, then `.env.prod` is used. 2. Look for an extension identifier in the `.env` file for the current app configuration, based on the extension `handle`. The environment variable is named `SHOPIFY__ID`. For example: * If the extension `handle` is `discount`, then the environment variable is `SHOPIFY_DISCOUNT_ID`. * If the extension `handle` is `product-reviews`, then the environment variable is `SHOPIFY_PRODUCT_REVIEWS_ID`. 3. If an extension identifier isn't found in `.env`, then match on the extension `type` and `handle`. 4. If no match is found, prompt for any potential matches. Note Prior to Dev Dashboard migration, the `shopify app deploy` command populated these `.env` files. If an `.env` file is not available for your app configuration, update extension handles to match their values on Shopify. After this initial `deploy`, the only value used to determine if an extension is being created, updated, or deleted is the `uid` value. *** ## Other changes The Dev Dashboard consolidates app development tools into a single, modern interface that's integrated with your Shopify organization. Here's what's moving: ### App management * App creation and configuration moves from the Partner Dashboard to the Dev Dashboard. * Dev stores are now managed in the Dev Dashboard with more flexibility. * [Mandatory compliance webhooks](https://shopify.dev/docs/apps/build/compliance/privacy-law-compliance) are now managed exclusively in the [app configuration TOML](https://shopify.dev/docs/apps/build/cli-for-apps/app-configuration). ### Developer tools * Monitoring and logs are now available directly in the Dev Dashboard. * Shopify CLI connects to the Dev Dashboard seamlessly (requires the [latest version of Shopify CLI](https://shopify.dev/docs/api/shopify-cli#upgrade)). * Metafield and metaobject definitions can now be configured declaratively through your app configuration. ### Team collaboration * User permissions are now managed through your organization settings, not separately. * Role-based access integrates with Shopify's standard user management. * Organization-wide app access for all stores in your organization. *** * [Migration overview](https://shopify.dev/docs/apps/build/dev-dashboard/migrate-from-partners.md#migration-overview) * [Migrate dashboard-managed extensions](https://shopify.dev/docs/apps/build/dev-dashboard/migrate-from-partners.md#migrate-dashboard-managed-extensions) * [Use CLI-managed app configuration](https://shopify.dev/docs/apps/build/dev-dashboard/migrate-from-partners.md#use-cli-managed-app-configuration) * [Migrate to extension user identifiers](https://shopify.dev/docs/apps/build/dev-dashboard/migrate-from-partners.md#migrate-to-extension-user-identifiers) * [Other changes](https://shopify.dev/docs/apps/build/dev-dashboard/migrate-from-partners.md#other-changes)