WooCommerce
E-Commerce integration · 21 node(s) including 1 trigger.
00Overview
Manage customers, orders, products, and coupons in your WooCommerce store
Every field below is exactly what you see in the Flomation editor. Fields marked ● live picker let you choose from a list pulled live from your account — no IDs to look up.
01Connecting WooCommerce
Add your credentials as a Flomation environment secret, then pick them in each node. The connection fields are:
| Field | Type | Details | |
|---|---|---|---|
| Consumer Key | secret | Required | ck_... |
| Consumer Secret | secret | Required | cs_... |
${secrets.your_secret}.02Coupon
WooCommerce: Create Coupon
ecommerce/woocommerce/coupon_create · Action
Create a discount coupon in your WooCommerce store, setting its code, discount type and amount plus any usage or product restrictions.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Coupon Code | string | Required | SAVE10 |
| Discount Type | string | choices: Percentage, Fixed Cart Discount, Fixed Product Discount | |
| Amount | string | 10 — a percentage or fixed amount depending on Discount Type | |
| Description | text | ||
| Expiry Date | datetime | ||
| Minimum Spend | string | ||
| Maximum Spend | string | ||
| Individual Use Only | boolean | Cannot be used in combination with any other coupon | |
| Exclude Sale Items | boolean | ||
| Allow Free Shipping | boolean | ||
| Usage Limit | integer | How many times this coupon can be used in total | |
| Usage Limit Per User | integer | ||
| Limit Usage to X Items | integer | Max number of qualifying items the coupon can apply to | |
| Product IDs | string | Comma-separated product IDs the coupon applies to | |
| Excluded Product IDs | string | Comma-separated product IDs the coupon will not apply to | |
| Product Category IDs | string | Comma-separated category IDs the coupon applies to | |
| Excluded Product Category IDs | string | Comma-separated category IDs the coupon will not apply to | |
| Email Restrictions (JSON) | object | ["jane@example.com"] | |
| Metadata (JSON) | object | [{"key":"source","value":"web"}] | |
| Additional Fields (JSON) | object | {"date_expires_gmt":"2026-12-31T23:59:59"} |
Returns: id, result, tool_result, success, error
WooCommerce: Delete Coupon
ecommerce/woocommerce/coupon_delete · Action
Delete a coupon from your WooCommerce store. Deletes permanently by default; turn off Force Delete to move it to the trash instead.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Coupon ID | string | Required | 123 |
| Force Delete | boolean | On (default): delete permanently. Off: move to trash. |
Returns: id, result, tool_result, success, error
WooCommerce: Get Coupon
ecommerce/woocommerce/coupon_get · Action
Retrieve a single coupon from your WooCommerce store by ID.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Coupon ID | string | Required | 123 |
Returns: id, result, tool_result, success, error
WooCommerce: Get Many Coupons
ecommerce/woocommerce/coupon_get_all · Action
List coupons from your WooCommerce store, with optional filters. Enable Return All to auto-paginate every matching coupon.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Return All (auto-paginate every match) | boolean | ||
| Limit (per page) | integer | 50 per page (max 100); Return All still fetches every match | |
| Page | integer | Page number to fetch (ignored when Return All is on) | |
| Search | string | ||
| Created After | datetime | ||
| Created Before | datetime | ||
| Coupon Code | string | Limit to the coupon with this exact code | |
| Sort Order | string | choices: Descending, Ascending | |
| Order By | string | choices: Date, ID, Include, Title, Slug | |
| Include IDs | string | Comma-separated coupon IDs to include | |
| Exclude IDs | string | Comma-separated coupon IDs to exclude | |
| Offset | integer | Number of results to skip (ignored when Return All is on) |
Returns: results, count, total, total_pages, tool_result, success, error
WooCommerce: Update Coupon
ecommerce/woocommerce/coupon_update · Action
Update an existing coupon in your WooCommerce store. Only the fields you set are changed; add any other coupon field via Additional Fields.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Coupon ID | string | Required | 123 |
| Coupon Code | string | SAVE10 | |
| Discount Type | string | choices: Percentage, Fixed Cart Discount, Fixed Product Discount | |
| Amount | string | 10 — a percentage or fixed amount depending on Discount Type | |
| Description | text | ||
| Expiry Date | datetime | ||
| Minimum Spend | string | ||
| Maximum Spend | string | ||
| Individual Use Only | boolean | Cannot be used in combination with any other coupon | |
| Exclude Sale Items | boolean | ||
| Allow Free Shipping | boolean | ||
| Usage Limit | integer | How many times this coupon can be used in total | |
| Usage Limit Per User | integer | ||
| Limit Usage to X Items | integer | Max number of qualifying items the coupon can apply to | |
| Product IDs | string | Comma-separated product IDs the coupon applies to | |
| Excluded Product IDs | string | Comma-separated product IDs the coupon will not apply to | |
| Product Category IDs | string | Comma-separated category IDs the coupon applies to | |
| Excluded Product Category IDs | string | Comma-separated category IDs the coupon will not apply to | |
| Email Restrictions (JSON) | object | ["jane@example.com"] | |
| Metadata (JSON) | object | [{"key":"source","value":"web"}] | |
| Additional Fields (JSON) | object |
Returns: id, result, tool_result, success, error
03Customer
WooCommerce: Create Customer
ecommerce/woocommerce/customer_create · Action
Create a customer in your WooCommerce store. Set common fields directly or add any other customer field via Additional Fields.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
string | Required | jane@example.com | |
| First Name | string | ||
| Last Name | string | ||
| Username | string | ||
| Password | secret | ||
| Role | string | choices: Customer, Subscriber, Contributor, Author, Editor, Shop Manager, Administrator | |
| Billing Address (JSON) | object | {"first_name":"Jane","address_1":"1 Main St","city":"London","postcode":"SW1","country":"GB","email":"jane@example.com"} | |
| Shipping Address (JSON) | object | {"first_name":"Jane","last_name":"Doe","address_1":"1 Main St","city":"London","postcode":"SW1","country":"GB"} | |
| Metadata (JSON) | object | [{"key":"vip","value":"yes"}] | |
| Additional Fields (JSON) | object | {"created_via":"api"} |
Returns: id, result, tool_result, success, error
WooCommerce: Delete Customer
ecommerce/woocommerce/customer_delete · Action
Delete a customer from your WooCommerce store permanently (customers cannot be moved to the trash).
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Customer ID | string | Required | 123 |
Returns: id, result, tool_result, success, error
WooCommerce: Get Customer
ecommerce/woocommerce/customer_get · Action
Retrieve a single customer from your WooCommerce store by ID.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Customer ID | string | Required | 123 |
Returns: id, result, tool_result, success, error
WooCommerce: Get Many Customers
ecommerce/woocommerce/customer_get_all · Action
List customers from your WooCommerce store, with optional filters. Enable Return All to auto-paginate every matching customer.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Return All (auto-paginate every match) | boolean | ||
| Limit (per page) | integer | 50 per page (max 100); Return All still fetches every match | |
| Page | integer | Page number to fetch (ignored when Return All is on) | |
| Search | string | ||
string | Limit to the customer with this email | ||
| Role | string | choices: Any, Customer, Subscriber, Administrator, Shop Manager, Editor, Author, Contributor | |
| Sort Order | string | choices: Descending, Ascending | |
| Order By | string | choices: Registered Date, ID, Include, Name | |
| Include IDs | string | Comma-separated customer IDs to include | |
| Exclude IDs | string | Comma-separated customer IDs to exclude | |
| Offset | integer | Number of customers to skip (ignored when Return All is on) |
Returns: results, count, total, total_pages, tool_result, success, error
WooCommerce: Update Customer
ecommerce/woocommerce/customer_update · Action
Update an existing customer in your WooCommerce store. Only the fields you set are changed; add any other customer field via Additional Fields.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Customer ID | string | Required | 123 |
| First Name | string | ||
| Last Name | string | ||
string | jane@example.com | ||
| Password | secret | ||
| Role | string | choices: Customer, Subscriber, Contributor, Author, Editor, Shop Manager, Administrator | |
| Billing Address (JSON) | object | {"first_name":"Jane","address_1":"1 Main St","city":"London","postcode":"SW1","country":"GB","email":"jane@example.com"} | |
| Shipping Address (JSON) | object | {"first_name":"Jane","last_name":"Doe","address_1":"1 Main St","city":"London","postcode":"SW1","country":"GB"} | |
| Metadata (JSON) | object | [{"key":"vip","value":"yes"}] | |
| Additional Fields (JSON) | object |
Returns: id, result, tool_result, success, error
04Order
WooCommerce: Create Order
ecommerce/woocommerce/order_create · Action
Create an order in your WooCommerce store. Provide line items as JSON; set common fields directly or add any other order field via Additional Fields.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Status | string | choices: Pending Payment, Processing, On Hold, Completed, Cancelled, Refunded, Failed | |
| Currency | string | GBP, USD, EUR (ISO 4217) | |
| Customer ID | string | 0 for a guest order | |
| Customer Note | text | ||
| Parent Order ID | string | ||
| Payment Method ID | string | bacs, cheque, cod, paypal... | |
| Payment Method Title | string | Direct Bank Transfer | |
| Transaction ID | string | ||
| Set Paid | boolean | Mark the order as paid and reduce stock | |
| Line Items (JSON) | object | [{"product_id":93,"quantity":2}] | |
| Billing Address (JSON) | object | {"first_name":"Jane","last_name":"Doe","address_1":"1 Main St","city":"London","postcode":"SW1","country":"GB","email":"jane@example.com"} | |
| Shipping Address (JSON) | object | {"first_name":"Jane","last_name":"Doe","address_1":"1 Main St","city":"London","postcode":"SW1","country":"GB"} | |
| Shipping Lines (JSON) | object | [{"method_id":"flat_rate","method_title":"Flat Rate","total":"5.00"}] | |
| Fee Lines (JSON) | object | [{"name":"Gift Wrap","total":"2.50"}] | |
| Coupon Lines (JSON) | object | [{"code":"SAVE10"}] | |
| Metadata (JSON) | object | [{"key":"source","value":"web"}] | |
| Additional Fields (JSON) | object | {"created_via":"api"} |
Returns: id, result, tool_result, success, error
WooCommerce: Delete Order
ecommerce/woocommerce/order_delete · Action
Delete an order from your WooCommerce store. Deletes permanently by default; turn off Force Delete to move it to the trash instead.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Order ID | string | Required | 123 |
| Force Delete | boolean | On (default): delete permanently. Off: move to trash. |
Returns: id, result, tool_result, success, error
WooCommerce: Get Order
ecommerce/woocommerce/order_get · Action
Retrieve a single order from your WooCommerce store by ID.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Order ID | string | Required | 123 |
Returns: id, result, tool_result, success, error
WooCommerce: Get Many Orders
ecommerce/woocommerce/order_get_all · Action
List orders from your WooCommerce store, with optional filters. Enable Return All to auto-paginate every matching order.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Return All (auto-paginate every match) | boolean | ||
| Limit (per page) | integer | 50 per page (max 100); Return All still fetches every match | |
| Page | integer | Page number to fetch (ignored when Return All is on) | |
| Status | string | choices: Any, Pending Payment, Processing, On Hold, Completed, Cancelled, Refunded, Failed, Trash | |
| Customer ID | string | Limit to orders for this customer ID | |
| Product ID | string | Limit to orders containing this product ID | |
| Search | string | ||
| Created After | datetime | ||
| Created Before | datetime | ||
| Include IDs | string | Comma-separated order IDs to include | |
| Exclude IDs | string | Comma-separated order IDs to exclude | |
| Sort Order | string | choices: Descending, Ascending | |
| Order By | string | choices: Date, ID, Include, Title, Slug | |
| Decimal Points | integer | Number of decimal points in prices (default 2) |
Returns: results, count, total, total_pages, tool_result, success, error
WooCommerce: Update Order
ecommerce/woocommerce/order_update · Action
Update an existing order in your WooCommerce store. Only the fields you set are changed; add any other order field via Additional Fields.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Order ID | string | Required | 123 |
| Status | string | choices: Pending Payment, Processing, On Hold, Completed, Cancelled, Refunded, Failed | |
| Currency | string | GBP, USD, EUR (ISO 4217) | |
| Customer ID | string | ||
| Customer Note | text | ||
| Parent Order ID | string | ||
| Payment Method ID | string | bacs, cheque, cod, paypal... | |
| Payment Method Title | string | ||
| Transaction ID | string | ||
| Set Paid | boolean | ||
| Line Items (JSON) | object | [{"id":13,"quantity":1}] (include id to edit, omit to add) | |
| Billing Address (JSON) | object | ||
| Shipping Address (JSON) | object | ||
| Shipping Lines (JSON) | object | ||
| Fee Lines (JSON) | object | ||
| Coupon Lines (JSON) | object | ||
| Metadata (JSON) | object | [{"key":"source","value":"web"}] | |
| Additional Fields (JSON) | object |
Returns: id, result, tool_result, success, error
05Product
WooCommerce: Create Product
ecommerce/woocommerce/product_create · Action
Create a product in your WooCommerce store. Set common fields directly, supply images/attributes/dimensions as JSON, or add any other product field via Additional Fields.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Name | string | Required | Product name |
| Type | string | choices: Simple, Grouped, External/Affiliate, Variable | |
| Status | string | choices: Published, Draft, Pending, Private | |
| SKU | string | ||
| Regular Price | string | 19.99 | |
| Sale Price | string | ||
| Description | text | ||
| Short Description | text | ||
| Catalog Visibility | string | choices: Shop and Search, Shop Only, Search Only, Hidden | |
| Tax Status | string | choices: Taxable, Shipping Only, None | |
| Tax Class | string | ||
| Stock Status | string | choices: In Stock, Out of Stock, On Backorder | |
| Backorders | string | choices: Do Not Allow, Allow but Notify, Allow | |
| Stock Quantity | integer | ||
| Weight | string | ||
| Slug | string | ||
| External URL | string | For external/affiliate products | |
| Button Text | string | For external/affiliate products | |
| Purchase Note | string | ||
| Menu Order | integer | ||
| Featured | boolean | ||
| Virtual | boolean | ||
| Downloadable | boolean | ||
| Manage Stock | boolean | ||
| Sold Individually | boolean | ||
| Reviews Allowed | boolean | ||
| Category IDs | string | Comma-separated category IDs, e.g. 9,14 | |
| Tag IDs | string | Comma-separated tag IDs, e.g. 3,7 | |
| Dimensions (JSON) | object | {"length":"10","width":"5","height":"2"} | |
| Images (JSON) | object | [{"src":"https://.../img.jpg"}] | |
| Attributes (JSON) | object | [{"name":"Color","options":["Red","Blue"],"visible":true}] | |
| Metadata (JSON) | object | [{"key":"source","value":"web"}] | |
| Additional Fields (JSON) | object | {"catalog_visibility":"hidden"} |
Returns: id, result, tool_result, success, error
WooCommerce: Delete Product
ecommerce/woocommerce/product_delete · Action
Delete a product from your WooCommerce store. Deletes permanently by default; turn off Force Delete to move it to the trash instead.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Product ID | string | Required | 123 |
| Force Delete | boolean | On (default): delete permanently. Off: move to trash. |
Returns: id, result, tool_result, success, error
WooCommerce: Get Product
ecommerce/woocommerce/product_get · Action
Retrieve a single product from your WooCommerce store by ID.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Product ID | string | Required | 123 |
Returns: id, result, tool_result, success, error
WooCommerce: Get Many Products
ecommerce/woocommerce/product_get_all · Action
List products from your WooCommerce store, with optional filters. Enable Return All to auto-paginate every matching product.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Return All (auto-paginate every match) | boolean | ||
| Limit (per page) | integer | 50 per page (max 100); Return All still fetches every match | |
| Page | integer | Page number to fetch (ignored when Return All is on) | |
| Search | string | ||
| Created After | datetime | ||
| Created Before | datetime | ||
| SKU | string | ||
| Type | string | choices: Simple, Grouped, External/Affiliate, Variable | |
| Status | string | choices: Any, Published, Draft, Pending, Private | |
| Category ID | string | ● live picker | Limit to products in this category ID |
| Tag ID | string | ● live picker | Limit to products with this tag ID |
| Featured Only | boolean | ||
| On Sale Only | boolean | ||
| Minimum Price | string | ||
| Maximum Price | string | ||
| Stock Status | string | choices: Any, In Stock, Out of Stock, On Backorder | |
| Sort Order | string | choices: Descending, Ascending | |
| Order By | string | choices: Date, ID, Include, Title, Slug, Price, Popularity, Rating | |
| Include IDs | string | Comma-separated product IDs to include | |
| Exclude IDs | string | Comma-separated product IDs to exclude | |
| Offset | integer | Skip this many results (ignored when Return All is on) |
Returns: results, count, total, total_pages, tool_result, success, error
WooCommerce: Update Product
ecommerce/woocommerce/product_update · Action
Update an existing product in your WooCommerce store. Only the fields you set are changed; add any other product field via Additional Fields.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Product ID | string | Required | 123 |
| Name | string | Product name | |
| Type | string | choices: Simple, Grouped, External/Affiliate, Variable | |
| Status | string | choices: Published, Draft, Pending, Private | |
| SKU | string | ||
| Regular Price | string | 19.99 | |
| Sale Price | string | ||
| Description | text | ||
| Short Description | text | ||
| Catalog Visibility | string | choices: Shop and Search, Shop Only, Search Only, Hidden | |
| Tax Status | string | choices: Taxable, Shipping Only, None | |
| Tax Class | string | ||
| Stock Status | string | choices: In Stock, Out of Stock, On Backorder | |
| Backorders | string | choices: Do Not Allow, Allow but Notify, Allow | |
| Stock Quantity | integer | ||
| Weight | string | ||
| Slug | string | ||
| External URL | string | For external/affiliate products | |
| Button Text | string | For external/affiliate products | |
| Purchase Note | string | ||
| Menu Order | integer | ||
| Featured | boolean | ||
| Virtual | boolean | ||
| Downloadable | boolean | ||
| Manage Stock | boolean | ||
| Sold Individually | boolean | ||
| Reviews Allowed | boolean | ||
| Category IDs | string | Comma-separated category IDs, e.g. 9,14 | |
| Tag IDs | string | Comma-separated tag IDs, e.g. 3,7 | |
| Dimensions (JSON) | object | {"length":"10","width":"5","height":"2"} | |
| Images (JSON) | object | [{"src":"https://.../img.jpg"}] | |
| Attributes (JSON) | object | [{"name":"Color","options":["Red","Blue"],"visible":true}] | |
| Metadata (JSON) | object | [{"key":"source","value":"web"}] | |
| Additional Fields (JSON) | object | {"catalog_visibility":"hidden"} |
Returns: id, result, tool_result, success, error
06Triggers
WooCommerce Webhook Trigger
trigger/woocommerce_webhook · Trigger
Triggers a flow when a WooCommerce event occurs (order/product/customer/coupon created, updated or deleted). The webhook is registered and signature-verified automatically.
| Field | Type | Details | |
|---|---|---|---|
| Store URL | string | Required | https://your-store.com — your store's root URL, not the /wp-json path |
| Send Credentials in Query String | boolean | Enable only if you see a "Consumer key is missing" error | |
| Events | multi_select | Required | choices: Order Created, Order Updated, Order Deleted, Product Created, Product Updated, Product Deleted, Customer Created, Customer Updated, Customer Deleted, Coupon Created, Coupon Updated, Coupon Deleted |
Returns: content, topic, resource, event, resource_id, webhook_id, delivery_id, source, body, triggered_at
07Notes & Limitations
Behaviours and constraints worth knowing before you build with these nodes.
- Deleting a customer is always permanent — customers cannot be moved to the trash, so the Force Delete toggle available on orders, products and coupons does not apply here.
- Force Delete is on by default for orders, products and coupons, so a delete removes the item permanently unless you turn Force Delete off to send it to the trash instead.
- Return All auto-paginates through every matching record; leave it off and a single request returns at most 100 items per page.
- Coupon codes are stored in lowercase by WooCommerce, so a code entered with capital letters will be saved and matched in lowercase form.