Your Shopify app,
in every client’s store.
A custom Shopify app may serve one merchant only, and since January 2026 a merchant can’t create one in their admin. DeploTeka creates a dedicated app for each client store in your Shopify organization, delivers its credentials to your backend, releases your updates and confirms every install.
7 days from signup. Plans from €49/month, excluding VAT.
Bring your Shopify organization and an app backend you control. Run your code locally or in CI. Each merchant approves the installation.
What DeploTeka does.
You build one app. Each client store needs its own copy of it, in your Shopify organization. Making, configuring and updating those copies by hand is the work DeploTeka takes over.
By hand, for every client store
- Create an app in the Dev Dashboard
- Copy your configuration into it
- Release your code to it
- Send the merchant an install link
- Store its credentials in your backend
- Check that it really installed
- Repeat every step for each update
With DeploTeka
- Enter the client’s store domain
- Send one install link. The merchant approves in Shopify
- Credentials arrive in your backend
- The install is checked before the store counts as live
- Updates from one screen: one store first, the rest when you confirm
Built for
- SaaS products and integrations that connect to their clients’ stores
- Agencies that build one app for many clients. For agencies
- Teams that can’t wait months for App Store review
Not built for
- A public App Store listing for any merchant to find
- Stores inside one Shopify Plus organization, where one custom app can already be installed across them
- Hosting your app. Your code runs where it runs today
How it works
Set up once, then repeat one short step for each client store.
Connect Shopify
Sign in to the Shopify organization that will own your client apps, and approve the release login once.
Prepare your app
Run
npx deplotekain your app’s repository. It prepares your code and connects your backend, which receives each store’s credentials. Your source stays on your machine.Create the store's app
Enter the client's
.myshopify.comdomain. DeploTeka prepares the dedicated app, credentials and merchant install link.Release and review
DeploTeka releases the store’s app from its server once you connect your release login, or your own deploy agent does. The merchant approves installation; DeploTeka records the available installation and required-extension evidence.
The release login is a Shopify CLI sign-in you approve on Shopify’s page: it can release your apps and cannot read store data. Without it, your deploy agent releases with your own Shopify CLI login, or a service-account key releases one store’s app.
What connecting actually takes.
DeploTeka delivers each store's credentials into your product's backend. That means your backend has to be able to receive them — this is the one step that takes engineering time, and we'd rather you price it here than discover it after signup.
The contract
Your backend exposes two routes — /api/fleet/register and /api/fleet/installed — plus a per-shop credential lookup. DeploTeka pushes each dedicated app's credentials in, then reads them back and checks the fingerprint matches before the setup run continues.
Remix v2–v4 / React Router v7
npx deploteka applies the change to your code for you. Review the diff, commit, done.
Express and Laravel
Express: the deploteka-app-fleet-express package on npm plus a guide. Laravel: a guide, and the adapter package on request — it is not public yet.
Everything else
Rails, Python or webhook-only: a written guide with starter files, no package — Rails · Python · webhook-only. Anything else implements the contract itself.
DeploTeka releases from its server with a release login you connect once: one Shopify sign-in that can manage your apps, not read store data. An app with extensions is built once per version where your code is, by the deploy agent on your machine or a server; your install and build scripts run there, not on ours. The setup screen shows which release route needs your action. Using an extension-only app? Read the setup guide.
Not sure where your stack lands? Email help@deploteka.com with the framework and we'll tell you plainly — including if DeploTeka is a bad fit.
Tested on our own development stores.
Two founder-owned development stores completed installation with offline sessions and current evidence for the required extension. We also checked an update to the same app and reused the captured bundle on the second store.
These are our own development stores. An independent agency's completed journey has not yet been verified.
Pricing
From €49 a month for one app and 10 client stores, excluding VAT. Every plan has the same workflow and a 7-day trial. Larger plans add stores and apps.
See the console.
Illustrative workspace states show how app setup, installation evidence and releases appear in the cabinet. Store names are fictional.
Setup and installation status. See which stores need app configuration, merchant approval or verification, alongside the apps already installed.
The cabinet names the blocking action and does not call the store installed early.
No false green states. Every store has a resumable setup run. Human steps are visible and assigned, and a store whose evidence cannot be read stays unknown rather than turning green.
Metadata, not secret values. The cabinet shows whether credentials exist without rendering them. Install-link reveals are explicit and written to the audit trail.
The review queue, the hand-run fleet, or the fleet layer.
Since January 1, 2026, new custom apps can no longer be created in a store's admin (Shopify changelog). New Dev Dashboard apps obtain access tokens programmatically; existing legacy apps and their tokens keep working. For a new integration: build a public app and wait out review, or run one custom-distribution app per client store — by hand, or with DeploTeka.
Run the fleet by hand
Shopify's prescribed mechanism, manually- Create and configure every store's app in the Dev Dashboard, client by client
- Track N client IDs, N secrets, N install links — across people, docs, and browser tabs
- Re-release every store's app whenever your configuration changes
- One person's memory is the system of record
This is the mechanism Shopify staff prescribe — and it's free. Their own caveat is the catch: "for a handful of stores it's manageable."
Build a public app
one App Store listing- Developers report 4–10 weeks just to reach reviewer assignment, and months to approval — no published SLA, no escalation path (thread, thread)
- Public distribution brings Shopify's billing requirements with it
- "Limited visibility" (formerly "unlisted") still requires the same review
- Public apps must also migrate to expiring offline tokens by January 1, 2027; as of today, Shopify's changelog lists custom apps as unaffected (changelog)
Right if you sell to strangers on the App Store. If your clients come through your own sales channel, the queue is pure delay — one developer in it wrote, 2026-04-30: "we have 500 Shopify stores connected that depend directly on this." (thread)
DeploTeka
from €49/month- A dedicated custom-distribution app for every client store, inside your organization
- One repeatable setup run, with explicit pauses where Shopify needs a person
- Sealed credentials delivered straight into your product's backend
- A store is marked installed on evidence, and stays unknown when there is none
Four Shopify employees describe this exact mechanism. On the record.
Public posts on Shopify's own developer forum — quoted verbatim, named, dated, linked. They are answers to developers' questions, not endorsements of DeploTeka.
"Create the app in your Dev Dashboard (your organization) · Click 'Select distribution method' · Choose 'Custom distribution' and generate an install link for the client's store · Send the link to your client to install"
— KyleG-Shopify, 2026-02-03 · community.shopify.dev/t/29171
"You'd create one app per client store, each with its own install link. Once installed, your app uses the authorization code grant to get an offline access token for that store. Your automation script stores each token and loops through the stores… It's a bit more setup up front, but for a handful of stores it's manageable"
— Donal-Shopify, 2026-04-15 · community.shopify.dev/t/33016
"Separate client organizations need separate custom apps… If a client has multiple stores that aren't part of the same Plus organization, each store needs its own custom app."
— Alan_G (Shopify), 2026-08-12 · community.shopify.dev/t/36631
"You can create an app in the dev dashboard and then distribute it to your client's store. When you choose distribution for your app you will want it to be a custom app… Then you can install the app into that client's store with the URL provided in the partner dashboard."
— TerenceShopify, 2025-11-04 · community.shopify.dev/t/22401
Read the second quote again: "for a handful of stores it's manageable." Everything past the handful is what DeploTeka does.
DeploTeka is independent software and is not affiliated with or endorsed by Shopify. "Shopify" is a trademark of Shopify Inc.
Is this even allowed?
Custom distribution is a Shopify-supported path with a hard rule attached. Here is the rule, the strongest reading against us, and our answer — sources linked, so you can check all of it in five minutes.
The rule, verbatim
Shopify's API Terms (§2.3.20) say: "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." (shopify.com/legal/api-terms) One app may never serve two merchants — which is exactly why the model is one dedicated app per client store. DeploTeka never attaches one app to a second store; the one-app-per-store fleet is what following this rule looks like at fleet size.
Your organization. Your apps.
Every app is created inside your Shopify organization, driven by your signed-in Dev Dashboard session — end it at Shopify any time. Open your Dev Dashboard and the apps are right there, indistinguishable from ones you made by hand, because mechanically they are. Disconnecting DeploTeka does not delete them.
The honest counter-note
One Shopify staff member reads the multi-merchant case differently: in a January 2026 thread, Liam-Shopify described creating a fresh custom app per unrelated merchant as treating a custom app "as a 'private public app'" and said that at scale "you should use public distribution" (community.shopify.dev/t/28011, 2026-01-07). Our answer: the ToS clause he quotes forbids one app serving many merchants — the one-app-per-store model is built to never do that — and four other Shopify staff prescribe exactly this setup for teams serving client stores (see above). Both readings exist in public on Shopify's own forum. We'd rather you read them before you sign up than after.
DeploTeka is independent software and is not affiliated with or endorsed by Shopify. "Shopify" is a trademark of Shopify Inc.
We hold Shopify credentials. The design starts there.
Running store setup means handling sensitive Shopify credentials. The vault, the boundary between workspaces, audit history, and an honest exit path are part of the product contract.
How credentials are held
Sealed at rest
Every credential lives in an AES-256-GCM envelope-encrypted vault with per-tenant data keys. Plaintext is never stored and never logged. That is how it is built; it is not a compliance certification.
Values stay out of cabinet views
The cabinet shows credential metadata without rendering secret values. Install-link reveals are explicit, time-bound operational actions and are written to the audit history.
Isolated per workspace
Your fleet's keys belong to your organization alone. Isolation is enforced in the vault, not in the interface.
Scope changes stay explicit
The requested configuration is recorded per app. New Shopify scopes still require merchant approval; DeploTeka does not silently widen access.
Why trust us with it
The escape hatch is structural
Your apps live in your Partner org — not ours. Ending DeploTeka access does not delete those app records. What happens to your data when you leave is written into the Terms and the DPA. We can leave and your fleet stays.
Revocation stays on your side
Three kinds of access, all yours to end. Your signed-in Dev Dashboard session: Disconnect in DeploTeka stops active use and records durable destruction work, and ending the session in Shopify stops it there. The release login: Disconnect in DeploTeka stops its use and deletes it. Each dedicated app's own credentials, which health checks use, and any merchant token we deliver: rotate or revoke them per app in your Dev Dashboard; deleting a store in DeploTeka retires our copies and records durable destruction work, retried after storage failure. A release key created for one release is revoked when it ends; a key you save for an app is used until it expires or you remove it. Your apps stay either way.
In writing, not just on a landing page
Start yourself. Bring us the unusual cases.
Any plan can create a workspace right now, and your source code stays in your repository on every plan. If you need a managed migration, a product-specific backend integration, or a different commercial shape, we will scope the Custom format with you.
No deck, no sales team. We look at the onboarding work you repeat today and tell you plainly whether DeploTeka can replace it.
Prefer email? help@deploteka.com — a person reads every message and replies.