Extension-only apps are apps that don't have embedded app pages. Because they're made up entirely of extensions, you can host extension-only apps on Shopify. > Note: > Extension-only apps can only be installed with [custom distribution](https://shopify.dev/docs/apps/launch/distribution/select-distribution-method). ## Create an extension-only app Create a new app, give it a name, and choose **Build an extension-only app**. ```bash shopify app init ``` After you've created your app, you can [configure your app](/docs/apps/build/cli-for-apps/app-configuration), [generate extensions](/docs/api/shopify-cli/app/app-generate-extension), and [deploy your app](/docs/apps/launch/deployment/app-versions). ## App extensions that can be included in an extension-only app The following table lists the app extensions that are compatible with extension-only apps.
Domain Extension type Merchant experience Create using Description
Admin UI extension actions and/or blocks Shopify CLI Add custom cards or modals to resource pages in the Shopify admin.
Admin links (deprecated) links Partner Dashboard Add quick links to your app from any page in the Shopify admin.
Bulk action links (deprecated) actions Partner Dashboard Add bulk app actions to any resource page in the Shopify admin.
Subscription links (deprecated) links Partner Dashboard Customize the link that allow users to see the subscription details in your subscription-enabled app.
Checkout UI extension blocks Shopify CLI Add custom workflows and functionality at defined points in the checkout flow.
Shopify Functions functions Shopify CLI Inject custom code into key areas of the Shopify platform, such as checkout or cart.
Post-purchase UI extension blocks Shopify CLI Help users increase sales by adding products for purchase after checkout.
Customer accounts UI extension actions and/or blocks Shopify CLI Add functionality at defined points in customer accounts.
Flow Flow actions actions Shopify CLI Connect your app to Shopify Flow so that your app receives data when a workflow action runs.
Flow lifecycle events Not used for merchants Shopify CLI Notifications from Shopify Flow about stores using triggers in enabled workflows.
Flow templates templates Shopify CLI Create an example workflow that's available in Flow's template library and can be copied into a merchant's store.
Flow triggers triggers Shopify CLI Connect your app to Shopify Flow so that events that occur in your app can trigger workflows.
POS UI extensions actions, blocks, and/or smart grid tiles Shopify CLI Add custom functionality at defined areas in the POS app.
## Converting to an embedded app Extension-only apps have a Shopify-populated default app URL. If you want to convert your app to use [embedded app pages](/docs/apps/build/app-surfaces#embedded-app-pages), update the `application_url` in your [app configuration](/docs/apps/build/cli-for-apps/app-configuration) to the URL of your app. This will allow your app to be installed with [public distribution](/docs/apps/launch/distribution/select-distribution-method). > Note: > Embedded app pages are [developer-hosted](/docs/apps/build/app-surfaces#hosting). ## Next steps - Learn how to [deploy your extensions](/docs/apps/launch/deployment/app-versions) that you built using Shopify CLI.