Create WooCommerce Product
woocommerce_create_productAdd a product to your WooCommerce store with name, price, SKU, description, images, and inventory settings.
Instructions
Create a new product in the WooCommerce catalog.
Args:
name (string, required): Product name
type ('simple'|'grouped'|'external'|'variable'): default 'simple'
status ('draft'|'pending'|'private'|'publish'): default 'publish'
description / short_description (string, optional): HTML allowed
sku (string, optional): must be unique store-wide
regular_price / sale_price (string, optional): numeric strings
manage_stock (boolean), stock_quantity (number), stock_status (string)
category_ids / tag_ids (number[]): assign existing taxonomy terms
image_urls (string[]): externally hosted image URLs, WooCommerce will import them
weight (string, optional)
response_format ('markdown'|'json'): default 'markdown'
Returns: The newly created product object with its assigned ID.
Examples:
Use when: "add a new t-shirt product priced at $25" -> name="T-Shirt", regular_price="25.00"
Don't use when: creating a variation of an existing variable product (use woocommerce_create_product_variation)
Error Handling:
Returns "Error: Bad request (400)" if sku is already in use by another product.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sku | No | Stock keeping unit, must be unique in the store | |
| name | Yes | Product name | |
| type | No | Product type (default: simple) | simple |
| status | No | Product status (default: publish) | publish |
| weight | No | Weight as numeric string, in the store's configured weight unit | |
| tag_ids | No | Tag IDs to assign to the product | |
| image_urls | No | Image URLs to attach to the product, in display order | |
| sale_price | No | Sale price as numeric string, e.g. '19.99' | |
| description | No | Full product description (HTML allowed) | |
| category_ids | No | Category IDs to assign to the product | |
| manage_stock | No | Whether to track stock quantity for this product | |
| stock_status | No | Stock status | |
| regular_price | No | Regular price as numeric string, e.g. '29.99' | |
| stock_quantity | No | Stock quantity (only used if manage_stock is true) | |
| response_format | No | Output format: 'markdown' for human-readable text or 'json' for machine-readable structured data | markdown |
| short_description | No | Short product description (HTML allowed) |