Admin action and admin block extensions enable you to seamlessly integrate your app's functionality into the Shopify admin. These extensions enable your app to embed workflows and UX on core admin pages while automatically matching the Shopify admin's look and feel. By giving merchants access to your app's functionality, without the need to navigate away from their current task, these extensions help merchants be more efficient and productive. You can create actions and blocks by writing extensions with [UI Extensions](https://github.com/Shopify/ui-extensions) and targeting the appropriate extension target. For the full list of admin pages that you can extend, refer to the [extension target reference](docs/api/admin-extensions/extension-targets). ## Admin actions Admin action extensions enable you to create transactional workflows within existing pages of the Shopify admin. Merchants can launch these extensions from the **More actions** menus on resource pages or from an index table's bulk action menu when one or more resources are selected. After the extensions are launched, they display as modals. After they're closed, the page updates with the changes from the action. <figure class="figure"><img src="https://cdn.shopify.com/shopifycloud/shopify_dev/assets/admin/admin-actions-and-block/action-extension-example-100963366b63e2ece473af787ae011dc3ae33440b2ec138094ec5a3c1ed33f66.gif" class="lazyload" alt="An example admin action extension." width="1498" height="856"></figure> ## Admin print actions Admin print actions extensions are a special form of action extension designed to let your app print documents from key pages in the Shopify admin. Unlike a typical admin action extension, these extensions are found under the **Print** menu on orders and product pages. Additionally, they contain special APIs to let your app display a preview of a document and print it. <figure class="figure"><img src="https://cdn.shopify.com/shopifycloud/shopify_dev/assets/admin/admin-actions-and-block/build-an-admin-print-action/print-action-extension-fec0a1dd90f1bfb5d3f2f6ea9cbbb017c8597dd52b8b6056223128a6653dfb35.gif" class="lazyload" alt="An example admin print action extension." width="1243" height="828"></figure> ## Admin blocks Admin block extensions enable your app to embed contextual information and inputs directly on resource pages in the Shopify admin. When a merchant has added them to their pages, these extensions display as cards inline with the other resource information. Merchants need to manually add and pin the extension to their page in the Shopify admin before they can use it. With admin block extensions, merchants can view and modify information from your app and other data on the page simultaneously. To facilitate complex interactions and transactional changes, you can launch admin actions directly from an admin block. <figure class="figure"><img src="https://cdn.shopify.com/shopifycloud/shopify_dev/assets/admin/admin-actions-and-block/block-extension-example-f3432419e9d59b142b24c51055218437f90b490e76aa7e47cbfabb6c57f9ef47.gif" class="lazyload" alt="An example admin block extension on the product page showing created issues." width="1498" height="856"></figure> ## Getting started Follow the getting started tutorials to learn how to build admin action and block extensions. These tutorials are designed to be completed together to illustrate how admin action and block extensions complement each other and can be used together to build features for your app. <div class="resource-card-grid"> <div> <a class="resource-card" href="/docs/apps/build/admin/actions-blocks/build-admin-action" data-theme-mode=""> <div class="resource-card__indicator-container"><img src="/assets/resource-cards/growth" data-alt-src="/assets/resource-cards/growth-dark" aria-hidden="true" class="resource-card__icon themed-image"></div> <h3 class="resource-card__title"> Learn how to build an admin action extension </h3> <p class="resource-card__description">Build an action extension that enables merchants to create tracked issues for their products.</p> </a> </div> <div> <a class="resource-card" href="/docs/apps/build/admin/actions-blocks/build-admin-block" data-theme-mode=""> <div class="resource-card__indicator-container"><img src="/assets/resource-cards/growth" data-alt-src="/assets/resource-cards/growth-dark" aria-hidden="true" class="resource-card__icon themed-image"></div> <h3 class="resource-card__title"> Learn how to build an admin block extension </h3> <p class="resource-card__description">Build a block extension that enables merchants to see and manage tracked issues for their products.</p> </a> </div> <div> <a class="resource-card" href="/docs/apps/build/admin/actions-blocks/connect-admin-extensions" data-theme-mode=""> <div class="resource-card__indicator-container"><img src="/assets/resource-cards/growth" data-alt-src="/assets/resource-cards/growth-dark" aria-hidden="true" class="resource-card__icon themed-image"></div> <h3 class="resource-card__title"> Learn to connect admin block extensions </h3> <p class="resource-card__description">Modify the action and block extensions for issue tracking so merchants can edit existing tracked issues for their products.</p> </a> </div> <div> <a class="resource-card" href="/docs/apps/build/admin/actions-blocks/connect-app-backend" data-theme-mode=""> <div class="resource-card__indicator-container"><img src="/assets/resource-cards/growth" data-alt-src="/assets/resource-cards/growth-dark" aria-hidden="true" class="resource-card__icon themed-image"></div> <h3 class="resource-card__title"> Learn to connect extensions to your backend </h3> <p class="resource-card__description">Enable the action extension to fetch data from an app's backend when creating new issues.</p> </a> </div> <div> <a class="resource-card" href="/docs/apps/build/admin/actions-blocks/hide-extensions" data-theme-mode=""> <div class="resource-card__indicator-container"><img src="/assets/resource-cards/growth" data-alt-src="/assets/resource-cards/growth-dark" aria-hidden="true" class="resource-card__icon themed-image"></div> <h3 class="resource-card__title"> Learn to conditionally hide admin extensions </h3> <p class="resource-card__description">Collapse the admin block and hide the admin action from the More actions menu when they aren't relevant.</p> </a> </div> <div> <a class="resource-card" href="/docs/apps/build/admin/actions-blocks/build-admin-print-action" data-theme-mode=""> <div class="resource-card__indicator-container"><img src="/assets/resource-cards/growth" data-alt-src="/assets/resource-cards/growth-dark" aria-hidden="true" class="resource-card__icon themed-image"></div> <h3 class="resource-card__title"> Learn how to enable printing from resource pages </h3> <p class="resource-card__description">Create a print action extension that prints order invoices.</p> </a> </div> </div> ## Developer tools and resources <div class="resource-card-grid"> <div> <a class="resource-card" href="/docs/api/admin-extensions/api" data-theme-mode=""> <div class="resource-card__indicator-container"><img src="/assets/resource-cards/build" data-alt-src="/assets/resource-cards/build-dark" aria-hidden="true" class="resource-card__icon themed-image"></div> <h3 class="resource-card__title"> Admin UI extensions API reference </h3> <p class="resource-card__description">Consult the API reference for admin UI extension targets and their respective types.</p> </a> </div> <div> <a class="resource-card" href="/docs/api/admin-extensions/components" data-theme-mode=""> <div class="resource-card__indicator-container"><img src="/assets/resource-cards/blocks" data-alt-src="/assets/resource-cards/blocks-dark" aria-hidden="true" class="resource-card__icon themed-image"></div> <h3 class="resource-card__title"> Components for admin UI extensions </h3> <p class="resource-card__description">Learn about the components that are available in admin UI extensions.</p> </a> </div> <div> <a class="resource-card" href="/docs/api/admin-extensions/extension-targets" data-theme-mode=""> <div class="resource-card__indicator-container"><img src="/assets/resource-cards/gear" data-alt-src="/assets/resource-cards/gear-dark" aria-hidden="true" class="resource-card__icon themed-image"></div> <h3 class="resource-card__title"> Admin UI extension targets </h3> <p class="resource-card__description">Learn about the locations where you can create admin UI extensions.</p> </a> </div> <div> <a class="resource-card" href="/docs/apps/build/app-extensions/configure-app-extensions" data-theme-mode=""> <div class="resource-card__indicator-container"><img src="/assets/resource-cards/gear" data-alt-src="/assets/resource-cards/gear-dark" aria-hidden="true" class="resource-card__icon themed-image"></div> <h3 class="resource-card__title"> Extension configuration </h3> <p class="resource-card__description">Learn about how to configure your extension from its <code class="text-highlight text-highlight--grey">.toml</code> file.</p> </a> </div> <div> <a class="resource-card" href="/docs/apps/design-guidelines" data-theme-mode=""> <div class="resource-card__indicator-container"><img src="/assets/resource-cards/heart" data-alt-src="/assets/resource-cards/heart-dark" aria-hidden="true" class="resource-card__icon themed-image"></div> <h3 class="resource-card__title"> Design guidelines for admin apps </h3> <p class="resource-card__description">Learn the design guidelines for building apps in the Shopify admin.</p> </a> </div> <div> <a class="resource-card" href="https://www.figma.com/community/file/1265417558571498993" data-theme-mode=""> <div class="resource-card__indicator-container"><img src="/assets/resource-cards/blocks" data-alt-src="/assets/resource-cards/blocks-dark" aria-hidden="true" class="resource-card__icon themed-image"></div> <h3 class="resource-card__title"> Admin extensions UI kit </h3> <p class="resource-card__description">The Figma UI kit contains components, screens, and examples to help you build and understand admin UI extensions.</p> </a> </div> </div> ## Next steps - Learn how to [build an admin action extension](/docs/apps/build/admin/actions-blocks/build-admin-action) that enables merchants to create a QR code for a product directly from the product details page.