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

# WooCommerce

> Connect WooCommerce to your Atako agents — 13 read and 7 write actions.

Let your agents manage your WooCommerce store — list and create orders, manage products, customers, coupons, and retrieve sales reports via the REST API.

## Connection

* **Authentication**: API key (Consumer key:Consumer secret).
* **Required settings**:
  * **Store domain** — The domain of your WooCommerce store, without https\:// or trailing slash. Must use HTTPS and have pretty permalinks enabled.

<Note>
  In your WordPress admin, go to WooCommerce → Settings → Advanced → REST API → Add Key. Name the key, choose the user, set permissions to Read/Write, then copy both the Consumer Key and Consumer Secret. Paste them as consumer\_key:consumer\_secret (both values, separated by a colon) in the field below. Pretty permalinks must be enabled in Settings → Permalinks.

  See [WooCommerce's documentation](https://woocommerce.github.io/woocommerce-rest-api-docs/#introduction).
</Note>

## Read actions (13)

| Action                    | Description                                                                                             |
| ------------------------- | ------------------------------------------------------------------------------------------------------- |
| `get_customer`            | Retrieve a single customer by ID.                                                                       |
| `get_order`               | Retrieve a single order by ID.                                                                          |
| `get_product`             | Retrieve a single product by ID, including variants and images.                                         |
| `list_coupons`            | List coupons. Filter by search term or code. Supports pagination.                                       |
| `list_customers`          | List customers. Filter by search term, email, or role. Supports pagination.                             |
| `list_order_notes`        | List all notes for an order.                                                                            |
| `list_orders`             | List orders. Filter by status, customer, date range, or search term. Supports pagination.               |
| `list_product_categories` | List product categories. Filter by search term or parent category.                                      |
| `list_product_variations` | List all variations for a variable product.                                                             |
| `list_products`           | List products. Filter by search term, status, SKU, category, tag, or stock status. Supports pagination. |
| `orders_totals`           | Retrieve orders total counts by status.                                                                 |
| `products_totals`         | Retrieve products total counts by status.                                                               |
| `sales_report`            | Retrieve sales report. Filter by period (week, month, last\_month, year) or by date range.              |

## Write actions (7)

| Action            | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `add_order_note`  | Add a note to an order. Required: note (string, the note content). Optional: customer\_note (boolean, if true the note is visible to the customer).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `create_coupon`   | Create a coupon. Required: code (string, the coupon code). Optional: discount\_type (string: percent\|fixed\_cart\|fixed\_product), amount (string, the discount amount), individual\_use (boolean), exclude\_sale\_items (boolean), minimum\_amount (string, decimal minimum cart total), date\_expires (string, ISO 8601 date), usage\_limit (integer).                                                                                                                                                                                                                                                                                            |
| `create_customer` | Create a customer. Required: email (string). Optional: first\_name (string), last\_name (string), username (string), billing (object with first\_name, last\_name, address\_1, city, postcode, country, email, phone), shipping (object with first\_name, last\_name, address\_1, city, postcode, country).                                                                                                                                                                                                                                                                                                                                          |
| `create_order`    | Create an order. Required: payment\_method (string, e.g. "bacs"), line\_items (array of \{product\_id: integer, quantity: integer, variation\_id?: integer}). Optional: payment\_method\_title (string), set\_paid (boolean), status (string: pending\|processing\|on-hold\|completed\|cancelled\|refunded\|failed), customer\_id (integer), billing (object with first\_name, last\_name, address\_1, city, postcode, country, email, phone), shipping (object with first\_name, last\_name, address\_1, city, postcode, country), shipping\_lines (array of \{method\_id: string, method\_title: string, total: string}), customer\_note (string). |
| `create_product`  | Create a product. Required: name (string). Optional: type (string: simple\|grouped\|external\|variable), regular\_price (string, decimal price), description (string, HTML), short\_description (string, HTML), sku (string), categories (array of \{id: integer}), manage\_stock (boolean), stock\_quantity (integer), status (string: draft\|pending\|private\|publish).                                                                                                                                                                                                                                                                           |
| `update_order`    | Update an order by ID. Modifiable fields: status (string: pending\|processing\|on-hold\|completed\|cancelled\|refunded\|failed), customer\_note (string), set\_paid (boolean).                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `update_product`  | Update a product by ID. Modifiable fields: regular\_price (string, decimal price), sale\_price (string, decimal price), status (string: draft\|pending\|private\|publish), stock\_quantity (integer), manage\_stock (boolean), stock\_status (string: instock\|outofstock\|onbackorder), description (string, HTML), short\_description (string, HTML).                                                                                                                                                                                                                                                                                              |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.
