Switchboard DocsPolaris-native Shopify Functions

Switchboard Docs

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.


What's in the box

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

Integration surfaces

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

What this solves (start here if you're new)

Read /docs/use-cases for a tour of the kinds of problems Switchboard handles — organized by merchant pain, not by feature.


Quick start (5 minutes)

  1. Install Switchboard from the Shopify App Store, finish the install flow.
  2. Enable the SDK app embed in your theme:
    • Online Store → Themes → Customize → App embeds (puzzle icon) → toggle Switchboard SDK → Save.
    • This injects window.Switchboard on every storefront page. Optional — you can also use raw fetch calls.
  3. Create a rule in the Switchboard admin. Pick the function (validation / cart-transform / pickup-reorder) and configure it. Save with status Active.
  4. Test at checkout. Add a product to cart, walk through checkout, and confirm the function fired.

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).


Conventions across the 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."

Engineering principles (if you're poking at the code)

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.


Getting help

  • Bug report → open an issue against the GitHub repo
  • Question about wiring up your storefront → check /docs/sdk and /docs/liquid first, then reach out via the support email in the app listing
  • Reviewing a deploy → see SHOPIFY_QA.md and SHOPIFY_SUBMISSION.md in the repo for the full test plan