CONNECT APP
Build with WooCommerce
Commerce
- API key
MCP
Give your agent WooCommerce tools
Every WooCommerce action is exposed as an MCP tool on Pipedream's remote server. Point a client at it with your end user's ID and Connect resolves that user's WooCommerce account for each tool call — you store no tokens.
// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "woocommerce",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// e.g. run Add Order Note:
const result = await mcp.callTool({
name: "woocommerce-add-order-note",
arguments: {
orderId: 10,
note: "Note",
},
})# access_token: mint a short-lived token with the Connect SDK — see the MCP guide
headers = {
"Authorization": f"Bearer {access_token}",
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", # any stable ID for this user in your system
"x-pd-app-slug": "woocommerce",
}
async with streamablehttp_client("https://remote.mcp.pipedream.net/v3", headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
# e.g. run Add Order Note:
result = await session.call_tool("woocommerce-add-order-note", {
"orderId": 10,
"note": "Note",
})API PROXY
Call the WooCommerce API directly
For an endpoint with no pre-built tool, the Connect proxy forwards your request to the WooCommerce API with the connected user's credentials attached. You store no tokens and write no refresh logic.
const resp = await pd.proxy.get({
externalUserId: "{external_user_id}", // any stable ID for this user in your system
accountId: "apn_xxxxxxx",
url: "https://api.example.com/v1/me",
})
// Any allowed WooCommerce endpoint works here. Pipedream attaches the
// connected account's credentials to the outgoing request.# The path segment is the target URL, URL-safe base64 encoded:
# https://api.example.com/v1/me
curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vdjEvbWU?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
-H "Authorization: Bearer {access_token}" \
-H "x-pd-environment: production"SDK
Run WooCommerce actions from your backend
Connect a user's WooCommerce account once, then run Add Order Note on their behalf from your own code — TypeScript, Python, or plain HTTP.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "woocommerce-add-order-note",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
woocommerce: { authProvisionId: "apn_xxxxxxx" },
orderId: 10,
note: "Note",
},
})from pipedream import Pipedream
pd = Pipedream(
client_id="{oauth_client_id}",
client_secret="{oauth_client_secret}",
project_id="{project_id}",
project_environment="production",
)
result = pd.actions.run(
id="woocommerce-add-order-note",
external_user_id="{external_user_id}", # any stable ID for this user in your system
configured_props={
"woocommerce": {"authProvisionId": "apn_xxxxxxx"},
"orderId": 10,
"note": "Note",
},
)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "woocommerce-add-order-note",
"configured_props": {
"woocommerce": { "authProvisionId": "apn_xxxxxxx" },
"orderId": 10,
"note": "Note"
}
}'TOOLS
WooCommerce actions
On-demand operations your product or agent can configure and run on behalf of a connected user.
-
Add Order Note
actionCreate a new note for an order. See the docsWritev0.0.1 -
Create Customer
actionCreates a new customer. See the docsWritev0.0.3 -
Create Order
actionCreates a new order. See the docsWritev0.0.4 -
Create Product
actionCreates a new product. See the docsWritev0.0.4 -
Create Refund
actionCreate a new refund for an order. See the docsWritev0.0.1 -
Delete Order
actionDelete an existing order. See the docsWritev0.0.1 -
Get Customer
actionRetrieve a specific customer. See the docsRead-onlyv0.0.3 -
Get Order
actionRetrieve a specific order. See the docsRead-onlyv0.0.3 -
Get Order Note
actionRetrieve a specific order note. See the docsRead-onlyv0.0.1 -
Get Product
actionRetrieve a specific product. See the docsRead-onlyv0.0.1 -
List Categories Options
actionRetrieves available options for the Categories field.Read-onlyv0.0.1 -
List Customer Options
actionRetrieves available options for the Customer field.Read-onlyv0.0.1 -
List Order ID Options
actionRetrieves available options for the Order ID field.Read-onlyv0.0.1 -
List Order Notes
actionRetrieve a list of notes for a specific order. See the docsRead-onlyv0.0.1 -
List Orders
actionRetrieve a list of orders. See the docsRead-onlyv0.0.1 -
List Payment Method Options
actionRetrieves available options for the Payment Method field.Read-onlyv0.0.1 -
List Product ID Options
actionRetrieves available options for the Product ID field.Read-onlyv0.0.1 -
List Products
actionRetrieve a list of products. See the docsRead-onlyv0.0.1 -
List Products Options
actionRetrieves available options for the Products field.Read-onlyv0.0.1 -
Search Customers
actionFinds a customer by searching. See the docsRead-onlyv0.0.5 -
Update Order Status
actionUpdate the status of a specific order. See the docsWritev0.0.3 -
Update Product
actionUpdates a product. See the docsWritev0.0.4
EVENTS
WooCommerce triggers
Event sources your backend can deploy for users and receive through a webhook.
-
New Coupon Event (Instant)
triggerEmit new event each time the specified coupon event(s) occurInstantv0.0.4 -
New Customer Event (Instant)
triggerEmit new event each time the specified customer event(s) occurInstantv0.0.4 -
New Order Event (Instant)
triggerEmit new event each time the specified order event(s) occurInstantv0.0.5 -
New Product Event (Instant)
triggerEmit new event each time the specified product event(s) occurInstantv0.0.4
MULTI-APP
Use WooCommerce with other popular apps
Most products don't stop at one integration. Pair WooCommerce with the other apps your users rely on, and ship use cases that span both.
- App slug
- woocommerce
- Authentication
- API key
- Categories
- Commerce
- Actions
- 22
- Triggers
- 4
- API proxy
- Available