---
title: "Dock for Ecommerce: a shared substrate for the team and the agents running your store"
excerpt: "Most ecommerce teams already run agents against Shopify and Stripe. The breakdown is everywhere else: where the agent writes its work, who reviews it, what the audit trail looks like when a regulator or a chargeback dispute asks. Dock is the substrate that fixes specifically that."
author: mei
category: Use Cases
date: "2026-05-30"
---

Most ecommerce teams already run agents. An order summarizer pulling yesterday's Shopify orders into the morning standup. A refund triager reading Stripe disputes. An inventory reconciler diffing the warehouse export against the storefront. The agents work fine. The breakdown is downstream: output ends up pasted into Slack, with no provenance, no audit, no resumability. When a chargeback dispute asks "who decided this refund and why", the answer is a screenshot of a DM.

Dock is the substrate that fixes that. Not a new commerce platform, not a Shopify replacement. The shared room your team and your agents both write into, so AI work becomes persistent, reviewable, and defensible.

## The architecture, stated plainly

Shopify, BigCommerce, WooCommerce, and Stripe stay the system of record for the underlying data: orders, charges, inventory, customers. None of that moves. What Dock holds is what the agent INTERPRETS from that data: the recommendation, the draft refund response, the variance row, the work-in-progress that today evaporates when the chat session closes.

Every Dock row that touches the store carries a pointer back to source: a `shopify_order_id`, a `stripe_charge_id`, a `klaviyo_profile_id`. Agents read fresh from the platform each turn, so they never act on stale Dock state. When the human approves, Dock's [consent gate](/blog/dangerous-ops-contract) fires the mutation back. The data path loops through Dock; the data never leaves the system of record. Dock is the system of record for agent OUTPUT, with three properties the platforms cannot give you: resumable, handoff-able, reviewable.

On agent-readiness: Shopify has a strong REST and GraphQL Admin API, community MCP wrappers exist, no official MCP server yet ([Shopify Admin API](https://shopify.dev/docs/api/admin-graphql)). Stripe and Klaviyo are the same shape. Dock does not require an official MCP server.

## Three workflows, one shape

**Refund triage.** A dispute lands in Stripe. The triager reads the charge, customer history, and Shopify order, then writes a draft into a Dock row: refund full, refund partial, contest. The row carries the `stripe_charge_id` and the agent's reasoning. A human reviews, edits, approves. Dock's consent gate fires the Stripe refund. The audit trail is the row, attributed on every edit.

**Inventory reconciliation.** Overnight, the reconciler reads the 3PL export and current Shopify inventory. For every variance it writes a Dock row: variant, expected, actual, delta, recommended adjustment. A merchandiser walks the table in the morning. Approvals fire as Shopify inventory adjustments through the [first-class agent principal](/blog/agents-are-principals) that owns the workspace. Rejections stay as a record of what the agent thought and why the human disagreed.

**Subscription churn.** The intervention agent reads Klaviyo engagement and Stripe billing for at-risk subscribers, drafts an outreach plan into a Dock doc, and proposes the Klaviyo campaign and Stripe coupon as gated mutations. Growth approves once. Both fire.

## Why this matters specifically for ecommerce

Chargeback disputes need defensible audit trails on a clock. Visa and Mastercard give days, not weeks. A Dock row with agent reasoning, human approval, and a pointer to the Stripe charge beats a Slack thread.

BFCM is the other reason. Shopify merchants did $14.6 billion across BFCM 2025, with 81+ million shoppers globally ([Shopify BFCM 2025 data](https://www.shopify.com/news/bfcm-data-2025)). Peak volume is when agent handoff matters most: the triager at 2am drafts forty refund decisions, the EU lead picks them up at 7am London, approves nineteen, edits seventeen, escalates four. That handoff fails without a shared surface; on a [shared workspace](/blog/ai-workspace-not-ai-assistant) it is the morning routine.

Multi-store ops add a third dimension. A brand running Shopify US, Shopify EU, and a BigCommerce wholesale channel cannot keep agent state in three chat histories. Dock holds the cross-store view.

## What to do with this

If you already run agents against your store, the missing piece is the substrate. Open `/use-cases/ecommerce` for the longer walk, or fork the `ecommerce-order-pipeline` template to wire refund triage and inventory reconciliation against your own Shopify and Stripe in an afternoon. The AI-workflow counterpart, [Running an ecommerce stack with AI](/blog/running-an-ecommerce-stack-with-ai), covers the day-to-day cadence.

The pattern is the one we keep returning to in [the agent collaboration primer](/blog/agent-collaboration-primer) and the [audit and compliance](/blog/agent-audit-and-compliance) cluster. The store is the system of record. The agent does the interpretation. Dock holds the interpretation so the team can see it, review it, and defend it later.

## FAQ

**Does Dock replace Shopify?**

No. Shopify stays the system of record for orders, products, inventory, and customers. Dock is the system of record for what your agents INTERPRET from that data: refund recommendations, variance rows, churn interventions, listing drafts. Same pattern for BigCommerce, WooCommerce, Stripe, Klaviyo, Gorgias.

**Do agents read directly from Shopify or from Dock?**

Directly from Shopify (or Stripe, or wherever the source data lives) on each turn, so they always see the freshest state. Dock holds the interpretation, not a cached copy of the platform. Every Dock row carries a pointer (`shopify_order_id`, `stripe_charge_id`, etc.) back to the source.

**What about Stripe refunds and other irreversible operations?**

Anything that mutates a platform goes through a consent gate. The agent drafts and proposes, the human approves with a fresh signed token, the mutation fires. Same contract as the rest of Dock's dangerous-ops surface.

**How does the audit trail differ from Shopify's own event log?**

Shopify's event log tells you a refund was issued at 2:47pm by an API call. Dock's audit trail tells you the triager agent drafted that refund at 2:31pm citing the customer's previous-order history, the lead reviewed it at 2:46pm, approved with consent token X, and the API call at 2:47pm was the result. The dual-keyed log keeps the agent principal AND the approving human on every privileged write.

**Does this work with BigCommerce and WooCommerce too?**

Yes. The substrate is platform-agnostic. BigCommerce has a comparable REST and GraphQL API; WooCommerce exposes REST. Agents talk to whichever platform owns the data; Dock holds the interpretation regardless.

**Do I need an official MCP server from Shopify for this to work?**

No. Shopify has a strong REST and GraphQL Admin API and community MCP wrappers exist; there is no official MCP server from Shopify yet. Dock does not depend on one. The agent reads and writes via the API; Dock is where the work lives.

<!-- json-ld -->

```json
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "Dock for Ecommerce: a shared substrate for the team and the agents running your store",
  "description": "Most ecommerce teams already run agents against Shopify and Stripe. The breakdown is everywhere else: where the agent writes its work, who reviews it, what the audit trail looks like when a regulator or a chargeback dispute asks. Dock is the substrate that fixes specifically that.",
  "datePublished": "2026-05-30",
  "author": {
    "@type": "Person",
    "name": "Mei"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Dock",
    "url": "https://trydock.ai"
  },
  "mainEntityOfPage": "https://trydock.ai/blog/dock-for-ecommerce"
}
```
