Webhook tool

WooCommerce AI voice agents that read order and tracking status

The caller gives an order number and email, and the agent reads back the order's status from the WooCommerce REST API, through a service of yours.

Order status agent

Answers where's my order calls.

Instructions

Ask for the order number and the email used at checkout, and spell the email back. Look up the order and say its status in plain words. If it has shipped and the lookup returns tracking, give the carrier and tracking number. If the lookup finds nothing, ask once more, then offer a transfer to support.

Handoff
Support team

Connected tools

  • Look up orderWebhook
  • Transfer to supportTransfer

What a WooCommerce AI voice agent can do

Open one to watch a call. The grey lines are the tools the agent calls mid-sentence.

The agent turns the order status into plain words, such as being packed, shipped and complete, on hold, or refunded.

Tool definitions

Webhook tools go to POST /v1/agents/tools. Transfers are a system tool on the agent. Replace the placeholder values in capitals with your own.

Webhook

Look up order

Returns the status, and tracking if you store it, for one order.

Show the JSON definition
look_up_order
{
  "type": "webhook",
  "name": "look_up_order",
  "description": "Looks up a WooCommerce order by order number and checkout email. Returns the order status, and the carrier and tracking number when the store has them.",
  "pre_tool_speech": "auto",
  "execution_mode": "immediate",
  "response_timeout_secs": 20,
  "api_schema": {
    "url": "https://api.your-company.com/woocommerce/order-status",
    "method": "GET",
    "query_params_schema": {
      "properties": {
        "order_number": {
          "type": "string",
          "description": "The order number the caller gives, digits only, such as 4817."
        },
        "email": {
          "type": "string",
          "description": "The email used at checkout, spelled back to the caller."
        }
      },
      "required": [
        "order_number",
        "email"
      ]
    },
    "authentication": {
      "mode": "bearer",
      "token": {
        "type": "secret",
        "secret_value": "YOUR_SERVICE_TOKEN"
      }
    }
  }
}

Transfer

Transfer to support

Cold transfer to the support line.

Show the JSON definition
transfer_to_support
{
  "config": {
    "system_tools": {
      "transfer_to_number": {
        "description": null,
        "pre_tool_speech": "auto",
        "transfers": [
          {
            "destination": {
              "type": "phone",
              "phone_number": "+14155550163"
            },
            "condition": "The order cannot be found, or the caller wants a refund, a return or a change to the order."
          }
        ]
      }
    }
  }
}

Set it up

No native connector and no WooCommerce extension. The tool calls a service of yours, which holds a read-only REST API key for your store. Vendor details read in November 2026.

  1. Create a read-only REST API key

    In WordPress, go to WooCommerce > Settings > Advanced > REST API, and select Add Key. Pick a user, choose Read access, and copy the consumer key and secret into your service.

  2. Run the lookup endpoint

    Your service calls GET https://your-store.com/wp-json/wc/v3/orders/{id} over HTTPS, with the consumer key and secret as the basic auth username and password.

  3. Check the email and trim the answer

    Compare billing.email to the email the caller gave, and send back only the status and any tracking details. Leave out addresses, phone and line items.

  4. Add the tool and test

    Point the tool at your service with a bearer secret, then call about a test order in each status your store uses.

Before you build

Why a service in the middle

The order response includes billing and shipping addresses, the phone number and every line item. Your service checks the email and returns only what the agent should say.

Tracking isn't in core WooCommerce

The order object has no tracking number field. Shipping plugins store it in their own way, often in the order's meta_data, so check where yours keeps it.

Order IDs and order numbers

GET orders/{id} takes the order ID. If a plugin gives your store its own order numbers, the read-only number field differs and your service has to search for it.

The key follows its user

A REST API key has its WordPress user's roles and stops working if that user is deleted. Create it for a user that will stay, with Read access only.

Enterprise-grade security

  • HIPAA compliant badge

    HIPAA compliant

  • SOC 2 Type 2 badge

    SOC 2 Type 2

  • GDPR badge

    GDPR

WooCommerce AI voice agent FAQs

Can an AI phone agent check WooCommerce order status?

Yes. The caller gives an order number and email, and a service of yours reads the order from the WooCommerce REST API and returns its status. The agent says it in plain words, such as being packed, shipped and complete, on hold, or refunded.

Do I need a WooCommerce plugin for a voice agent?

No. There is no extension to install. In WordPress, go to WooCommerce, Settings, Advanced, REST API, add a key with Read access, and give the consumer key and secret to your service.

Can the agent read WooCommerce tracking numbers?

Only if a shipping plugin stores them. The core order object has no tracking field, and plugins often keep tracking in the order's meta_data. Check where yours keeps it and have your service return it.

Can the agent find a WooCommerce order from caller ID?

Yes, if you add a parameter set from system__caller_id and your service matches it against billing.phone. That field can be empty, so keep the email as the fallback.

Why do WooCommerce order numbers sometimes fail?

GET orders/{id} takes the order ID. If a plugin gives your store its own order numbers, the number field differs from the ID, and your service has to search for the order instead.

What does a WooCommerce order-status agent cost to run?

Agents run at $0.03/min, plus LLM usage and telephony. The REST API is built into WooCommerce, so there's no extension to pay for. Transfers only work on Twilio and SIP trunk calls, so put the number on Twilio or a SIP trunk if the agent hands callers to staff.

Get started today

Talk to an expert.

Connect with a member of our team and learn how Cartesia can help you build world-class voice experiences.

Contact Sales

Start building.

Access our models via API and bring a voice agent into production in minutes.

Try Cartesia