Ecommerce

WooCommerce Webhook MCP Server

Connect your account, then chat with AI to run tools.

Point WooCommerce webhook delivery URLs at MCPBundles and inspect order JSON in chat.

Best forWooCommerce Store OwnersEcommerce OperationsAgencies

Try this workflow

Last order webhook

From the latest stored WooCommerce delivery, read export.json id, status, billing.email, total, and summarize line_items name and quantity.

Managed
4 tools
Agent guide included

Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.

Browse all tools

What you can do with WooCommerce Webhook

Built for

WooCommerce Store Owners, Ecommerce Operations, Agencies

Example workflows

Last order webhook

Interprets order resource fields from the most recent JSON payload.

Try this

From the latest stored WooCommerce delivery, read export.json id, status, billing.email, total, and summarize line_items name and quantity.

Dedupe order updates

History scan for retry and update noise on stored order webhooks.

Try this

List recent deliveries and group by export.json id — flag any with the same order id but different date_modified or status.

Context to know first

How do I connect WooCommerce deliveries to MCPBundles?

Save a connection on MCPBundles, copy the hosted ingest URL from the credential panel, and paste it as the delivery URL when creating a webhook in WooCommerce (Settings → Advanced → Webhooks or via the REST API). Your agent reads stored deliveries — latest, history, and content — in chat.

Can an agent trigger a new delivery?

No. Ingest is read-only. Data arrives when WooCommerce sends it; agents query what already landed.

AI Skill
SKILL.md

Domain knowledge for WooCommerce Webhook — workflow patterns, data models, and gotchas for your AI agent.

WooCommerce Webhook

WooCommerce REST webhooks POST a JSON body with Content-Type: application/json. The payload mirrors the WooCommerce REST API resource for the subscribed topic — orders, customers, products, coupons, or custom action hooks. Each delivery is one POST stored as parsed JSON in export.json. Tools read what already landed; there is no pull API and no way to update orders, replay webhooks, or change store state from here.

Upstream also sends topic headers (X-WC-Webhook-Topic, X-WC-Webhook-Resource, X-WC-Webhook-Event, X-WC-Webhook-Delivery-ID) on the HTTP request; the stored export.json is the resource body only — infer topic from payload shape when headers are not in storage.

First moves

  1. Latest report — default for “what order or event arrived last”.
  2. Classify the payload — order objects have line_items and status; customers have email without line items; products have sku / type.
  3. Recent reports — compare id, status, and date_modified when deduping retries or rapid updates.
  4. One report by id — after listing, when the user names a specific delivery.

Webhook topics (typical)

Configured per webhook in WooCommerce admin or REST API:

Topic patternResourceMeaning
order.createdorderNew order
order.updatedorderOrder changed (status, items, addresses)
order.deletedorderOrder removed
order.restoredorderTrashed order restored
customer.created / customer.updatedcustomerCustomer profile change
product.created / product.updatedproductCatalog change
coupon.*couponCoupon lifecycle
action.<hook>actionCustom WordPress action payload

Order fields (export.json)

Order webhooks carry the full order object. Read these first:

Identity and status

  • id — WooCommerce order id (primary dedupe key)
  • parent_id — parent order when this is a refund or subscription child
  • status — e.g. pending, processing, on-hold, completed, cancelled, refunded, failed
  • number — human-facing order number (may differ from id)
  • currency, prices_include_tax, customer_id, customer_note

Timestamps

  • date_created, date_modified, date_completed, date_paid — ISO8601 strings from the store

Totals

  • discount_total, shipping_total, total, total_tax
  • payment_method, payment_method_title, transaction_id

Billing (billing object)

  • first_name, last_name, company
  • address_1, address_2, city, state, postcode, country
  • email, phone

Shipping (shipping object) — same address keys as billing when a physical shipment applies.

Line items (line_items[])

  • id, name, product_id, variation_id, quantity
  • sku, price, subtotal, total, total_tax
  • meta_data — per-line custom fields

Other common blocks

  • shipping_lines[], fee_lines[], coupon_lines[], refunds[]
  • meta_data[] — store-specific custom order fields (key, value)

Customer fields (export.json)

  • id, email, first_name, last_name, username
  • billing, shipping — same shape as order addresses
  • meta_data — custom customer fields

Product fields (export.json)

  • id, name, slug, type (simple, variable, grouped, external)
  • status, sku, price, regular_price, sale_price
  • stock_status, stock_quantity, manage_stock
  • categories[], tags[], images[], attributes[], variations[]

Response shape

  • export.json — parsed webhook JSON (preferred for order, buyer, and line-item questions).
  • export.text — raw body when JSON is large or non-object.
  • source.captured_at — when the POST landed here; compare to date_modified inside JSON for upstream timing.

Operational order

  1. Start with the latest report — do not guess a report id.
  2. Read id and status (orders) or email (customers) before quoting amounts or buyer details.
  3. If captured_at is older than expected, say so — webhooks fire when store events happen upstream.
  4. List recent reports only for history, duplicate suspicion, or explicit compare-by-date asks.
  5. Read ## This connection in the skill supplement for store-specific meta keys or status workflows.

Gotchas

  • Read-only — cannot fulfill, refund, cancel, or replay WooCommerce webhooks from here.
  • Payload mirrors REST API — field names and nesting match WooCommerce REST docs; extensions may add meta_data keys.
  • Retries and duplicates — failed deliveries retry; the same order can produce multiple order.updated POSTs with the same id but newer date_modified. Dedupe on id + date_modified + status, not id alone.
  • Topic not in JSON — when the user asks “was this a create or update?”, infer from context or list recent deliveries; stored body alone may not include X-WC-Webhook-Topic.
  • Variable presenceshipping, line_items, refunds, and subscription fields appear only for relevant orders; guest checkout may leave customer_id as 0.
  • Action topics — custom action.* webhooks may POST non-order JSON; do not assume every delivery is an order.

Tools in this Server (4)

Woocommerce Wh Latest

Return the most recently stored report — tabular rows, raw text, or JSON depending on format. Default starting point for current report questions.

Woocommerce Wh List

List recent stored reports — ids, capture time, filename, and format. Follow with latest report or get report for full content.

Woocommerce Wh Report

Return one stored report by report_id — full content with the same source/export envelope as latest report.

Woocommerce Wh Status

Connection status — whether any reports have landed, when the last file arrived, filename, and stored report count. Includes the ingest URL only when ...

Frequently Asked Questions

How do I connect WooCommerce deliveries to MCPBundles?

Save a connection on MCPBundles, copy the hosted ingest URL from the credential panel, and paste it as the delivery URL when creating a webhook in WooCommerce (Settings → Advanced → Webhooks or via the REST API). Your agent reads stored deliveries — latest, history, and content — in chat.

Can an agent trigger a new delivery?

No. Ingest is read-only. Data arrives when WooCommerce sends it; agents query what already landed.

How do I connect WooCommerce Webhook to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/woocommerce-webhook. Authentication is handled automatically.

How many tools does WooCommerce Webhook provide?

WooCommerce Webhook provides 4 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does WooCommerce Webhook require?

WooCommerce Webhook uses API Key. WooCommerce Webhook requires credentials. Connect via MCPBundles and authentication is handled automatically.

Setup Instructions

Connect WooCommerce Webhook to any MCP client in minutes

MCP URL
https://mcp.mcpbundles.com/bundle/woocommerce-webhook

One-click install:

The link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.

Or add manually

  1. Open claude.ai → Settings → Connectors.
  2. Click the + button and choose Add custom connector.
  3. Set Name to WooCommerce Webhook and paste the MCP URL into Remote MCP server URL.
  4. Click Add. WooCommerce Webhook will appear under Not connected — select it and click Connect to complete OAuth.
Name: WooCommerce Webhook
Remote MCP server URL: https://mcp.mcpbundles.com/bundle/woocommerce-webhook
Authentication: OAuth

Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).

Ready to use WooCommerce Webhook?

Sign in to connect your credentials and start running tools from the chat.

WooCommerce Webhook MCP — Read Order Events in Chat