--- title: Empty state description: >- Every app has moments when there's nothing to show yet and some action is required of the merchant before they can manage resources. The empty state composition turns these blank screens into opportunities by guiding merchants toward their first action. api_name: app-home source_url: html: 'https://shopify.dev/docs/api/app-home/patterns/compositions/empty-state' md: 'https://shopify.dev/docs/api/app-home/patterns/compositions/empty-state.md' --- # Empty state Every app has moments when there's nothing to show yet and some action is required of the merchant before they can manage resources. The empty state composition turns these blank screens into opportunities by guiding merchants toward their first action. Include a clear explanation of what will appear here and a prominent call-to-action to help merchants get started. This composition follows proven design guidelines that help your app feel native to the Shopify admin. See [Built for Shopify requirements](https://shopify.dev/docs/apps/launch/built-for-shopify/requirements) for more details on these guidelines. #### Use cases * Onboarding merchants to create their first item in a collection * Guiding merchants when search or filters return no results * Prompting feature activation or configuration *** ## Examples ### Display an empty state with centered content and actions Merchants need guidance and a clear next step when a list or page is empty. This pattern displays an empty state with centered content and primary and secondary actions. The [grid](https://shopify.dev/docs/api/app-home/web-components/layout-and-structure/grid) centers content vertically and horizontally. Use the [button group](https://shopify.dev/docs/api/app-home/web-components/actions/button-group) with `slot="primary-action"` and `slot="secondary-actions"` for clear next steps. ##### jsx ```tsx {/* aspectRatio should match the actual image dimensions (width/height) */} Start creating puzzles Create and manage your collection of puzzles for players to enjoy. {" "} Learn more{" "} {" "} Create puzzle{" "} ``` ##### html ```html Start creating puzzles Create and manage your collection of puzzles for players to enjoy. Learn more Create puzzle ``` ### Navigate to create page Use `href` attributes to navigate merchants to a create page when they click the primary action button. ##### jsx ```tsx Create your first puzzle Get started by creating a puzzle template. You can customize the number of pieces, shape, and difficulty level. Create puzzle ``` ##### html ```html Create your first puzzle Get started by creating a puzzle template. You can customize the number of pieces, shape, and difficulty level. Create puzzle ``` ### Open Shopify interfaces with Intents Use the [Intents API](https://shopify.dev/docs/api/app-home/apis/intents) to make empty state actions open native Shopify interfaces, allowing merchants to browse existing resources or create new ones without leaving your app. ##### jsx ```tsx {/* @validate-ignore: possibly 'undefined', Cannot invoke an object */} No products yet Add products from your Shopify catalog to get started with quality auditing. { shopify.intents.invoke('browse:shopify/Product'); }} > Browse products { const activity = await shopify.intents.invoke('create:shopify/Product'); const response = await activity.complete; if (response.code === 'ok') { shopify.toast.show('Product created'); } }} > Create product ``` ##### html ```html No products yet Add products from your Shopify catalog to get started with quality auditing. Browse products Create product ``` ***