WooCommerce Automations
Send a Webhook When a WooCommerce Order Status Changes
Plenty of tools accept data through a webhook URL — a CRM, a fulfilment service, Zapier, Make, or an endpoint you wrote yourself. Zapify pushes order data to them with the An order status changes trigger (WooCommerce) and the Send a webhook action. Both are free.
What this automation does
The automation is one trigger plus one action:
- Trigger: An order status changes (
WC_ORDER_STATUS_CHANGED, WooCommerce) - Action: Send a webhook (
WEBHOOK_SEND, Webhooks)
When an order moves to the status you choose, Zapify sends an HTTP request to the URL you specify, with the body you build from order tokens.
Before you start
- WooCommerce must be installed and active.
- You need the destination URL, and its expected body format and authentication, from the receiving service.
- Both the trigger and the action are free.
How to build the automation
Step 1: Create a new automation
- In the WordPress admin, go to Zapify → Automations.
- Click Add New to open the builder.
- Name it clearly, such as Push completed orders to CRM.

Step 2: Add the "An order status changes" trigger
- Click Add Trigger.
- Choose WooCommerce as the app.
- Select An order status changes.
- Set the To status — for example Completed.



Step 3: Add the "Send a webhook" action
- Click Add Action.

- Choose Webhooks as the app.

- Select Send a webhook.

Step 4: Configure the request
| Field | Required | What it does |
|---|---|---|
| URL | Yes | The endpoint to call. |
| Method | Yes | POST by default. |
| Headers | No | Extra headers. Values may contain tokens. |
| Body | Yes | How the body is built: JSON fields, Form fields, Hand-written JSON, or Raw. |
| Fields | Depends | The key/value pairs for the JSON or form body — map keys to order tokens. |
| Authentication | No | None, Bearer token, or Username and password; or pick a saved auth profile. |
For a JSON body, add fields such as order_id mapped to the Order ID token, total mapped to Order total, and email mapped to Billing email.

Internal addresses are blocked
Zapify refuses to call loopback, link-local and private network addresses, and re-checks after redirects. Use a public URL. See Webhooks for how to override this if you genuinely need to.
Step 5: Set the steps Live and save
- Set both the trigger and the action to Live.
- Click Save.

Tokens this action makes available
| Token | What it holds |
|---|---|
| Response code | The HTTP status code the receiver returned. |
| Response body | The body the receiver returned. |
| Response headers | The headers the receiver returned. |
A later action can use these — for example, write the response code to the order with Add an order note.
How to test it
- Point the URL at a request-catcher service while testing, then change the status of a test order.
- Confirm the request arrived with the fields you mapped.
- If it didn't, open Zapify → Logs — a failed request records the reason. The action runs in the background by default, so the request can leave a moment after the status changes rather than instantly.
Conclusion
With the An order status changes trigger and the Send a webhook action, Zapify pushes order events to any tool that accepts a URL. Next, go the other way and start automations from outside with an email when a webhook is received.
FAQs
Can I send data to Zapier or Make?
Yes. Both give you a webhook URL — paste it into URL and map the fields you want them to receive.
Is this feature free?
Yes. The Send a webhook action is on the free plan. Advanced webhook auth profiles for receiving are PRO; see Webhooks.
Do I need to write any code?
No. Everything is configured in the Zapify visual builder.