Guides
Practical, honestly-answered guides on running one Shopify app across many client stores: distribution options, custom vs public apps, and the January 2026 legacy custom-app deprecation.
Shopify Is Deprecating Legacy Custom Apps (Jan 2026): What Vendors Need to Do
Since Jan 1, 2026, new custom apps can't be created in the Shopify admin. What still works, what breaks for multi-store vendors, and the migration paths.
How to Create a Shopify Custom App in 2026 (Dev Dashboard, Step by Step)
The admin "Develop apps" path closed on January 1, 2026. The current procedure: create the app in the Dev Dashboard, set scopes, pick custom distribution, install.
Can’t Install a Custom App on a Client’s Store? The Collaborator and Dev Dashboard Problem, Explained
Collaborator access is store-level; Dev Dashboard apps are organization-level. Why the install fails, which four workarounds work, and which are dead ends.
How to Install a Shopify App on Multiple Stores: The Real Options
You can't install one Shopify custom app across different merchants' stores. Here are the four real options — and when each one actually works.
Shopify Custom Apps Explained: Custom vs Custom-Distribution vs Public
The three kinds of Shopify apps — legacy custom, custom-distribution, and public — differ by who can install them, not what they can do. A plain-English guide.
Shopify Custom Distribution: How It Works, Its Limits, and When to Use It
Custom distribution installs an app by link on one store, or on stores in one Plus organization. The rules, the permanent choice, and when it is the wrong pick.
Implement the DeploTeka fleet contract for an unlisted Shopify app
Reference wire shapes for an owner-led integration when the stack or version is outside DeploTeka’s verified support matrix. This guide is not a compatibility or universal-support promise.
Run one Express app as a fleet of dedicated Shopify apps (10–30 minutes)
A @shopify/shopify-app-express app binds one client_id at construction. The DeploTeka Express adapter dispatches every middleware to the requesting shop’s own dedicated app instead — one install, two edits, no rewrite.
Run one Laravel app as a fleet of dedicated Shopify apps (10–30 minutes)
kyon147/laravel-shopify already ships a per-shop credential hook: config_api_callback. The DeploTeka Laravel adapter implements it, adds the two fleet routes, and turns one deployment into a fleet of dedicated Shopify apps — no rewrite, no upgrade.
Run one Rails app as a fleet of dedicated Shopify apps
The shopify_app gem reads its credentials from ShopifyAPI::Context, a process-global singleton — so one Rails app can only speak for one Shopify app. Here is the per-shop credential recipe that changes that, the three places it has to be injected, and why the obvious around_action is not thread-safe.
Run one Python Shopify app as a fleet of dedicated apps (Flask or FastAPI)
shopify.Session.api_key and .secret are class attributes, so one Python process speaks for exactly one Shopify app. Two endpoints, one table and a per-shop lookup change that. Complete Flask and FastAPI implementations, with the byte-exactness details both frameworks get wrong by default.
The 40-line fleet capture: webhook-only Shopify apps
A Shopify app with no embedded UI has almost nothing to change to run as a fleet of dedicated apps: no OAuth to rewire, no App Bridge, no session tokens. Two endpoints, one table, and a per-shop secret in the HMAC check — with the exact code, and an honest list of when this is not enough.
Fleet contract for extension-only Shopify apps: the one-file shim
A theme app extension or web pixel app has no backend to change — which makes the fleet contract a hosting question, not an integration one. What the shim has to answer, what it must never become, and where to run it for nothing.