Dock

Dock for Shopify — Setup Guide

For Shopify merchants · about 20 minutes end to end

Dock connects your Shopify store to professional print production. Your customers configure print products with a guided configurator on your product pages, pay through your normal Shopify checkout, and Dock takes it from there: the order is sent for production automatically (every order gets a quick review before it's released), and tracking lands back on the Shopify order when it ships. This guide takes you from install to first order.

One naming note up front: soloflo is Dock's technical prefix — you'll see it in order tags, metafields and the vendor on synced products. Same system, older name.

Before you start

You'll need:

  • Your three Dock credentials — Tenant ID, API Key (starts sk_) and Server Secret. All three are shown, with copy buttons, on the Shopify Install page of your Dock workspace. Treat the Server Secret like a password — never paste it into theme code or share it.
  • Access to your Shopify admin — you install Dock yourself from its Shopify App Store listing. There's no install link to wait for.
  • Access to your store's theme editor.

Setup

1Install the app from the Shopify App Store

Dock is listed on the Shopify App Store at apps.shopify.com/dock. Open the listing and click Add app, sign in to your Shopify admin if you're prompted, review the requested permissions (products, orders and fulfilment only), then click Install. The app opens embedded in your admin when installation completes.

Installing changes nothing on your storefront yet — no products, no theme changes, nothing customer visible.

The Shopify Install page in your Dock workspace links straight to the listing. If you'd rather not do it alone, your Solopress contact can still send you the link and walk you through it.

2Connect it to Dock

In the embedded app, fill in the three connection fields:

  • Tenant ID, API Key and Server Secret — copy them straight across from Settings → Widget Integration in your Dock workspace. The fields appear in the same order and use the same names on both screens.

Click Save & test connection. The badge should flip to Connected. One subtlety worth knowing: the test validates the API key, Tenant ID and URL — a mistyped Server Secret still shows Connected, and surfaces later as orders arriving in Shopify without any Dock notes. If in doubt, re-copy it.

3Sync your products — then activate and publish them

Click Sync products from Dock. Every active product in your Dock catalogue is created (or updated) as a Shopify product, linked to Dock by a metafield. Re-running Sync updates in place — it never duplicates.

Then make them live — two steps. Synced products arrive as Draft so you can check them over first, and Sync doesn't add them to your Online Store sales channel. Until you do both, their product pages don't exist on your storefront. In Shopify admin → Products, select the synced products, then set status to Active and include them in the Online Store sales channel (per product: Status → Active, and Sales channels → Manage → tick Online Store).

Also good to know: synced products carry a £0 placeholder variant price. The real price is calculated live by the configurator from what the customer chooses — but on themes that show the variant price, customers may see £0.00 on product cards. See "What the storefront looks like" below.

Handy check — which Dock product is this? Open any synced product in Shopify admin and scroll to Product metafields (near the bottom of the product page): the Dock Product ID field holds the ID of the matching Merchandised Product in your Dock workspace. If you're ever unsure whether a Shopify product is linked — or linked to the right Dock product — this is the definitive place to look. A product without that metafield isn't synced at all.

4Add the configurator to your product pages

In the theme editor (Online Store → Themes → Customize), open a product page and add the Dock Configurator block (under Apps) to the product details section. Fill its settings:

  • Tenant ID and API Key — the same values as step 2
  • Widget theme and Accent colour — optional. Branded is the one to pick if you want the configurator to look like part of your shop: it takes its accent from your brand colour and inherits your storefront's font, on a neutral card. Light, Dark and Minimal are fixed looks if you'd rather it stayed neutral. Leave the accent unset and the configurator automatically uses the brand colour from your Dock workspace (Settings → Branding), so you can restyle it later without touching the theme.

Save the theme. The block renders the configurator on Dock-synced products and stays invisible on your own products.

5Turn on the checkout guard

Your theme's own Add-to-cart and quick-add buttons skip the configurator — a customer could otherwise pay for a print product with no configuration to produce. The guard closes that gap at checkout, on any theme:

  • Shopify admin → Settings → Checkout → scroll to Checkout rulesAdd rule → choose Dock configuration guard
  • Shopify asks you to name the rule. Name it Dock configuration guard as well — a shorter name like "Dock guard" is easily mistaken later for the Dock Buy Guard, which does a different job (step 6).
  • Set it to Active, leave "Block checkout if app experiences a problem" unticked, and Save

With the guard on, an unconfigured Dock line is stopped at checkout with clear instructions to re-add the product via the configurator. The customer's cart stays fully editable, and your own products are never affected.

6Hide the native buy buttons — Dock Buy Guard

The checkout guard makes native buttons a dead end; the Dock Buy Guard removes them from sight. One toggle hides your theme's own Add to cart, Buy it now, quick-add and sticky-bar buttons wherever a Dock product appears — on any theme, with no code. Buttons on your own products are untouched.

  • In the theme editor, click the App embeds icon (the blocks-with-a-+ symbol in the icon strip, next to the gear)
  • Switch Dock Buy Guard on and click Save

While you're in the editor, a small "Dock Buy Guard is on" badge at the bottom-left of the preview confirms it's active — only you see it, never your shoppers. Inside the editor everything stays visible so you can keep editing your theme; the hiding applies on your live storefront, so check there to see the effect. The toggle is per theme: if you publish a different theme later, switch it on there too.

The two guards at a glance

Steps 5 and 6 set up two different protections, and you want both: the Buy Guard keeps customers away from the wrong buttons, and the checkout guard makes sure nothing unconfigured can be bought if one ever slips through.

Dock Buy GuardDock configuration guard
What it doesHides your theme's own buy buttons on Dock productsBlocks checkout for a Dock product with no configuration
Where you turn it onTheme editor → App embedsSettings → Checkout → Checkout rules
Applies toOne theme — switch it on again if you publish anotherThe whole store
If it's offButtons reappear — customers can add unconfigured itemsThose items can be paid for, and can't be produced

What the storefront looks like

Out of the box, your theme doesn't know Dock products are special: its native Add-to-cart buttons and the £0 placeholder price may show alongside the configurator. The Dock Buy Guard (step 6) hides those buttons, and the checkout guard (step 5) makes anything that slips through a dead end. One cosmetic gap can remain: on themes that print the variant price, product cards may still show £0.00 — email us and we'll help your theme mask it.

Working with a theme developer? They can go further and remove the native buy surfaces from the theme markup itself — the approach our reference store uses. The developer guide is at Theme Guards for Developers; it stacks safely with the Buy Guard and checkout guard.

What happens to your customer's artwork

Every file uploaded through the configurator is checked by Solopress's prepress system before the order can be released to production. Routine issues are corrected for you — the file is scaled to the product's spec and screen (RGB) colours are converted for print.

Anything the check flags as a blocking problem holds the order at the release step instead of it being printed, and we'll contact you about it; advisory warnings don't hold anything up. The check runs again by itself if the artwork is ever replaced. Your order's progress still shows on the Shopify order as usual — a held order simply stays at Pending Dock review; it's the check's own detail that isn't shown there, and that lives on the order in Dock.

Running your own prepress? The check is per account. Email us and we'll set yours to bypass: Dock then passes your artwork straight through without re-checking it, and responsibility for print-readiness stays with you. Left alone, the check stays on.

When artwork comes later

Customers can order first and send their artwork afterwards. Dock accepts the order as usual but won't release anything to production until every item has a file — and it marks the wait on the Shopify order so your own automation can chase the customer:

  • dock-artwork-pending — added when the order arrives with at least one item missing artwork. The order note reads "Awaiting customer artwork — job will not be submitted until it arrives".
  • dock-artwork-received — added the moment the last missing file arrives, with dock-artwork-pending removed at the same time. The note names the file(s) received.

These two use the dock- prefix; the soloflo- status tags you already know are unchanged.

A worked Shopify Flow example — chase the customer when their order is waiting on artwork:

  1. In Shopify admin, open Flow and create a workflow with the Order created trigger.
  2. Add a Wait step of a few minutes — Dock tags the order moments after checkout, so the wait lets the tag land before you check for it.
  3. Add a Condition: the order's Tags include dock-artwork-pending.
  4. In the "then" branch, add your email action — Send internal email to nudge your own team, or your email platform's action (Klaviyo, for example) to send the customer a branded "send us your artwork" message.

Because dock-artwork-received replaces the pending tag when the file arrives, any repeat reminders you key on dock-artwork-pending stop matching automatically once the artwork is in.

Your first order

Before you test: a completed order is a real order. Once released from review, Solopress prints it and your registered card is charged for the production cost — a Shopify test-gateway payment doesn't change that. If you'd like a dry run first, arrange it with your Solopress contact.

Configure a product on your storefront, upload artwork, add it to the basket and check out. Then open the order in Shopify admin — Dock writes its progress onto the order:

  • The order note shows the current stage — starting with pending review, then submitted, in production, and dispatched with tracking. The note always shows the latest status; the tags below are your history.
  • Tags accumulate as the order progresses soloflo-pending-review, soloflo-submitted, soloflo-in-production, soloflo-sent — so you can filter orders by production state at any time. Orders waiting on customer artwork also carry dock-artwork-pending, swapped for dock-artwork-received when the file arrives — see "When artwork comes later" above.
  • A fulfilment with tracking is created automatically when the order ships, which updates your customer's order-status page.

The app itself is free — the only charges are production and delivery, billed to your registered card when your order is submitted (or invoiced, for account-terms customers). See Billing & Pricing for the full picture.

If something doesn't look right

  • A synced product has no page on the storefront — it isn't in the Online Store sales channel yet (step 3, second part).
  • The block says the product isn't linked to Dock (theme editor) — open the app and run Sync products from Dock, then reload the editor.
  • Badge won't show Connected — re-copy the API key from your Dock workspace and check the Tenant ID matches.
  • Orders arrive with no Dock notes at all — usually a wrong or missing Server Secret (the connection test doesn't cover it — step 2), or the app isn't connected. Re-copy the secret, save, and place a fresh test.
  • An order note warns about lines without configuration — a customer bought a Dock product through a native button (guard off, or an older cart). Those lines are never sent to production; the note names exactly which lines to refund, and the order is tagged soloflo-unconfigured-line. Turn on the checkout guard (step 5) to prevent this.
  • Native Add to cart buttons still show on Dock products — the Dock Buy Guard isn't switched on for the published theme (the toggle is per theme — step 6).
  • "Dock configuration guard" isn't offered when you add a checkout rule (or "Dock Buy Guard" isn't under App embeds) — your store is on an older version of the app. Email us and we'll get you current.

Stuck? Email soloflo@solopress.com and include your store's .myshopify.com domain.