> ## Documentation Index
> Fetch the complete documentation index at: https://docs.minidesk.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# WooCommerce

> Let the AI answer "where is my order?" from your store, with no API keys.

When your WordPress site runs WooCommerce, miniDesk can look up a customer's
orders. The AI answers "where is my order?" with the real status and tracking
link, and your team sees the customer's orders next to the conversation.

It comes with the [WordPress plugin](/integrations/wordpress). There is nothing
else to install and no API key to create.

## Why there are no API keys

Some chat tools ask you to create a WooCommerce API key and paste it in. That
key opens every order in full: addresses, phone numbers, payment details, and
with write access the power to change your store.

miniDesk asks the plugin instead. The plugin runs on your store, answers only
the questions miniDesk is allowed to ask, and only ever sends the fields a
customer can see in their own account. Nothing else leaves your store.

## Set it up

**1. Install and connect the plugin**

Follow [Install and connect](/integrations/wordpress#install-and-connect) on
the WordPress page. Once WooCommerce is active, the plugin notices it by
itself.

**2. Turn on order lookups**

On the **miniDesk AI** page in your WordPress admin, under **WooCommerce**,
tick **Let miniDesk look up WooCommerce orders** and click **Save
changes**. It is off until you turn it on: this is your consent to share
orders.

![The WooCommerce section of the miniDesk AI page, with both boxes ticked and the Save changes button](https://mintcdn.com/minidesk/-b91qe10vakJKfoG/images/wordpress/woocommerce-settings.png?fit=max\&auto=format\&n=-b91qe10vakJKfoG\&q=85\&s=79b124dbf93bb046b6adf290e8c030b6)

**3. Choose whether the AI answers by itself**

Tick **Also let the AI answer order questions by itself** if you want the
AI to send order answers without a teammate approving them first. See
[Whether the AI answers by itself](#whether-the-ai-answers-by-itself).

On your miniDesk **Channels** page, **WooCommerce** now has its own row under
**Connected integrations**. It reads **Looking up orders** while lookups are on,
and **Lookups failing** if your store stopped answering.

![WordPress reading Live and WooCommerce reading Looking up orders on the miniDesk Channels page](https://mintcdn.com/minidesk/-b91qe10vakJKfoG/images/wordpress/channels-rows.png?fit=max\&auto=format\&n=-b91qe10vakJKfoG\&q=85\&s=6946b5b9b9a413f908384571a22fd1ac)

## What the AI can share

* Order number and date
* Status
* Items and quantities
* Order total
* Shipping method
* Tracking numbers and links, including those added by WooCommerce Shipment
  Tracking and Advanced Shipment Tracking
* Notes you marked as a **note to customer**

## What never leaves your store

* Billing and shipping addresses
* Phone numbers
* Payment details
* Private order notes
* IP addresses and browser details

Draft orders and orders in the trash are never shown, only orders a customer
would see in their own account.

## Who sees order information

The AI only shares orders with someone who has proved they are the customer:

* **Signed in to your store.** A customer signed in to WordPress sees their own
  orders, up to their five most recent.
* **Emailed you.** A customer who wrote to your support email address sees the
  orders billed to that address, up to five. The answer goes back to that
  mailbox, which is what makes this safe.
* **Gave an order number and its email.** Anyone who writes both in the
  conversation sees that one order, if the email is the order's billing email.
  This is the same check WooCommerce's own order tracking page makes.

Anyone else is asked for their order number and checkout email. A wrong email
and an unknown order number get the same answer, so nobody can find out which
orders exist. After three wrong attempts in a conversation, the AI stops
checking.

The AI never decides whose orders to read. It can only pass on what the
customer typed; the rules above are enforced by miniDesk and by the plugin, not
by the AI.

## Whether the AI answers by itself

**Also let the AI answer order questions by itself** is off until you turn it
on.

* **Off**: the AI writes a draft that includes the order information, and a
  teammate approves it before it is sent.
* **On**: the AI sends the answer by itself when it is confident and found the
  order. When it cannot tell whose order this is, it asks the customer for the
  order number and checkout email by itself too, then looks the order up.

Either way, only proven customers see order details, and only the fields
above are shared.

> [!NOTE]
>
> Order answers sent by the AI itself also need **Let the AI answer by itself**
> to be on, under **AI replies** on the same page. While it is off, a teammate
> still approves every order answer. See
> [Letting the AI answer by itself](/integrations/wordpress#letting-the-ai-answer-by-itself).

## Orders in your inbox

When you open a conversation from a customer of your store, the **WooCommerce
orders** panel shows their recent orders, up to ten, with status, items,
tracking, shipping method and notes to the customer. **Open in WooCommerce**
opens the order in your WordPress admin.

![A conversation where the AI answered with the order's status and DHL tracking link, beside the WooCommerce orders panel showing that order](https://mintcdn.com/minidesk/-b91qe10vakJKfoG/images/wordpress/orders-panel.png?fit=max\&auto=format\&n=-b91qe10vakJKfoG\&q=85\&s=c27693c9a1dcb4eb1cae5ab947f954d2)

The panel says how the customer was recognized:

* **Signed in on** your site: they were signed in to WordPress.
* **Emailed from this address**: they wrote to your support email.
* **Not verified: the customer typed this email**: they only typed an email in
  the chat. Check before sharing anything with them.

## Where the switches live

The order switches are on the **miniDesk AI** page in your WordPress admin, where
your store's owner gives consent. The **WooCommerce** row on your miniDesk
**Channels** page shows whether they are on and when the last lookup happened,
and **Open in WordPress** takes you to them.

![The WooCommerce dialog on the Channels page: store, order lookups on, AI answers order questions by itself on, last order lookup, and Open in WordPress](https://mintcdn.com/minidesk/-b91qe10vakJKfoG/images/wordpress/woocommerce-dialog.png?fit=max\&auto=format\&n=-b91qe10vakJKfoG\&q=85\&s=45695ffbaf72fd32ac3f2e640b02cd24)

Disconnecting the WordPress plugin stops order lookups and turns both switches
off. Connecting again starts with them off, so a new connection never inherits
the consent given for the old one.

## If a security plugin blocks order lookups

miniDesk asks your store for orders through WordPress's REST API, at
`/wp-json/minidesk/v1/orders`. Some security plugins, such as Wordfence,
iThemes Security or All In One WP Security, block the REST API by default.

If the **WooCommerce** row on your **Channels** page says **Lookups failing**,
allow the `minidesk/v1` REST route in your security plugin's settings. Each
request is signed by miniDesk and lives two minutes at most, so allowing the
route does not open your store to anyone else.

## Compatibility

* WooCommerce's order storage (HPOS) and the older storage both work.
* The plugin never touches your cart or checkout.
* Order lookups need the plugin to be connected. With
  [only a public key](/integrations/wordpress#using-a-public-key-instead-of-connecting),
  the chat works but orders do not.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.