Skip to content

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

  1. In the WordPress admin, go to Zapify → Automations.
  2. Click Add New to open the builder.
  3. Name it clearly, such as Push completed orders to CRM.

Create a new automation

Step 2: Add the "An order status changes" trigger

  1. Click Add Trigger.
  2. Choose WooCommerce as the app.
  3. Select An order status changes.
  4. Set the To status — for example Completed.

Add Trigger Button

Select WooCommerce as the trigger

Select An order status changes

Step 3: Add the "Send a webhook" action

  1. Click Add Action.

Add an action

  1. Choose Webhooks as the app.

Select Webhooks as the action

  1. Select Send a webhook.

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.

Configure the Send a webhook action

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

  1. Set both the trigger and the action to Live.
  2. Click Save.

Set the automation live

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

  1. Point the URL at a request-catcher service while testing, then change the status of a test order.
  2. Confirm the request arrived with the fields you mapped.
  3. 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.

Was this page helpful?