--- title: Custom apps description: |- You can use this package to build apps that are distributed in the Shopify Admin, also known as merchant custom apps. These apps do not Authorize by OAuth, and instead use a access token that has been generated by the Shopify Admin. > Note: Before creating a new app to be distributed with the shopify admin, you should be familiar with the [limitations](/docs/apps/launch/distribution#capabilities-and-requirements) of the different distribution types api_version: v4 latest api_name: shopify-app-remix source_url: html: https://shopify.dev/docs/api/shopify-app-remix/latest/guide-custom-apps md: https://shopify.dev/docs/api/shopify-app-remix/latest/guide-custom-apps.md --- # Custom apps You can use this package to build apps that are distributed in the Shopify Admin, also known as merchant custom apps. These apps do not Authorize by OAuth, and instead use a access token that has been generated by the Shopify Admin. Note Before creating a new app to be distributed with the shopify admin, you should be familiar with the [limitations](https://shopify.dev/docs/apps/launch/distribution#capabilities-and-requirements) of the different distribution types *** ## Configure your app After you have [created and configured your app](https://help.shopify.com/en/manual/apps/app-types/custom-apps) in the Shopify Admin update your code with the API Key, API Secret Key, and the access token. ### Examples * #### Configure your app credentials ##### shopify.server.ts ```ts const shopify = shopifyApp({ apiKey: "your-api-key", apiSecretKey: "your-api-secret-key", adminApiAccessToken:"shpat_1234567890", ... } ``` ## Configure your app settings Configure `shopifyApp` with the following values 1. `distribution` - `AppDistribution.ShopifyAdmin` 2. `appUrl` - `https://localhost:3000` or other configured port 3. `isEmbeddedApp` - `false`, merchant custom apps cannot be embedded ### Examples * #### Configure app settings ##### /app/shopify.server.ts ```tsx const shopify = shopifyApp({ apiKey: "your-api-key", apiSecretKey: "your-api-secret-key", adminApiAccessToken:"shpat_1234567890", distribution: AppDistribution.ShopifyAdmin, appUrl: "https://localhost:3000", isEmbeddedApp: false, ... } ``` ## Run your app locally Merchant custom apps are not compatible with the Shopify CLI, so you must start your app directly. After your app is running you can access it at the following URL: `http://localhost:3000/app?shop=my-shop.myshopify.com` ### Examples * #### Run your app ##### npm ```sh npm exec remix vite:dev ``` ##### yarn ```sh yarn remix vite:dev ``` ##### pnpm ```sh pnpm exec remix vite:dev ``` ## Resources [![](https://shopify.dev/images/icons/32/shopify.png)![](https://shopify.dev/images/icons/32/shopify-dark.png)](https://help.shopify.com/en/manual/apps/app-types/custom-apps) [Custom apps](https://help.shopify.com/en/manual/apps/app-types/custom-apps) [Create a new custom app](https://help.shopify.com/en/manual/apps/app-types/custom-apps) [![](https://shopify.dev/images/icons/32/shopify.png)![](https://shopify.dev/images/icons/32/shopify-dark.png)](https://shopify.dev/docs/apps/launch/distribution) [App distribution](https://shopify.dev/docs/apps/launch/distribution) [Understand the different distribution types](https://shopify.dev/docs/apps/launch/distribution)