An app extension enables you to add your app's functionality to Shopify user interfaces. This guide introduces app extensions and how they work.
How it worksAnchor link to section titled "How it works"
An app extension surfaces the functionality of your app where and when users need it most. App extensions are useful for apps that require quick, frequent actions from users.
For example, your app’s actions can appear as dropdown items in Shopify admin for orders, products, customers, and other resources. You can produce interfaces that easily mimic the Shopify look-and-feel, and make your app seamlessly appear in Shopify Point of Sale (POS).
Without an app extensionAnchor link to section titled "Without an app extension"
Without an app extension, users interact directly with your app. Your app relays information to Shopify that gets surfaced back to the users through your app:
With an app extensionAnchor link to section titled "With an app extension"
With an app extension, users interact with Shopify. Shopify relays information to your app that gets surfaced back to the users through your app extension in Shopify:
Creating app extensionsAnchor link to section titled "Creating app extensions"
You can create app extensions using Shopify CLI or the Partner Dashboard. The tool that you use to create an app extension depends on the type of extension that you're building. To learn which tool to use to create each extension type, refer to the list of extension types.
For information about building and previewing app extensions, refer to the documentation for your extension type.
Extension-only appsAnchor link to section titled "Extension-only apps"
Extension-only apps are custom apps that don't have embedded app pages. Because they're made up entirely of extensions, extension-only apps can be hosted on Shopify. Extension-only apps have a Shopify-populated app URL, which you can optionally change, to build embedded app pages or list your app on the Shopify App Store.
Configuring app extensionsAnchor link to section titled "Configuring app extensions"
When you generate an app extension, a TOML configuration file named
shopify.extension.toml is automatically generated in your app's extension directory. The TOML file is located in the
extensions/ directory of your app project.
For information about the properties that you can configure in the TOML file, refer to Configuring app extensions.
Versioning and deploymentAnchor link to section titled "Versioning and deployment"
All of the extensions in your app, including extensions created in the Partner Dashboard, are versioned together as a single app version.
When you run the
deploy command using Shopify CLI, an app version is created and released. You can revert to a previous app version at any time. You can also create an app version from the Partner Dashboard.
Releasing an app version replaces the current active version that's served to stores that have your app installed. It might take several minutes for app users to be upgraded to the new version.
Reviews and approvalsAnchor link to section titled "Reviews and approvals"
Some app extensions need to be reviewed and approved before they're made available in Shopify.
If an app extension needs to be reviewed, then you can't publish the extension or release the related app version until the extension is approved. For information about submitting your app for review, refer Deploy and release extensions.
To learn whether your extension type needs to be reviewed, refer to the list of extension types.
Removing app extensionsAnchor link to section titled "Removing app extensions"
If you no longer want users to use an app extension, or you want to temporarily disable an app extension, then you can remove it.
Developer tools and resourcesAnchor link to section titled "Developer tools and resources"
Getting started with app extensions
Get started with app extensions by adding admin links, bulk actions links, and navigation links for your app.
List of app extensions
Learn about the available app extensions that you can use to add your app's functionality to Shopify user interfaces.
Configuring app extensions
Learn about app extension properties that you can configure in the TOML file.
- Get started with app extensions by configuring admin links, bulk action links, and navigation links for your app.
- Consult the list of app extensions to determine which app extensions are versioned, which app extensions require reviews and approvals, where you manage the app extensions in Shopify, and more.