Integration · Early access
The official Zapier integration is ready to test
It is built and working, but not listed in Zapier's own app directory yet. If you searched for it there and came up empty, that is expected, not a sign anything is broken: Zapier only lists an integration once it has real users running real Zaps. So the way in today is an invite link, and using it is what gets the integration listed.
Opens Zapier. You need a Zapier account and a WaAPI API token — nothing else to install.
Install
POST https://waapi.app/api/v1/instances/{id}/webhooks
Authorization: Bearer YOUR_TOKEN
{ "url": "https://hooks.zapier.com/hooks/catch/…", "events": ["message"] }
The manual route, if you would rather not use the invite. See below for the full walkthrough with Webhooks by Zapier.
What the official integration will do
Three triggers and two send actions — the same events and the same actions the REST API already exposes, wired up as native Zapier steps.
Triggers
New Message
Fires when the connected number receives a message.
Message Status Changed
Fires when a message you sent is delivered or read.
Connection Status Changed
Fires when the connection becomes ready, drops, or needs a new QR code.
Actions
Send Message
Sends a text message from the connected number.
Send Media
Sends an image, video, audio or document from a URL, with an optional caption.
Use it with Zapier today
You do not need the official app to connect a Zap right now. Zapier's own Webhooks by Zapier app can catch events directly — this is the substance of this page, not a placeholder for what is coming.
Create a Catch Hook
In Zapier, start a Zap with the Webhooks by Zapier trigger and choose Catch Hook. Zapier gives you a unique URL for that Zap.
Register it as a subscription
Copy that URL and POST it to your instance with the events you want. A token
with only the read scope
cannot create one — you need read
and update together.
Build the rest of the Zap
Every matching event now lands on the Catch Hook as the trigger payload — filter, transform and act on it with any other Zapier step, same as any other webhook-driven Zap.
Register the subscription
POST https://waapi.app/api/v1/instances/{id}/webhooks
Authorization: Bearer YOUR_TOKEN
{ "url": "https://hooks.zapier.com/hooks/catch/…", "events": ["message"] }
Turning the Zap off does not remove the subscription by itself — delete it so events stop being sent to a hook nobody is listening on anymore:
Remove it
DELETE https://waapi.app/api/v1/instances/{id}/webhooks/{subscriptionId}
Authorization: Bearer YOUR_TOKEN
The subscription id comes back in the response of the POST above — keep it, since
there is no undo without it. events
accepts more than message; the full
list is in the API reference.
Zapier questions
What is live, what is not, and how the manual route holds up until it ships.
-
Because it is not published there yet. The integration exists and is private; it has not gone through Zapier's review and listing process. This page is the honest status, not a workaround for a broken search.
-
No. Neither exists yet, and we would rather say that plainly than collect emails for something we cannot promise a date on. Use the manual route above in the meantime.
-
No. Webhooks by Zapier is one of Zapier's own built-in apps, and registering a subscription uses the REST API you already have with your plan.
-
Both read and update. Creating or deleting a subscription needs update; listing an instance's existing subscriptions needs read.
-
Yes. Each Zap registers its own subscription with its own catch-hook URL, so one instance can feed several independent Zaps at once, each with its own event filter.
-
Today, with a plain HTTP Request step against the same REST API used above — POST to the send-message or send-media action endpoint with your bearer token. The official actions will make that a native step instead of a raw request.
Connect an account and start sending
One flat rate per connected account. Unlimited messages, no approval process, no per-message invoice.