OpenShop documentation
OpenShop is a TypeScript framework for Shopify integrations. Write the code that moves data between Shopify and your services; OpenShop provides the embedded admin UI, saved provider credentials, background workers, schedules, and run logs.
Find the help you need
Section titled “Find the help you need”New to OpenShop?
Section titled “New to OpenShop?”Build your first app to create a project, install it on a Shopify development store, and run its sample integration. You will need Node.js 26, pnpm 11, PostgreSQL 17, and Shopify CLI.
A typical integration has three parts:
| Part | What you write | What OpenShop provides |
|---|---|---|
| Provider | Methods for calling an external service, such as a warehouse | A configuration form and saved credentials for each shop |
| Flow | A background job, split into named steps | Queueing, checkpoints, retries, and execution logs |
| App configuration | The providers, flows, and schedules to enable | An embedded Shopify admin to configure and operate them |
For example, an order-sync flow reads orders from Shopify and calls a warehouse provider. A merchant configures the warehouse credentials in Providers and inspects each execution in Flows. See the building blocks for how the files and runtime objects connect.
Common tasks
Section titled “Common tasks”- Connect an external service: Add a provider.
- Run background work: Sync orders with a flow.
- Extend the app: Add a storefront endpoint, a server endpoint, or a custom admin page.
- Ship an app: Deploy to production, then monitor and recover runs.
- Fix a problem: Start with troubleshooting.
Contributing to the framework or these docs? See the contributor guide.