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 you trigger those syncs, confirm the platform handshake is healthy, and watch jobs run. It is also where you bring rules and email flows across from a tool you are replacing.
Where it lives
Imports & Sync from the sidebar — /app/<storeId>/imports. Platform-specific pages live at /imports/shopify and /imports/woocommerce; the migration wizard is at /imports/from-competitor.The import control center
The main Imports page is a control center, not a wizard. The header carries a Queue full import button, and three cards route you to the next sensible step:
- Connection — verify the platform handshake, permissions, and reconnect path before importing again.
- Catalog import — queue a full catalog import when products, variants, or inventory look stale. A second button here queues an incremental sync.
- Knowledge sources — jump to Knowledge to refresh policies, FAQs, and pages.
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 jobs show their error inline.
Full vs. incremental sync
Two sync shapes cover every situation:
- 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.
Imports run on the worker, not the web app
Shopify import
The Shopify import page (/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:
- OAuth handshake — Shopify has granted read access to products, orders, and customers.
- Initial catalog import — at least one full import has completed, with the timestamp of the last success.
- 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 (/imports/woocommerce) has extra moving parts. Its checklist has five steps:
- Plugin connected — the plugin has a secure REST connection.
- API credentials received — consumer key and secret are stored.
- Initial catalog import — a full import has completed.
- Knowledge sync completed — pages, FAQs, and policies finished syncing.
- 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) 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
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. Orders and customers are not imported here — they arrive continuously through webhooks (see Orders and Shoppers).
Migrating from a competitor
Switching from another tool? The migration wizard at /imports/from-competitor translates an export from a previous tool into Zubby equivalents. Supported sources today:
- Tidio — Settings → Export → Download JSON.
- Gorgias — Admin → Macros / Rules / Views → Export the combined JSON.
- Klaviyo — Account → API → Export flows and segments.
The wizard is a three-step, preview-first flow:
- Pick your previous tool.
- Paste the exported JSON into the box.
- 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 audit log rather than activated. Anything that could not be mapped is listed as skipped, so nothing silently disappears.
Migration moves logic, not history
Gotchas
- A queued job that never starts almost always means the worker is not running — check that first.
- 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.