> For the complete documentation index, see [llms.txt](https://docs.pyck.cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pyck.cloud/shopify-app/shopify.md).

# Overview

How the Shopify app connects your store to pyck

Audience: Logistics Manager

The pyck Shopify app links a Shopify store to your warehouse. It copies your shop data into pyck so the warehouse knows what to pick, and it lets pyck report back what it shipped and what is on the shelf.

## The two directions

Everything the app does falls into one of two directions.

| Direction       | What travels                                                         | When                                                                                                 |
| --------------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| Shopify to pyck | Products, customers and orders                                       | Whenever the record changes in Shopify, and on demand for the whole catalogue                        |
| pyck to Shopify | Shipped orders with tracking, and stock counts if you switch that on | Whenever the warehouse reports a shipped order; stock on a timer or whenever pyck reports a movement |

Shopify stays the shop. pyck stays the warehouse. Neither replaces the other.

### Shopify to pyck

When you create or change a product, a customer or an order, Shopify tells the app, the app reads the current record from Shopify and writes it into pyck. Products arrive as items your pickers can find, orders arrive as picking orders. A product variant with no SKU is never sent, because pyck identifies stock by SKU.

Everything that comes from Shopify is kept together in one field of the pyck record, `shopify`, and replaced on every update. Fields your warehouse maintains in pyck stay as they are. See [What a sync overwrites in pyck](/shopify-app/data-mapping.md).

You can also send everything at once. The **Sync now** button on the Home page walks your whole store, which is how you bring an existing store over on day one.

### pyck to Shopify

When the warehouse has picked and packed an order, pyck calls the app and the app marks the order fulfilled in Shopify, with the tracking number if there is one. The customer gets their shipping email from Shopify as usual.

pyck can also drive your stock counts. This is off until you switch it on. See [Warehouse stock](/shopify-app/stock.md) for how that works and what it overwrites.

## What a connection is

A **connection** is one pyck tenant your store syncs to. You set up your first one during [setup](/shopify-app/setup.md), and it is called `production` — your real warehouse.

A store can have several connections at once, and you manage them under **Settings**. That is how you run a test or staging tenant alongside the live one, or in place of it before go-live: it receives a copy of your data so you can try things against real records, but it never ships an order and never changes your stock. Customer names, emails, phone numbers and street lines are replaced with made-up ones in those copies. Only one connection can be the production connection, and only that one is allowed to fulfil orders, write stock back and receive your customers' real details.

To run a test tenant before you go live, see [Running a test tenant before go-live](/shopify-app/test-tenant.md).

Each connection has a short **label** — `production`, `stage`, `eu-prod` — and that label is how you steer individual products, customers and orders at one tenant rather than all of them. See [Sending data to several pyck tenants](/shopify-app/routing.md).

## Where to go next

* [Setup](/shopify-app/setup.md) — install the app and connect your first tenant.
* [What a sync overwrites in pyck](/shopify-app/data-mapping.md) — which fields Shopify owns, which pyck owns, and how files are handled.
* [Designing pyck schemas for Shopify](/shopify-app/schema-design.md) — for developers: naming schema fields so the app fills them without setup.
* [Sending data to several pyck tenants](/shopify-app/routing.md) — labels, and which tenant receives what.
* [Running a test tenant before go-live](/shopify-app/test-tenant.md) — try pyck on your real orders without shipping anything, then switch over.
* [Warehouse stock](/shopify-app/stock.md) — pairing locations, and letting pyck own your counts.
* [When something looks wrong](/shopify-app/troubleshooting.md) — symptoms and what they mean.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.pyck.cloud/shopify-app/shopify.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
