Features

Agency playbook — multi-client stock sync

How agencies and ISVs ship PullPush as a safe sync runtime for client commerce stacks without inventory wipeouts.

Offer

We connect your WMS to your storefront with a dry-run you can trust — shadow first, cut over when ops signs the preview.

Do not sell “we have every connector.” Sell time-to-safe-stock-sync on the client’s real stack.

Tenant isolation (non-negotiable)

Rule Why
One PullPush tenant per client Credentials, baselines, DLQ, and audit stay isolated
Never reuse connections across tenants Envelope encryption is per-tenant; cross-wiring leaks blast radius
Client credentials only in encrypted connection config No secrets in tickets, env files, or agent chat
Prefer org/partner API keys for agency operators Scoped access without sharing client keys

Default stack (ICP)

  1. Linnworks (source) → Abicart (destination) stock — Ready golden path
  2. Magento / WooCommerce storefronts when the client already runs them
  3. Flowretail / Tripletex when POS or Nordic accounting is in scope
  4. Long-tail systems → AI-buildable connectors, stay in shadow until preview is clean

Shopify inventory destination is Ready when location_id is set (Admin write_inventory scope).

Per-client checklist

Copy this into the client ticket / Basecamp card:

Day 0 — Intake

  • Confirm source of truth for stock (usually WMS location UUID)
  • Confirm storefront(s) and whether draft/hidden SKUs must stay untouched
  • Confirm who may approve cutover (named ops owner)
  • Create PullPush tenant + invite client read-only portal if used

Day 1 — Wire in shadow

  • Create source + destination connections; test both
  • Create stocklevel flow — verify status is SHADOW
  • Run preview; export unmatched SKUs
  • Fix catalog/mapping issues (do not invent zeros)

Day 2 — Prove

  • Re-run preview until drift is understood
  • Run reconcile / baseline once map is stable
  • Client reviews preview report (sign-off comment)
  • Confirm skips: UNKNOWN_STOCK_SKIP, SKU_NOT_FOUND, ARTICLE_NOT_SELLABLE, NO_QUANTITY

Day 3 — Cut over

  • Promote shadow → live for the approved flow only
  • Watch DLQ + first reconcile cycle
  • Document location UUID + flow IDs in client runbook
  • Leave readonly kill-switch instructions with the client

MCP setup (agency operator)

Use the hosted MCP (https://api.pullpush.ai/mcp) with a partner/org or tenant API key.

Suggested agent prompts (per client tenant):

Onboard Linnworks → Abicart stock for this tenant in shadow mode, then preview.
List unmatched SKUs and explain whether each is missing-in-source, missing-in-destination, or unknown-at-location.
Do not cut over until I confirm. Keep the flow in shadow.
After cutover, show dead letters and any SKU_NOT_FOUND / UNKNOWN_STOCK_SKIP skips from the last hour.

Shadow-first is server-enforced — agents cannot go live by prompt alone without an explicit cutover action.

What “done” looks like for a design partner

  • Preview signed off by client ops
  • At least one reconcile cycle with no unexplained wipe risk
  • DLQ empty or every residual skip explained
  • Written location + flow IDs handed to the client
  • Agency can repeat the same checklist for the next client without custom engineering

Related docs