---
title: Build an extension-only app
description: >-
  Learn about extension-only apps that don't require a web server.
  Extension-only apps must be custom apps.
source_url:
  html: 'https://shopify.dev/docs/apps/build/app-extensions/build-extension-only-app'
  md: >-
    https://shopify.dev/docs/apps/build/app-extensions/build-extension-only-app.md
---

# Build an extension-only app

Extension-only apps are made up entirely of extensions, so you can host them on Shopify with no developer-hosted backend. The extension-only template now includes an [App Home UI extension](https://shopify.dev/docs/apps/build/app-home/app-home-ui-extensions) by default, which renders the app's main page in App Home.

**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**.

## Terminal

```terminal
shopify app init
```

After you've created your app, you can [configure your app](https://shopify.dev/docs/apps/build/cli-for-apps/app-configuration), [generate additional extensions](https://shopify.dev/docs/api/shopify-cli/app/app-generate-extension), and [deploy your app](https://shopify.dev/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 | Description |
| - | - | - | - |
| [Admin](https://shopify.dev/docs/apps/build/admin) | [UI extension](https://shopify.dev/docs/apps/build/admin/actions-blocks) | [actions](https://shopify.dev/docs/apps/build/admin/actions-blocks#admin-actions) and/or [blocks](https://shopify.dev/docs/apps/build/admin/actions-blocks#admin-blocks) | Add custom cards or modals to resource pages in the Shopify admin. |
| [App Home](https://shopify.dev/docs/apps/build/app-home) | [App Home UI extension](https://shopify.dev/docs/api/app-home-ui-extension/2026-07-rc) | App's main page in the Shopify admin | Build a Shopify-hosted landing page for your app, with no backend required. |
| [Checkout](https://shopify.dev/docs/apps/build/checkout) | [UI extension](https://shopify.dev/docs/api/checkout-ui-extensions) | blocks | Add custom workflows and functionality at defined points in the checkout flow. |
| | [Shopify Functions](https://shopify.dev/docs/api/functions) | functions | Inject custom code into key areas of the Shopify platform, such as checkout or cart. |
| | [Post-purchase UI extension](https://shopify.dev/docs/apps/build/checkout/product-offers#post-purchase-product-offers) | blocks | Help users increase sales by adding products for purchase after checkout. |
| [Customer accounts](https://shopify.dev/docs/apps/build/customer-accounts) | [UI extension](https://shopify.dev/docs/api/customer-account-ui-extensions) | actions and/or blocks | Add functionality at defined points in customer accounts. |
| [Flow](https://shopify.dev/docs/apps/build/flow) | [Flow actions](https://shopify.dev/docs/apps/build/flow/actions) | actions | Connect your app to Shopify Flow so that your app receives data when a workflow action runs. |
| | [Flow lifecycle events](https://shopify.dev/docs/apps/build/flow/track-lifecycle-events) | Not used for merchants | Notifications from Shopify Flow about stores using triggers in enabled workflows. |
| | [Flow templates](https://shopify.dev/docs/apps/build/flow/templates) | templates | Create an example workflow that's available in Flow's template library and can be copied into a merchant's store. |
| | [Flow triggers](https://shopify.dev/docs/apps/build/flow/triggers) | triggers | Connect your app to Shopify Flow so that events that occur in your app can trigger workflows. |
| [POS]() | [UI extensions](https://shopify.dev/docs/api/pos-ui-extensions) | actions, blocks, and/or smart grid tiles | Add custom functionality at defined areas in the POS app. |

***

## Adding App Home pages

You can add an App Home page to an existing extension-only app through one of two routes: developer-hosted or Shopify-hosted.

### Option 1: Developer-hosted App Home page

If you need [public distribution](https://shopify.dev/docs/apps/launch/distribution/select-distribution-method) or anything beyond the UI extension runtime, then host your app yourself and update the `application_url` in your [app configuration](https://shopify.dev/docs/apps/build/cli-for-apps/app-configuration) to your hosted URL.

### Option 2: Shopify-hosted UI extension

Extension-only apps can include a Shopify-hosted App Home page by using an [App Home UI extension](https://shopify.dev/docs/api/app-home-ui-extension/latest). The extension targets `admin.app.home.render` and runs in the admin extension runtime. There's no backend to host. This option is restricted to [custom distribution](https://shopify.dev/docs/apps/launch/distribution/select-distribution-method).

To learn how to build with this option, see [App Home UI extensions](https://shopify.dev/docs/apps/build/app-home/app-home-ui-extensions).

***

## Next steps

* Learn how to [deploy your extensions](https://shopify.dev/docs/apps/launch/deployment/app-versions) that you built using Shopify CLI.

***
