# WooCommerce

With WooCommerce connected, the agent knows who is calling before it speaks (it matches the caller's number against your store customers and order billing phones), reads back the status of their recent orders, answers questions about products from your catalogue and, if you allow it, places a new order in the store. **Integrations - Catalogue - WooCommerce - Connect** opens the connect dialog. One connection is shared by every agent in the company.

  <ShotPlaceholder
    src="/assets/integrations/woocommerce.png"
    name="woocommerce-connect"
    alt="Connect WooCommerce dialog with Store URL, Consumer key and Consumer secret"
    capture="Connect WooCommerce dialog."
  />

## What you need before you start

A REST API key from the WordPress admin of the store:

1. **WooCommerce - Settings - Advanced - REST API - Add key**.
2. Description `Voice Logica`, User an administrator, Permissions **Read/Write**. Read-only is enough if the agent will never place orders.
3. **Generate API key** and copy both values straight away. WooCommerce shows the secret only once.

The store must run WooCommerce 3.5 or later with pretty permalinks, and the REST API must be reachable over HTTPS with a valid certificate (self-signed certificates are rejected). If the site sits behind Cloudflare or another firewall, allow Voice Logica's requests through.

## What you enter

- **Store URL** (required) — The public address of the shop, including `https://`, for example `https://myshop.example`.
- **Consumer key** (required) — Starts with `ck_`.
- **Consumer secret** (required) — Starts with `cs_`.
- **Store name** — Display name for the connection. Optional.

There is no separate test step. **Connect** checks the URL and keys against the store before saving and refuses them if the store does not answer.

## First setup

1. **Integrations - Catalogue - WooCommerce - Connect**, paste the three values, **Connect**. WooCommerce moves to the **Connected** tab.

2. Open **My Agents**, pick the agent, then **Skills - Tools & Workflows**. Turn on **WooCommerce**.

3. Click **Configure** on the WooCommerce card and pick the operations. **Identify caller by phone** is on by default. For order questions add **Get orders by customer**; for product questions add **Search products**. Add **Create order** only if the agent should take orders, and then also **List shipping options** or **Pre-load shipping methods into the system prompt**, because WooCommerce does not work out shipping on orders created through the API.

4. If you allow **Create order**, set **Max order value** and **Max order lines**. Orders above either limit are refused before they reach the store. Use **Custom order attributes** for extra details the agent must collect (for example a doorbell name); they are saved on the order and visible in the WordPress order page.

5. Click **Save** in the settings window, then **Save** the agent.

6. Call the agent from a phone number that appears on a customer or a past order in the shop (or use **Try this agent**). Ask "Where is my last order?". The agent should use the customer's name and read back the order status. Then ask for a product by name and check that it answers from your catalogue.

## What the agent can do

| Job | What happens on the call |
|-----|--------------------------|
| Recognise the caller | Matches the caller's number to a customer, falling back to the billing phone on past orders (guest checkouts included). Can also find a customer by name or email, and remember the number for next time. |
| Order questions | Reads the caller's recent orders, or one order by its number: status, items, totals. **Pre-fetch recent orders on call start** loads the last 10 orders before the agent speaks. |
| Product questions | Searches the catalogue by name, SKU or slug and reads one product's details. |
| Take an order | Lists shipping methods and creates the order in WooCommerce, within the limits you set. |

The product catalogue is copied to Voice Logica and refreshed daily, so searches are fast. **Sync now** on the WooCommerce card under **Connected** pulls the full catalogue again immediately.

## Troubleshooting

**Connect fails with an error about the store URL or keys**

Check that **Store URL** includes `https://` and is the public site address, that the key has not been revoked under **WooCommerce - Settings - Advanced - REST API**, and that the store answers over HTTPS with a valid certificate. A firewall, Cloudflare rule or security plugin that blocks REST API requests produces the same error.

**WooCommerce disappeared from Connected and the admins got an email**

When the store cannot be reached on 10 consecutive sync attempts (DNS failure, refused connection, timeout), Voice Logica removes the connection, clears the copied data and emails the company admins. Fix the address or firewall, then connect again from **Catalogue**.

**The agent does not recognise a caller who is a customer**

The caller's number must be on the customer's billing details or on a past order. Make sure **Identify caller by phone** is selected and **Auto-identify caller on connect** is on, then **Save** the agent. If the customer called from a number the shop does not have, the agent can still find them by name or email when those operations are selected.

**Orders created by the agent have no shipping cost**

WooCommerce does not calculate shipping for orders created through the API. Turn on **List shipping options** or **Pre-load shipping methods into the system prompt** so the agent picks a real shipping method.

## Next Steps

[Get an integration working](https://docs.voicelogica.ai/integrations/) - company connection, then the agent tool.  
[Tools & Workflows](https://docs.voicelogica.ai/agent-configuration/built-in-tools/) - where the WooCommerce tool is switched on.  
[Shopify](https://docs.voicelogica.ai/integrations/eshops/shopify/) - [XML product feed](https://docs.voicelogica.ai/integrations/eshops/xml-feed/) - for stores on other platforms.
