Migrate from the Partner Dashboard
The Dev 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.
Anchor to Migration overviewMigration 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.
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.
- Migrate dashboard-managed extensions to CLI-managed extensions.
- Use CLI-managed app configuration.
- Run
shopify app deploy
to update your extensions to includeuid
identifiers.
Anchor to Migrate dashboard-managed extensionsMigrate dashboard-managed extensions
You can no longer create and manage app extensions through dashboards. You'll only be able to create and manage extensions using Shopify CLI.
Anchor to Extensions affectedExtensions 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 | Deep links, app navigation, and custom bulk operations from Shopify admin | Migrate admin links |
Flow lifecycle Events | Flow trigger usage notifications | Migrate legacy Flow extensions |
Flow actions | Shopify Flow integrations for actions | Migrate legacy Flow extensions |
Flow triggers | Shopify Flow integrations for triggers | Migrate legacy Flow extensions |
Marketing activity extensions | Marketing campaign integrations | Migrate marketing activity extensions |
Anchor to Use CLI-managed app configurationUse 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
.
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.
Anchor to Migrate to extension user identifiersMigrate 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
.
The UID only needs to be set once and can be reused across all copies of your app. Extension UIDs are unique, source-defined, app-scoped
identifiers that are used by shopify app deploy
to determine whether an extension is being created, updated, or deleted.
Non-interactive deploys (shopify app deploy --force
) and the shopify app dev
command will fail until you've completed these steps.
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.
Anchor to Create and map ,[object Object], valuesCreate and map uid
values
uid
valuesA one-time interactive deploy
is required to create and map uid
values:
- Run
shopify 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 extensionhandle
, and writes it to theshopify.extension.toml
file. - In the confirmation prompt for the
deploy
, Shopify CLI will indicate that all your extensions areupdated
.CautionRemoving and adding an extension can result in data loss on installed stores. If you see extensions that are
new
andremoved
, instead ofupdated
, this indicates a failure to map the extension. Update the extensionhandle
or.env
environment variable 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.
- Shopify CLI generates a new
- Commit the new
uid
values to your source control. - For each additional app instance:
- Merge the new
uid
values into the appropriate code branch for the app instance. - Run
shopify app deploy --config <name>
to map the sameuid
values to the app instance.
- Merge the new
Anchor to How extensions are mapped to ShopifyHow extensions are mapped to Shopify
During uid
mapping, Shopify CLI uses the following logic to map extensions to Shopify:
- 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.
- If
- Look for an extension identifier in the
.env
file for the current app configuration, based on the extensionhandle
. The environment variable is namedSHOPIFY_<HANDLE_SNAKE_CASE>_ID
. For example:- If the extension
handle
isdiscount
, then the environment variable isSHOPIFY_DISCOUNT_ID
. - If the extension
handle
isproduct-reviews
, then the environment variable isSHOPIFY_PRODUCT_REVIEWS_ID
.
- If the extension
- If an extension identifier isn't found in
.env
, then match on the extensiontype
andhandle
. - If no match is found, prompt for any potential matches.
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.
Anchor to Other changesOther 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:
Anchor to App managementApp management
- App creation and configuration moves from the Partner Dashboard to the Dev Dashboard.
- Development stores are now managed in the Dev Dashboard with more flexibility.
Anchor to Developer toolsDeveloper 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).
- Metafield and metaobject definitions can now be configured declaratively through your app configuration.
Anchor to Team collaborationTeam 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.