Beta process for unpublished (in-development) apps in real stores?

4 0 4

Since Shopify's July 18th change of totally hiding unpublished apps (no more for unpublished apps), what is the process for beta testing in-development apps in real stores other than those under our own partner account?

We need a way forward on this, because right now it seems to be impossible.

New Member
1 0 0

I'm having the same issue, is there an alternative approach?

Shopify Staff
Shopify Staff
39 0 6

Hey, Alex.

Brendan here from the Shopify Support team. 

The recent change to the Shopify app store unpublished app pages has been made as an effort to ensure all apps available for direct install have been approved by the Shopify Apps team.  This means that in order to provide access to an unpublished app, developers must either publish the app to create a listing page or provide their own direct download link for beta testing. 

The direct install link can be provided to merchants by adding their and other details to the authorization link found here:

If you have any further questions specific to an app, you can also reach out to the apps team directly through



Shopify Staff (Retired)
Shopify Staff (Retired)
531 1 99

The Shopify App Store simply sends a GET request to your application, appending the shop name as a URL parameter. (

Since you already know your own app URL, you simply just need the shop name to initiate an install.

Shopify Partner
29 0 7

Does the removal from the app store effect usage of the Billing API at all for setting up recurring charges?

41 1 10

Does this process still work (of using the link{})? I attempt to do this and it redirects to my app but then redirects back to the shopify admin (for the store passed in the shop parameter) and I get an error saying the page you are looking for cannot be found?

41 1 10

I figured out what was wrong in case others come across this with a similar issue.


I was using the url listed in the app setup and passing the shop param like so


This wasn't working, it would redirect to my app but then quickly indicate page not found.


I installed through the partner dashboard on my dev store (using the install on development store link) with the network tab open on chrome and saw the GET request is actually


So in case anyone else runs into this problem you are likely missing the auth bit. Hope that helps.

173 13 30

I've been testing my public unlisted, unapproved app using{my shop name} and it was working fine with my development stores in terms of generating the permission URL and passing OAuth. It then came as a surprise to me that I wasn't able to send this link to actual merchants - they would get an error that they can't install an unlisted, non-reviewed app. 


However, after you create a custom app in Shopify, the "create custom install link" is simply broken, as other threads have mentioned. What HAS worked (after much sweating leading up to a meeting with a client) is creating a custom app, GENERATING THE BROKEN CUSTOM INSTALL LINK and specifying that specific shop, and THEN sending them to an actual constructed OAuth2 permission URL:



If you try to send this link prior to generating a link and specifying which merchant your custom app is for, you'll get the non-descriptive error that they can't install this app using this link, please reach out to the developer for more information (of which I had very little).


More background and another bug I ran into: I had my app hosted at and within my code I'd specified my app's api_key. I would test installs on my development stores using{shopOrigin}.  All was working fine with my development stores, but then I realized my client wouldn't be able to install my public, unlisted / unapproved app. Great, I should be able to create a custom app in Shopify, point it to the same hosting URL, and in my app change the api_key to match the new custom app, right?


No - there was a weird bug where the OAuth permission URL that kept generating as a result would still point to the old client_id even after I'd confirmed I'd changed it in my code. I had to actually create a new hosting link for my app{shopOrigin} and THEN the new client_id parameter in my OAuth link showed up correctly.

41 1 10

I'm wondering if something changed here, since I was using the process outlined for a previous app which worked, started development on a new app and now I can't install it in one of my live stores which I want to do for beta. I don't want to make it a "private app" since i plan on releasing. It installs on dev store but not on live stores, which is NOT the same as the last app I created which worked as per this process.

Did Shopify change something here? Where are these things announced?