Connect WooCommerce end to end
WooCommerce is the self-hosted WordPress e-commerce option in the Integrations catalog. Unlike the OAuth-backed entries (Shopify, HubSpot), WooCommerce connects with a REST API key pair — you generate a consumer key and consumer secret in WordPress admin and paste them into a dialog. No consent screen, no redirect. This guide walks the whole flow: generating the key pair, connecting, understanding what syncs, building messaging flows off the events, and revoking cleanly when you’re done.The connect step is owner/admin only — it’s the only step that touches store credentials. Everything after connect (syncs, event ingest) is automatic.
1. Where to find it
Open Settings → Integrations. In the discovery sidebar pick Ecommerce — the WooCommerce card sits alongside Shopify. The card’s CTA reads Paste API key, not “Connect,” because there is no OAuth consent step for this integration.2. What does it do?
Once connected, Orbit syncs your WooCommerce customers, orders, and products on a scheduled poll and ingests them into your contact list and CDP event stream. Two messaging patterns become available immediately:- Post-purchase flows — order created / updated events land as
woocommerce.orderevents you can trigger on (thank-you, review request, fulfillment follow-up) over SMS or WhatsApp. - Abandoned-cart recovery — checkout/cart events let you fire a drip with a recovery link, over SMS or WhatsApp.
3. Generate the consumer key pair in WordPress
Do this first, in the WordPress admin of the store you want to connect:- In WordPress admin, go to WooCommerce → Settings → Advanced → REST API.
- Click Add key.
- Give the key a description (e.g. “Orbit”), pick the WP user it will run as, and set Permissions to Read/Write.
- Click Generate API key. WordPress shows the Consumer key (starts with
ck_) and Consumer secret (starts withcs_) — shown exactly once. Copy both before leaving the page.
- WooCommerce 3.6 or newer (the v3 API namespace the integration probes).
- Permalinks set to a “pretty” mode (Settings → Permalinks — anything except Plain). With Plain permalinks the REST endpoints return 404.
- HTTPS on the storefront. The consumer secret never travels over plain HTTP; connect rejects
http://URLs. - The REST API must be reachable over the public internet (no maintenance-mode plugin or IP allow-list blocking
/wp-json/).
4. Connect with Paste API key
- In Settings → Integrations, click Paste API key on the WooCommerce card.
- The connect dialog asks for three values:
- Store URL — the full storefront origin, e.g.
https://store.example.com. Must be HTTPS. - Consumer key — the
ck_value from Step 3. - Consumer secret — the
cs_value from Step 3 (entered into a masked password field).
- Store URL — the full storefront origin, e.g.
- Expand Where do I find these? inside the dialog if you need the WP admin path again — it restates the exact WooCommerce → Settings → Advanced → REST API steps.
- Click Connect. Orbit validates the pair against your store by calling
GET /wp-json/wc/v3/orders?per_page=1, and only stores the key pair when that probe returns success. Both halves are encrypted before they’re written.
A successful connect flips the WooCommerce card to Connected. Re-running connect with a new key pair replaces the stored one — use it to rotate keys.
5. What gets ingested after connect
- Customers → upserted into your Orbit contact list (email, phone, name) on the scheduled sync, so segments and campaigns can address them.
- Orders → normalized event records. Order created / updated events are ingested into the CDP event stream as
woocommerce.order, which is what flows and audiences trigger on. - Products → kept current for catalog-level personalization in messages.
6. Using the events: flows on SMS/WhatsApp
Every ingested order event is a flow trigger you can wire in Flows:- Post-purchase — trigger on
woocommerce.order(created / updated), wait a fixed window, then send a thank-you or review request on SMS or WhatsApp. Because customer sync and order events share the same contact record, the message addresses the right person. - Abandoned cart — trigger on the cart/checkout event, delay to give the buyer a chance to finish, check the order hasn’t closed, then send the recovery link over SMS or WhatsApp.
7. Health monitoring
- The WooCommerce card badge in the Integrations catalog shows Connected (or Errored if the stored credential stops validating).
- Open the card’s drawer to inspect sync health — last sync time and any error the scheduled sync surfaced.
- If the card shows Errored, the usual cause is a rotated or revoked key in WordPress. Upload a fresh pair via Connect with Paste API key; re-running connect replaces the stored credential and clears the error state.
8. Test and rollback
Test before building flows — the cleanest end-to-end check is a dry-run checkout:- Add a product to cart on your store and abandon it at checkout (or place a low-value test order).
- Watch the contact and event records land in Orbit — the cart/order event should appear on the synced customer.
- Build your flow trigger against that verified event.
- In the Integrations catalog, open the WooCommerce card and use Revoke (the disconnect action on the card/drawer).
- This deletes the stored credential from Orbit, flips the card back to Available, and stops syncs.
- Revoke does not touch WordPress. The consumer key you generated still exists in WP admin and is still valid for anything else using it — delete it yourself under WooCommerce → Settings → Advanced → REST API if you want it fully revoked.
9. Limits and error taxonomy
Quirks specific to the REST-key integration:- HTTPS required —
http://store URLs are rejected at connect; the consumer secret never travels unencrypted. - Woo ≥ 3.6 — the probe hits the v3 API namespace; older Woo versions won’t answer.
- Pretty permalinks required — Plain permalinks make
/wp-json/wc/v3/*return 404; connect fails. - Public reachability — store URLs that resolve to private/internal addresses (loopback, RFC-1918, cloud metadata endpoints) are rejected for safety, so a VPC-internal staging store can’t be connected directly.
- Read/Write permission — a Read-only key connects but limits what future features can do; generate new keys with Read/Write.
10. If you’re coming from the Shopify guide
Shopify connects with OAuth (consent redirect, automatic webhook registration) — the dashboard-driven alternative for managed stores. Pick WooCommerce’s key-pair flow when the store is self-hosted WordPress and you want full control over the credential’s lifecycle in WP admin. Both ingest into the same contact + event model, so the flow patterns transfer between them — see Connect Shopify for the OAuth side.Related reading
- Connect Shopify — the OAuth alternative for managed stores.
- Flows recipes — trigger/condition shapes for cart-recovery and post-purchase drips.
- Event field mappings — reshape event properties per downstream destination.