Polaris-native UI for Shopify Functions. Build checkout validations, signed-price line-item repricing, and pickup-location routing — without writing function code, deploying extensions, or maintaining a build pipeline.
Switchboard ships three production-ready Functions and an admin app that lets merchants author rules for each. Storefront integration is optional: every rule degrades to "do nothing" when the storefront isn't wired up, so you can install today and integrate the SDK when you're ready.
| Feature | One-line summary | Deep dive |
|---|---|---|
| Pickup Location Reorder | Sort pickup locations at checkout — fixed order, auto-by-address, or driven by your storefront | /docs/pickup-reorder |
| Cart Validation | Block checkout when cart attributes match rules you define | /docs/validation |
| Cart Transform | Reprice line items via signed tokens — for shipping protection, VIP discounts, dynamic pricing | /docs/cart-transform |
| Surface | What it does | Reference |
|---|---|---|
| Switchboard JS SDK | window.Switchboard.* — one global, all three features. Loads via theme app embed. |
/docs/sdk |
| Liquid snippets | Drop-in theme.liquid recipes that drive Switchboard from customer profile data |
/docs/liquid |
Read /docs/use-cases for a tour of the kinds of problems Switchboard handles — organized by merchant pain, not by feature.
window.Switchboard on every storefront page. Optional — you can also use raw fetch calls.Active.For a full QA test plan you can hand to Shopify reviewers, see the SHOPIFY_QA.md file in the repo (private — not served at /docs).
_switchboard — the cart attribute that Cart Validation reads. JSON-encoded blob of arbitrary key→value pairs the storefront sets via Switchboard.setCartAttribute(...)._switchboard_pickup — the cart attribute that Pickup Reorder's "by cart attribute" mode reads. A plain title string or JSON-encoded array of titles._switchboard_price — the line-item property that Cart Transform reads. Carries a signed token minted by the backend.All three attributes/properties start with _ — Shopify convention for "hidden from the customer-facing order summary, but visible in the merchant's admin order view."
| Principle | Rule |
|---|---|
| Fail-safe | Functions never throw and never block checkout when input is bad |
| Boundary validation | Trust internal code; validate only at boundaries (user input, external API) |
| No premature abstraction | Duplicate until you've seen the same shape three times |
| Separation of concerns | One module, one reason to change |
See the project's CLAUDE.md in the repo for the full engineering rulebook.
SHOPIFY_QA.md and SHOPIFY_SUBMISSION.md in the repo for the full test plan