In order to connect your Shopify store with DeployHQ, you'll need admin access to your store and a custom app that provides an Admin API access token for DeployHQ to use.

As of **1st January 2026**, Shopify retired the legacy "Develop apps" flow inside the store admin. New custom apps now need to be created through the **Shopify Dev Dashboard**. If you already have a legacy custom app, it will continue to work — skip to the [Using an existing legacy app](#using-an-existing-legacy-app) section below.

## Creating a new app via the Dev Dashboard

### 1. Open the Dev Dashboard

Head to [dev.shopify.com/dashboard](https://dev.shopify.com/dashboard/), or from your Shopify admin click your store name in the top-right and choose **Dev Dashboard**.

### 2. Create the app

In the left-hand sidebar, go to **Apps** and click **Create app** in the top-right. Choose **Start from Dev Dashboard**, give the app a descriptive name (for example, "DeployHQ Theme Deploy"), and click **Create**.

### 3. Configure Admin API scopes

Open the app and go to the **Versions** tab. Fill in any required fields — if you don't have a custom admin UI, you can leave the App URL as the default `https://shopify.dev/apps/default-app-home`. Pick a Webhooks API version.

Under **Access scopes**, add the following two scopes:

- `read_themes`
- `write_themes`

Save the version.

### 4. Set the distribution to Custom

Go to the **Distribution** tab and select **Custom distribution**.

Custom distribution is the right choice for a single-store integration like DeployHQ. Do not pick Public — that's for listing apps on the Shopify App Store, and the distribution method cannot be changed after it has been set.

Enter your store domain (for example, `your-store.myshopify.com`) and click **Generate link** to produce an install URL.

### 5. Install the app on your store

Open the generated install link in a browser that's signed in to your Shopify admin, and click **Install** to install the app on your store.

### 6. Retrieve the Admin API access token

Back in the Dev Dashboard, open the app's **API credentials** (or **Settings**) page for the installed store. Copy the **Admin API access token** — it will start with `shpat_`. This is the token DeployHQ needs.

### 7. Paste the token into DeployHQ

Return to DeployHQ, pick a server name, choose **Shopify** as the server protocol, and paste the `shpat_` token into the API Access Token field along with your store domain.

That's it — you'll now have a server that DeployHQ can read from and write to.

## Using an existing legacy app

If you created a custom app before 1st January 2026, it will still appear under **Apps → App and sales channel settings → Develop apps → Legacy custom apps** in your Shopify admin, and it continues to work.

To pull a token from it:

1. Open the legacy app from that screen
2. Go to the **API credentials** tab
3. Under **Admin API access token**, click **Reveal token once** (or reinstall the app if it has never been installed)
4. Under **Configuration**, check that the Admin API scopes include `read_themes` and `write_themes`
5. Paste the token into the API Access Token field on your DeployHQ Shopify server

## A note on Theme Access app passwords

The password generated by Shopify's **Theme Access** app is a separate credential type, intended for the Shopify CLI and Theme Kit. It is not an Admin API access token and cannot be used in the DeployHQ API Access Token field — you'll need a token from a custom app, as described above.
