Skip to content

Importing & migrating

Before the agent can sell, it needs your data: products, variants, inventory, and the store pages, FAQs, and policies it answers from. The Imports area is where Shopify and WooCommerce stores trigger connector syncs and where custom stores find their API-ingest path. It is also where you bring rules and email flows across from a tool you are replacing.

Where it lives

Open Catalog → Imports in the sidebar (the page is titled Imports & Sync) - /app/<storeId>/imports. These are signed-in app paths; replace the store placeholder with your own store ID. Platform-specific pages live at /app/<storeId>/imports/shopify and /app/<storeId>/imports/woocommerce; the migration wizard is at /app/<storeId>/imports/from-competitor. Looking to bulk-edit product fields via spreadsheet instead? That’s the CSV import on the Products page, not here.

The import control center

The main Imports page is a control center, not a wizard. The header carries a Queue full import button for connector-backed stores, or Manage API keys for custom stores. Three cards route you to the next sensible step:

  • Connection - verify the platform handshake and reconnect path, or open scoped API keys for a custom store.
  • Catalog import - review the catalog when products, variants, or inventory look stale. The card also carries an Incremental sync button (the header’s Queue full import handles the full run).
  • Knowledge sources - jump to Knowledge to refresh policies, FAQs, and pages.

Custom stores push instead of syncing

A custom or headless store does not have a pull connector or a full/ incremental sync button. Mint a Pro-or-higher write key and POST catalog and order changes through the public API. The custom integration guide includes payloads, batching, freshness, and error handling.

A Recent sync jobs panel on the right lists the last eight jobs with their type, timestamp, and a status badge (queued, processing, completed, or failed). Failed imports show their error inline.

Full vs. incremental sync

Two connector sync shapes cover Shopify and WooCommerce:

  • Full catalog import - fetches every product, variant, image, and field. Run it on first connect and after any bulk change in your store admin.
  • Incremental sync - fetches only products changed since the last run. Faster and lighter on API limits; ideal for routine top-ups.

Queued is not complete

Starting an import only submits the work. Keep the store workspace open long enough to record the import ID and then use Imports, Store Details, and Notifications to verify completion. If it remains queued, see Products not becoming searchable.

Shopify import

The Shopify import page (/app/<storeId>/imports/shopify) opens with a connection hero showing your domain, a Connected / Setup Required badge, and when the store was connected. Below it, an Import Checklist tracks three signals:

  1. OAuth handshake - Shopify has granted read access to products, orders, and customers.
  2. Initial catalog import - at least one full import has completed, with the timestamp of the last success.
  3. No recent failures - the most recent sync did not error (or a later success superseded it).

From here you can run a full import or an incremental sync, and read the last ten jobs in the Sync History panel. For first-time connection and scopes, see the Shopify integration guide.

WooCommerce import

WooCommerce imports depend on the Zubby WordPress plugin, so the page (/app/<storeId>/imports/woocommerce) has extra moving parts. Its checklist has five steps:

  1. Plugin connected - the plugin has a secure REST connection.
  2. API credentials received - the connection credentials have arrived. The plugin uses a store Bearer token and store ID for SaaS requests; WooCommerce REST consumer credentials, when supplied by the connection, serve a different connector purpose.
  3. Initial catalog import - a full import has completed.
  4. Knowledge sync completed - pages, FAQs, and policies finished syncing.
  5. No recent failures - the latest sync is clean.

Until the plugin connects, the page shows a three-step setup card (install the plugin, open the Zubby AI menu in WordPress, click Connect) with a button to download the plugin .zip, plus a detection panel that probes your domain for the plugin. A Live Sync Diagnostics panel then reports real progress - products processed, chunks received, catalog total, knowledge documents, and whether the final chunk and knowledge sync have landed.

Woo syncs are push-based

Unlike Shopify's OAuth pull, the WooCommerce plugin pushes catalog data to Zubby in chunks. That is why the Woo page surfaces chunk counts and a “final chunk received” flag - they tell you the push finished. Plugin setup is covered in the WooCommerce integration guide.

What gets imported

A catalog sync brings over products and variants, prices, images, inventory levels, and product metadata; a knowledge sync brings over store pages, FAQs, and policies. Imported products are embedded for semantic search so the agent can recommend them; knowledge documents are embedded so the agent can answer policy questions with citations. Catalog and knowledge job counts are not an order-history import count. WooCommerce can backfill historical orders and customers during initial connection; ongoing changes arrive through webhooks (see Orders and Shoppers).

Migrating from a competitor

Switching from another tool? The migration wizard at /app/<storeId>/imports/from-competitor translates an export from a previous tool into Zubby equivalents. Supported sources today:

  • Tidio - a supported JSON export containing chatbots and macros.
  • Gorgias - a supported JSON export containing macros and rules.
  • Klaviyo - a supported JSON export containing flows and segments.

The wizard is a three-step, preview-first flow:

  1. Pick your previous tool.
  2. Paste the exported JSON into the box.
  3. Click Preview translation. Zubby parses the export and shows exactly what it will create - counts of rules, canned replies, journeys, and segments, plus any warnings - without writing a thing.

Only when you click Apply are objects created. Translated journeys land as draft so you activate them deliberately, and canned replies are archived into the restricted audit log rather than activated. This does not create usable inbox shortcuts; keep the source export and recreate reviewed snippets in Canned replies. Anything that could not be mapped is listed as skipped, so nothing silently disappears.

Migration moves logic, not history

The wizard brings over your automation - rules, macros, flows, and segments. It does not import past conversation transcripts or ticket history from the old tool. Running a migration requires a store owner or a merchant team member with full store access.

Gotchas

  • If an import remains queued, check the support team and the store’s Notifications before retrying. Contact support with the import ID, store ID, and timestamp after one controlled retry.
  • For WooCommerce, a full import button stays disabled until the plugin connects and sends credentials.
  • Re-running a full import is safe and idempotent - it reconciles, it does not duplicate products.
  • The migration preview is non-destructive; you can preview as many times as you like before applying once.

Related

Keep a migration receipt

Save the original export and the preview counts before Apply. Check a sample rule, draft journey and segment afterward. A preview describes supported translations, not a full copy of the old tool. Export menu names can change by vendor and version; obtain the supported JSON through that vendor’s current export workflow. Do not repeatedly Apply to diagnose a format error, and do not activate imported journeys until recipients, consent, delays and messages have been reviewed.

Synthetic preview input

For the Tidio translator, this minimal example contains one macro and no live customer data. Preview should show one translated canned reply. Applying archives the translated macro; it does not create an active inbox shortcut.

{"chatbots":[],"macros":[{"shortcut":"shipping","title":"Shipping policy","body":"See our reviewed shipping policy before quoting a dispatch date."}],"tags":[]}

Use Preview translation first. If the warning or count differs, stop and compare the expected fields with the export format. Preserve the original file so unsupported records can be recreated manually.

Missing something, or found an error on this page?

Contact support and include the URL of this page (/docs/imports).