Reference · Tools
WooCommerce
Manage products, orders, and customers on a WooCommerce store
The WooCommerce node manages products, orders and customers on a WooCommerce store through REST API v3. A typical build is syncing new orders into fulfilment and updating stock levels back on the store as items ship.
- Node type
- Action
- Parameters
- 41
- Outputs
- Output, Error
- Credentials
- WooCommerce API
WooCommerce
Manage products, orders, and customers on WooCommerce
Overview
WooCommerce is an open-source e-commerce plugin for WordPress. This tool interacts with the WooCommerce REST API v3 to create, read, update, and delete products, orders, and customers. It supports Basic Auth and query parameter authentication, page-based pagination for listing operations, and handles all standard WooCommerce data structures including line items, billing/shipping addresses, coupons, fees, metadata, and product attributes.
Category: Sales
Tool Name: woocommerce
Version: 1
Appearance: Icon: si-woocommerce | Color: #96588a
Node Type
Action — processes input items and produces output
Input / Output
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires WooCommerce API credentials. See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|---|
| Customer | customer |
| Order | order |
| Product | product |
Operations
All three resources offer the same five operations. Pick the resource first, then the operation.
| Operation | Value |
|---|---|
| Create | create |
| Delete | delete |
| Get | get |
| Get Many | getAll |
| Update | update |
Parameters
Fixed collections nest their entries under a group key — dimensionsValues, imagesValues, metadataValues, billingValues, shippingValues, lineItemsValues, couponLinesValues, feeLinesValues, shippingLinesValues. Dimensions, Billing and Shipping hold a single record each; the others hold a list.
Product: Create
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Name | string | Yes | — | Product name. |
Additional Fields (additionalFields) | collection | No | {} | Optional properties to set on the new product. |
| — Backorders | options | No | no | If managing stock, this controls if backorders are allowed. |
Options: no, notify, yes | ||||
— Button Text (buttonText) | string | No | — | Product external button text. Only for external products. |
— Catalog Visibility (catalogVisibility) | options | No | visible | — |
Options: catalog, hidden, search, visible | ||||
| — Categories | string | No | — | Comma-separated list of category IDs. Find IDs in WooCommerce admin under Products > Categories. |
— Cross Sell IDs (crossSellIds) | string | No | — | Comma-separated list of cross-sell product IDs. |
— Date On Sale From (dateOnSaleFrom) | string | No | — | Start date of sale price, in the site timezone (ISO8601). |
— Date On Sale To (dateOnSaleTo) | string | No | — | End date of sale price, in the site timezone (ISO8601). |
| — Description | string | No | — | Product description. |
| — Downloadable | boolean | No | false | Whether the product is downloadable. |
— External URL (externalUrl) | string | No | — | Product external URL. Only for external products. |
| — Featured | boolean | No | false | Whether the product is featured. |
— Manage Stock (manageStock) | boolean | No | false | Whether stock management is enabled at product level. |
— Menu Order (menuOrder) | number | No | 1 | Menu order, used to custom sort products. |
— Parent ID (parentId) | string | No | — | Product parent ID. |
— Purchase Note (purchaseNote) | string | No | — | Optional note to send the customer after purchase. |
— Regular Price (regularPrice) | string | No | — | Product regular price. |
— Reviews Allowed (reviewsAllowed) | boolean | No | true | Whether to allow reviews. |
— Sale Price (salePrice) | string | No | — | Product sale price. |
— Shipping Class (shippingClass) | string | No | — | Shipping class slug. |
— Short Description (shortDescription) | string | No | — | Product short description. |
| — SKU | string | No | — | Unique product identifier. |
| — Slug | string | No | — | Product slug. |
— Sold Individually (soldIndividually) | boolean | No | false | Whether to allow one item to be bought in a single order. |
| — Status | options | No | publish | Product status. |
Options: draft, pending, private, publish | ||||
— Stock Quantity (stockQuantity) | number | No | 1 | Stock quantity. |
— Stock Status (stockStatus) | options | No | instock | Controls the stock status of the product. |
Options: instock, outofstock, onbackorder | ||||
| — Tags | string | No | — | Comma-separated list of tag IDs. Find IDs in WooCommerce admin under Products > Tags. |
— Tax Class (taxClass) | string | No | — | Product tax class. |
— Tax Status (taxStatus) | options | No | taxable | — |
Options: taxable, shipping, none | ||||
| — Type | options | No | simple | Product type. |
Options: simple, grouped, external, variable | ||||
— Upsell IDs (upsellIds) | string | No | — | Comma-separated list of up-sell product IDs. |
| — Virtual | boolean | No | false | Whether the product is virtual. |
| — Weight | string | No | — | Product weight. |
Dimensions (dimensionsUi) | fixedCollection | No | {} | Product dimensions. Holds one record under dimensionsValues. |
| — Height | string | No | — | — |
| — Length | string | No | — | — |
| — Width | string | No | — | — |
Images (imagesUi) | fixedCollection | No | {} | Product images (by URL). Holds a list under imagesValues. |
| — Alt | string | No | — | Image alternative text. |
| — Src | string | No | — | Image URL. |
| — Name | string | No | — | Image name. |
Metadata (metadataUi) | fixedCollection | No | {} | Product metadata. Holds a list under metadataValues. |
| — Key | string | No | — | — |
| — Value | string | No | — | — |
Product: Update
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Product ID (productId) | string | Yes | — | ID of the product to update. |
Update Fields (updateFields) | collection | No | {} | Product fields to change. Only the fields you add are sent. |
| — Backorders | options | No | no | — |
Options: no, notify, yes | ||||
— Button Text (buttonText) | string | No | — | — |
— Catalog Visibility (catalogVisibility) | options | No | visible | — |
Options: visible, catalog, search, hidden | ||||
| — Categories | string | No | — | Comma-separated list of category IDs. |
— Cross Sell IDs (crossSellIds) | string | No | — | — |
— Date On Sale From (dateOnSaleFrom) | string | No | — | — |
— Date On Sale To (dateOnSaleTo) | string | No | — | — |
| — Description | string | No | — | — |
| — Downloadable | boolean | No | false | — |
— External URL (externalUrl) | string | No | — | — |
| — Featured | boolean | No | false | — |
— Manage Stock (manageStock) | boolean | No | false | — |
— Menu Order (menuOrder) | number | No | 1 | — |
| — Name | string | No | — | Product name. |
— Parent ID (parentId) | string | No | — | — |
— Purchase Note (purchaseNote) | string | No | — | — |
— Regular Price (regularPrice) | string | No | — | — |
— Reviews Allowed (reviewsAllowed) | boolean | No | true | — |
— Sale Price (salePrice) | string | No | — | — |
— Shipping Class (shippingClass) | string | No | — | — |
— Short Description (shortDescription) | string | No | — | — |
| — SKU | string | No | — | — |
| — Slug | string | No | — | — |
— Sold Individually (soldIndividually) | boolean | No | false | — |
| — Status | options | No | publish | — |
Options: draft, pending, private, publish | ||||
— Stock Quantity (stockQuantity) | number | No | 1 | — |
— Stock Status (stockStatus) | options | No | instock | — |
Options: instock, outofstock, onbackorder | ||||
| — Tags | string | No | — | Comma-separated list of tag IDs. |
— Tax Class (taxClass) | string | No | — | — |
— Tax Status (taxStatus) | options | No | taxable | — |
Options: taxable, shipping, none | ||||
| — Type | options | No | simple | — |
Options: simple, grouped, external, variable | ||||
— Upsell IDs (upsellIds) | string | No | — | — |
| — Virtual | boolean | No | false | — |
| — Weight | string | No | — | — |
Dimensions (dimensionsUi) | fixedCollection | No | {} | Product dimensions. Holds one record under dimensionsValues. |
| — Height | string | No | — | — |
| — Length | string | No | — | — |
| — Width | string | No | — | — |
Images (imagesUi) | fixedCollection | No | {} | Product images (by URL). Holds a list under imagesValues. |
| — Alt | string | No | — | Image alternative text. |
| — Src | string | No | — | Image URL. |
| — Name | string | No | — | Image name. |
Metadata (metadataUi) | fixedCollection | No | {} | Product metadata. Holds a list under metadataValues. |
| — Key | string | No | — | — |
| — Value | string | No | — | — |
Product: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Product ID (productId) | string | Yes | — | ID of the product to retrieve. |
Product: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 50 | Max number of results to return. Accepts 1–100. (shown when Return All is false) |
Options (options) | collection | No | {} | Query filters for the product list. |
| — After | string | No | — | Limit response to resources published after a given ISO8601 date. |
| — Before | string | No | — | Limit response to resources published before a given ISO8601 date. |
| — Category | string | No | — | Category ID to filter by. Find IDs in WooCommerce admin under Products > Categories. |
| — Context | options | No | view | Scope under which the request is made. |
Options: view, embed, edit | ||||
| — Featured | boolean | No | false | Whether to limit to featured products. |
— Max Price (maxPrice) | string | No | — | Limit result set to products based on a maximum price. |
— Min Price (minPrice) | string | No | — | Limit result set to products based on a minimum price. |
| — Order | options | No | desc | — |
Options: asc, desc | ||||
— Order By (orderBy) | options | No | id | — |
Options: date, id, include, slug, title | ||||
| — Search | string | No | — | Limit results to those matching a string. |
| — SKU | string | No | — | Limit result set to products with a specific SKU. |
| — Slug | string | No | — | Limit result set to products with a specific slug. |
| — Status | options | No | any | — |
Options: any, draft, pending, private, publish | ||||
— Stock Status (stockStatus) | options | No | — | — |
Options: instock, outofstock, onbackorder | ||||
| — Tag | string | No | — | Tag ID to filter by. Find IDs in WooCommerce admin under Products > Tags. |
— Tax Class (taxClass) | options | No | — | — |
Options: standard, reduced-rate, zero-rate | ||||
| — Type | options | No | simple | — |
Options: simple, grouped, external, variable |
Product: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Product ID (productId) | string | Yes | — | ID of the product to delete. |
Order: Create
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Additional Fields (additionalFields) | collection | No | {} | Optional properties to set on the new order. |
| — Currency | string | No | — | Currency the order was created with (e.g. USD, EUR). |
— Customer ID (customerId) | string | No | — | User ID who owns the order. 0 for guests. |
— Customer Note (customerNote) | string | No | — | Note left by customer during checkout. |
— Parent ID (parentId) | string | No | — | Parent order ID. |
— Payment Method ID (paymentMethodId) | string | No | — | Payment method ID (e.g. bacs, cheque, cod, paypal). |
— Payment Method Title (paymentMethodTitle) | string | No | — | Payment method title. |
— Set Paid (setPaid) | boolean | No | false | Whether the order is paid. Will set status to processing and reduce stock. |
| — Status | options | No | pending | Order status. |
Options: cancelled, completed, failed, on-hold, pending, processing, refunded, trash | ||||
— Transaction ID (transactionID) | string | No | — | Unique transaction ID. |
Billing (billingUi) | fixedCollection | No | {} | Billing address. Holds one record under billingValues. |
— First Name (firstName) | string | No | — | — |
— Last Name (lastName) | string | No | — | — |
| — Company | string | No | — | — |
— Address Line 1 (address_1) | string | No | — | — |
— Address Line 2 (address_2) | string | No | — | — |
| — City | string | No | — | — |
— Postal Code (postcode) | string | No | — | — |
| — Country | string | No | — | — |
string | No | — | — | |
| — Phone | string | No | — | — |
Shipping (shippingUi) | fixedCollection | No | {} | Shipping address. Holds one record under shippingValues. |
— First Name (firstName) | string | No | — | — |
— Last Name (lastName) | string | No | — | — |
| — Company | string | No | — | — |
— Address Line 1 (address_1) | string | No | — | — |
— Address Line 2 (address_2) | string | No | — | — |
| — City | string | No | — | — |
— Postal Code (postcode) | string | No | — | — |
| — Country | string | No | — | — |
Line Items (lineItemsUi) | fixedCollection | No | {} | Line item data. Holds a list under lineItemsValues. |
| — Name | string | No | — | Product name. |
— Product ID (productId) | number | No | 0 | — |
— Variation ID (variationId) | number | No | 0 | Variation ID, if applicable. |
| — Quantity | number | No | 1 | — |
— Tax Class (taxClass) | string | No | — | — |
| — Subtotal | string | No | — | Line subtotal (before discounts). |
| — Total | string | No | — | Line total (after discounts). |
Coupon Lines (couponLinesUi) | fixedCollection | No | {} | Coupon line data. Holds a list under couponLinesValues. |
| — Code | string | No | — | Coupon code. |
Fee Lines (feeLinesUi) | fixedCollection | No | {} | Fee line data. Holds a list under feeLinesValues. |
| — Name | string | No | — | Fee name. |
— Tax Class (taxClass) | string | No | — | — |
— Tax Status (taxStatus) | options | No | taxable | — |
Options: taxable, none | ||||
| — Total | string | No | — | Line total. |
Shipping Lines (shippingLinesUi) | fixedCollection | No | {} | Shipping line data. Holds a list under shippingLinesValues. |
— Method Title (methodTitle) | string | No | — | Shipping method name. |
— Method ID (methodId) | string | No | — | Shipping method ID. |
| — Total | string | No | — | Line total. |
Metadata (metadataUi) | fixedCollection | No | {} | Order metadata. Holds a list under metadataValues. |
| — Key | string | No | — | — |
| — Value | string | No | — | — |
Order: Update
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Order ID (orderId) | string | Yes | — | ID of the order to update. |
Update Fields (updateFields) | collection | No | {} | Order fields to change. Only the fields you add are sent. |
| — Currency | string | No | — | — |
— Customer ID (customerId) | string | No | — | — |
— Customer Note (customerNote) | string | No | — | — |
— Parent ID (parentId) | string | No | — | — |
— Payment Method ID (paymentMethodId) | string | No | — | — |
— Payment Method Title (paymentMethodTitle) | string | No | — | — |
| — Status | options | No | pending | — |
Options: cancelled, completed, failed, on-hold, pending, processing, refunded, trash | ||||
— Transaction ID (transactionID) | string | No | — | — |
Billing (billingUi) | fixedCollection | No | {} | Billing address. Holds one record under billingValues. |
— First Name (firstName) | string | No | — | — |
— Last Name (lastName) | string | No | — | — |
| — Company | string | No | — | — |
— Address Line 1 (address_1) | string | No | — | — |
— Address Line 2 (address_2) | string | No | — | — |
| — City | string | No | — | — |
— Postal Code (postcode) | string | No | — | — |
| — Country | string | No | — | — |
string | No | — | — | |
| — Phone | string | No | — | — |
Shipping (shippingUi) | fixedCollection | No | {} | Shipping address. Holds one record under shippingValues. |
— First Name (firstName) | string | No | — | — |
— Last Name (lastName) | string | No | — | — |
| — Company | string | No | — | — |
— Address Line 1 (address_1) | string | No | — | — |
— Address Line 2 (address_2) | string | No | — | — |
| — City | string | No | — | — |
— Postal Code (postcode) | string | No | — | — |
| — Country | string | No | — | — |
Line Items (lineItemsUi) | fixedCollection | No | {} | Line item data. Holds a list under lineItemsValues. |
| — Name | string | No | — | Product name. |
— Product ID (productId) | number | No | 0 | — |
— Variation ID (variationId) | number | No | 0 | Variation ID, if applicable. |
| — Quantity | number | No | 1 | — |
— Tax Class (taxClass) | string | No | — | — |
| — Subtotal | string | No | — | Line subtotal (before discounts). |
| — Total | string | No | — | Line total (after discounts). |
Coupon Lines (couponLinesUi) | fixedCollection | No | {} | Coupon line data. Holds a list under couponLinesValues. |
| — Code | string | No | — | Coupon code. |
Fee Lines (feeLinesUi) | fixedCollection | No | {} | Fee line data. Holds a list under feeLinesValues. |
| — Name | string | No | — | Fee name. |
— Tax Class (taxClass) | string | No | — | — |
— Tax Status (taxStatus) | options | No | taxable | — |
Options: taxable, none | ||||
| — Total | string | No | — | Line total. |
Shipping Lines (shippingLinesUi) | fixedCollection | No | {} | Shipping line data. Holds a list under shippingLinesValues. |
— Method Title (methodTitle) | string | No | — | Shipping method name. |
— Method ID (methodId) | string | No | — | Shipping method ID. |
| — Total | string | No | — | Line total. |
Metadata (metadataUi) | fixedCollection | No | {} | Order metadata. Holds a list under metadataValues. |
| — Key | string | No | — | — |
| — Value | string | No | — | — |
Order: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Order ID (orderId) | string | Yes | — | ID of the order to retrieve. |
Order: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 50 | Max number of results to return. Accepts 1–100. (shown when Return All is false) |
Options (options) | collection | No | {} | Query filters for the order list. |
| — After | string | No | — | Limit response to resources published after a given ISO8601 date. |
| — Before | string | No | — | Limit response to resources published before a given ISO8601 date. |
| — Customer | string | No | — | Customer ID to filter by. |
— Decimal Points (decimalPoints) | number | No | 2 | Number of decimal points to use in each resource. Accepts 0–10. |
| — Order | options | No | desc | — |
Options: asc, desc | ||||
— Order By (orderBy) | options | No | id | — |
Options: date, id, include, slug, title | ||||
| — Product | string | No | — | Product ID to filter orders by. |
| — Search | string | No | — | — |
| — Status | options | No | any | — |
Options: any, cancelled, completed, failed, on-hold, pending, processing, refunded, trash |
Order: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Order ID (orderId) | string | Yes | — | ID of the order to delete. |
Customer: Create
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
string | Yes | — | Customer email address. | |
Additional Fields (additionalFields) | collection | No | {} | Optional properties to set on the new customer. |
— Billing Address (billing) | collection | No | {} | — |
— — First Name (first_name) | string | No | — | — |
— — Last Name (last_name) | string | No | — | — |
| — — Company | string | No | — | — |
— — Address 1 (address_1) | string | No | — | — |
— — Address 2 (address_2) | string | No | — | — |
| — — City | string | No | — | — |
| — — State | string | No | — | — |
| — — Postcode | string | No | — | — |
| — — Country | string | No | — | — |
string | No | — | — | |
| — — Phone | string | No | — | — |
— First Name (first_name) | string | No | — | — |
— Last Name (last_name) | string | No | — | — |
— Metadata (meta_data) | fixedCollection | No | {} | Holds a list under meta_data_fields. |
| — — Key | string | No | — | — |
| — — Value | string | No | — | — |
| — Password | string | No | — | — |
— Shipping Address (shipping) | collection | No | {} | — |
— — First Name (first_name) | string | No | — | — |
— — Last Name (last_name) | string | No | — | — |
| — — Company | string | No | — | — |
— — Address 1 (address_1) | string | No | — | — |
— — Address 2 (address_2) | string | No | — | — |
| — — City | string | No | — | — |
| — — State | string | No | — | — |
| — — Postcode | string | No | — | — |
| — — Country | string | No | — | — |
string | No | — | — | |
| — — Phone | string | No | — | — |
| — Username | string | No | — | — |
Customer: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Customer ID (customerId) | string | Yes | — | ID of the customer to delete. |
Customer: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Customer ID (customerId) | string | Yes | — | ID of the customer to retrieve. |
Customer: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 50 | Max number of results to return. (shown when Return All is false) |
Filters (filters) | collection | No | {} | Query filters for the customer list. |
string | No | — | Email address to filter customers by. | |
— Sort Order (order) | options | No | asc | — |
Options: asc (Ascending), desc (Descending) | ||||
— Order By (orderby) | options | No | id | — |
Options: id, include, name, registered_date |
Customer: Update
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Customer ID (customerId) | string | Yes | — | ID of the customer to update. |
Update Fields (updateFields) | collection | No | {} | Customer fields to change. Only the fields you add are sent. |
— Billing Address (billing) | collection | No | {} | — |
— — First Name (first_name) | string | No | — | — |
— — Last Name (last_name) | string | No | — | — |
| — — Company | string | No | — | — |
— — Address 1 (address_1) | string | No | — | — |
— — Address 2 (address_2) | string | No | — | — |
| — — City | string | No | — | — |
| — — State | string | No | — | — |
| — — Postcode | string | No | — | — |
| — — Country | string | No | — | — |
string | No | — | — | |
| — — Phone | string | No | — | — |
— First Name (first_name) | string | No | — | — |
— Last Name (last_name) | string | No | — | — |
— Metadata (meta_data) | fixedCollection | No | {} | Holds a list under meta_data_fields. |
| — — Key | string | No | — | — |
| — — Value | string | No | — | — |
— Shipping Address (shipping) | collection | No | {} | — |
— — First Name (first_name) | string | No | — | — |
— — Last Name (last_name) | string | No | — | — |
| — — Company | string | No | — | — |
— — Address 1 (address_1) | string | No | — | — |
— — Address 2 (address_2) | string | No | — | — |
| — — City | string | No | — | — |
| — — State | string | No | — | — |
| — — Postcode | string | No | — | — |
| — — Country | string | No | — | — |
string | No | — | — | |
| — — Phone | string | No | — | — |
All Operations
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Max Concurrency | number | No | 10 | Maximum number of items to process concurrently. Accepts 1–100. |
Output Data
The WooCommerce record replaces the output item’s JSON — it is not merged onto the input item. Nothing the input item carried in json survives this node, so read any upstream value you still need before it, or branch around the node. Binary data on the input item is forwarded unchanged onto every output item.
| Operations | Output |
|---|---|
| Get Many on products, orders and customers | One output item per record returned. Turn Return All on to page through the store; leave it off and Limit caps the result. A page with no records produces no output items for that input. |
| Create, Get and Update on products, orders and customers | One output item whose JSON is the WooCommerce object — {{ $json.id }} is the record ID. |
| Delete on products, orders and customers | One output item whose JSON is the deleted record as WooCommerce returned it. Deletes are permanent rather than moved to trash. |
Creating an order or a customer is protected against duplicates: the node first looks for a record already tagged with an identifier unique to that execution, node and input item, and returns the existing record instead of creating a second one. Product creation has no such guard, so a retried product create can produce a duplicate.
Usage Examples
- Create a new WooCommerce product with name and price
- List all WooCommerce orders with status processing
- Update a customer billing address in WooCommerce
- Delete a WooCommerce product by ID
- Get all WooCommerce customers filtered by email
Example Configuration
Create a published product with dimensions, an image and custom metadata:
{
"type": "woocommerce",
"parameters": {
"resource": "product",
"operation": "create",
"name": "Amazing Widget",
"additionalFields": {
"regularPrice": "29.99",
"salePrice": "24.99",
"sku": "WIDGET-001",
"status": "publish",
"type": "simple",
"description": "An amazing widget that does everything",
"stockQuantity": 50,
"manageStock": true
},
"dimensionsUi": {
"dimensionsValues": {
"height": "5",
"length": "10",
"width": "8"
}
},
"imagesUi": {
"imagesValues": [
{
"src": "https://example.com/widget.jpg",
"alt": "Amazing Widget",
"name": "widget-main"
}
]
},
"metadataUi": {
"metadataValues": [
{ "key": "warranty", "value": "2 years" }
]
}
}
}
Create a processing order with a billing address and one line item:
{
"type": "woocommerce",
"parameters": {
"resource": "order",
"operation": "create",
"additionalFields": {
"customerId": "{{ $json.customerId }}",
"status": "processing",
"currency": "USD",
"paymentMethodTitle": "Credit Card"
},
"billingUi": {
"billingValues": {
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com",
"phone": "555-1234",
"address_1": "123 Main St",
"city": "New York",
"postcode": "10001",
"country": "US"
}
},
"lineItemsUi": {
"lineItemsValues": [
{ "productId": 456, "quantity": 2, "total": "59.98" }
]
}
}
}
List the twenty newest published, featured products:
{
"type": "woocommerce",
"parameters": {
"resource": "product",
"operation": "getAll",
"returnAll": false,
"limit": 20,
"options": {
"status": "publish",
"featured": true,
"orderBy": "date",
"order": "desc"
}
}
}
Move an order to completed:
{
"type": "woocommerce",
"parameters": {
"resource": "order",
"operation": "update",
"orderId": "{{ $json.id }}",
"updateFields": {
"status": "completed"
}
}
}
Update a customer’s name and billing details:
{
"type": "woocommerce",
"parameters": {
"resource": "customer",
"operation": "update",
"customerId": "{{ $json.id }}",
"updateFields": {
"first_name": "Jane",
"last_name": "Smith",
"billing": {
"phone": "555-9999",
"address_1": "456 Oak Ave"
}
}
}
}
Find a customer by email:
{
"type": "woocommerce",
"parameters": {
"resource": "customer",
"operation": "getAll",
"returnAll": false,
"limit": 10,
"filters": {
"email": "{{ $json.email }}",
"orderby": "registered_date",
"order": "desc"
}
}
}
Error Handling
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Manage WooCommerce store products, orders, and customers via the REST API v3.
Product Management Workflow
- Create with the product name plus Additional Fields for price, SKU, stock and status.
- Add photos through Images — each entry is a URL WooCommerce fetches, not a file upload.
- Set Dimensions and Weight so shipping rates calculate correctly.
- Update inventory later by sending only
stockQuantityandstockStatusin Update Fields.
Order Processing Workflow
- Create the order with Line Items and the customer’s Billing address; Shipping may differ.
- Apply discounts through Coupon Lines, and add surcharges through Fee Lines.
- Shipping Lines records the method and its cost on the order.
- Update the order’s Status as it moves through fulfilment.
Structuring Collections
- Additional Fields, Update Fields, Options and Filters are flat objects keyed by the sub-field’s internal name.
- Every fixed collection nests under its group key. Dimensions, Billing and Shipping take a single object; Images, Metadata, Line Items, Coupon Lines, Fee Lines and Shipping Lines take an array.
- Category and tag fields want numeric IDs, not names — find them in WooCommerce admin under Products > Categories and Products > Tags.
Frequently asked questions
How do I add product photos?
Through the Images collection — each entry is a URL that WooCommerce fetches, not a file upload. Host the image somewhere reachable first.
What does a product creation need?
The product name, plus Additional Fields for price, SKU, stock and status. Set Dimensions and Weight too so shipping rates calculate correctly.
How do I react to store events?
Use the WooCommerce Trigger, which fires on order, product, customer and coupon events with HMAC-SHA256 verification.
Which credential does it need?
A WooCommerce API credential with consumer key and secret.
Build with the WooCommerce node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need WooCommerce API credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.