Hi everyone,
I have built a custom Shopify app for my own use case. I do not want to make it a public app or go through the public app review process.
Currently, this is how I install it for stores:
-
Whenever a store owner reaches out, I create a new app in the Dev Dashboard
-
I mark it as a custom distribution and assign it to that specific store, and share the installation link
-
I also have my own UI where store owners submit a request, but the app creation and assignment part is still manual as described.
I wanted to check if there’s any way to semi-automate this flow.
For example:
-
I pre-create, say, 10 apps in the Dev Dashboard and mark them as custom apps
-
When a store owner submits a request via my UI (enters their store details), can I programmatically assign one of these pre-created apps to that store?
-
The goal is to make this more self-serve, where my only manual work is periodically creating new apps when the pool runs low
Is there any supported way to automate or partially automate:
- Programmatically assign a custom app to a store and provide the install link (when store owner requests on my UI), without manually doing?
Would appreciate any guidance. Thanks in advance!
I don’t think there’s a way to programmatically assign the app. You can create one using the CLI, but thats all.
I don’t believe you can pick distribution except manually.
1 Like
Hi @Adarsh_Jaju1 - curious why you want to keep this as a custom app even though many merchants could use it? It’s possible for the app to be “unlisted” on the app store and you could share that link with merchants who you want to give access to.
Hi, thanks for the suggestion. Keeping the app unlisted could help avoid creating a new app for every install, but it still falls under public distribution and requires going through the app review process.
In our case, we want to avoid the review process altogether. The app doesn’t have any merchant-facing UI—it’s purely used for backend processing. The app is installed only to obtain the access token.
Based on my understanding, Shopify requires disclosure of app details and usage as part of the review process (to some extent), which we’d prefer not to do since we want to keep this flow private. Please let me know if that’s not the case.
Custom apps are intended to be used for one specific store, eg: enabling a particular feature for one unique client. Custom apps are not intended to be used by multiple merchants - from our docs:
[Custom apps can be] Installed on a single Shopify store, on multiple stores that belong to the same Plus organization or any transfer-disabled development stores
The model you’re describing is that you’re distributing custom apps to multiple merchants and treating a custom app as a “private public app” by installing it on unrelated merchants’ stores.
If you want to install your app on many unrelated stores at scale, you should use public distribution.
This is also prohibited by the Shopify License and Terms of Use:
When using the Shopify API, you will not make Custom Applications available to or for use by more than one Merchant. For the avoidance of doubt, this means that Custom Applications may not be installed by more than one Merchant.
1 Like