Integrate WhatsApp with Zapier

To integrate WhatsApp with Zapier, calls go out through its Webhooks by Zapier > Custom Request and events come back through its Webhooks by Zapier > Catch Hook; authentication is Authorization header set on the Webhooks by Zapier action (Webhooks is a premium app), and the setup below takes about 15 minutes. No official connector is involved: groups, Channels, status posts and template-free sends all go through one plain HTTPS call.

Automation

What you can do with Zapier

Setup in Zapier

Authentication
Authorization header set on the Webhooks by Zapier action (Webhooks is a premium app)
Time to first call
About 15 minutes
  1. Add a Webhooks by Zapier action and choose Custom Request so you control the method, the URL, the headers and the body.

  2. Set the method to POST, paste the Wapito endpoint, and add two headers: Authorization with your Bearer token and Content-Type set to application/json.

  3. Put the JSON payload in the Data field and map values from the trigger with the field picker rather than typing them.

  4. For inbound events, create a second Zap with a Catch Hook trigger, copy the hook URL, and register it in Wapito as a webhook endpoint.

  5. Test the Zap once so Zapier learns the payload shape, then add a Filter step so only the events you want continue.

Example flows

Message a new lead the moment it arrives

A form or CRM trigger fires, a Formatter step normalises the phone number to international format, and a Custom Request sends the first message. A delay step in front of it keeps the reply from arriving suspiciously instantly.

POST /messages/text Send a text message

curl --request POST \
  --url https://api.wapito.com/v1/messages/text \
  --header 'Authorization: Bearer wpt_YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"to":"+15551234567","body":"Your order #4182 has shipped. Track it here: https://acme.example/t/4182","typing_time":3}'

Create a group for a new project

A project management trigger starts the Zap, a Custom Request creates the group with the team's numbers, and a following step writes the returned group id back into the project record for later steps to use.

POST /groups Create a group

curl --request POST \
  --url https://api.wapito.com/v1/groups \
  --header 'Authorization: Bearer wpt_YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"subject":"Acme Launch Team","participants":["+15551234567","+15559876543"],"description":"Coordination for the Q3 launch. Keep it on topic."}'

Push inbound messages into a helpdesk

A Catch Hook receives message events, a Filter drops anything that is not a customer message, and a helpdesk action opens or updates a ticket keyed on the chat id so the thread stays in one place.

GET /messages/list/{chat_id} List messages in a chat

Beta

curl --request GET \
  --url 'https://api.wapito.com/v1/messages/list/15551234567@s.whatsapp.net?count=50&offset=0&from_me=true&time_from=1789372800000&time_to=1789459200000' \
  --header 'Authorization: Bearer wpt_YOUR_TOKEN'

Post to a channel when a blog post publishes

An RSS trigger fires on a new post and a Custom Request sends a link message to the channel id, so the announcement goes out at publication time with a preview rather than as bare text.

POST /messages/link Send a link with a custom preview

curl --request POST \
  --url https://api.wapito.com/v1/messages/link \
  --header 'Authorization: Bearer wpt_YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"to":"+15551234567","url":"https://acme.example/t/4182","title":"Track order #4182","description":"Out for delivery, arriving before 18:00.","image":"https://acme.example/og/tracking.png","body":"Your parcel is on the van:"}'

Receiving events

In Zapier the inbound side is the Webhooks by Zapier > Catch Hook: it gives you the URL to register in Wapito.Every event Wapito delivers — an inbound message, a delivery receipt, a member joining a group, a number disconnecting — is one HTTPS POST to a URL you register, signed with the webhook's secret in the X-Wapito-Signature header. Verify that header against the raw request body before you act on anything, answer with a 2xx within the retry window, and do slow work afterwards.

Webhooks guide: events, envelope and signature Webhooks by Zapier > Catch Hook documentation

Step-by-step recipes for Zapier

What the official connector does instead

Zapier lists WhatsApp apps built on Meta's official platform, which means templates, the 24-hour window and no group, Channel or status actions. Wapito is reached through Webhooks by Zapier rather than a branded app, which is also why the Webhooks premium tier is required.

Wapito is an independent product. It is not affiliated with, endorsed by, sponsored by or certified by WhatsApp or Meta Platforms, Inc. WhatsApp is a trademark of Meta Platforms, Inc.

Frequently asked questions

Do I need a paid Zapier plan?

Yes, in practice. Webhooks by Zapier is a premium app on both the action and the trigger side, and this integration uses it for both. Everything else - filters, formatters, delays - is available on the free tier, but the two webhook steps are not.

How do I handle a failed send?

Zapier shows the response body when a step errors, so the Wapito error code is visible in the task history. Add an autoreplay for the transient codes and a path that notifies a human for the rest; retrying a validation error forever only fills your task quota.

Can I verify the webhook signature in a Zap?

Only with a Code step, because Zapier's built-in steps cannot compute an HMAC over a raw body. If you are on a plan without Code steps, keep the hook URL secret, treat it as a shared credential, and rotate it whenever someone with access leaves.

Related

Try it on your own number

Create a channel, link a WhatsApp number by QR or pairing code, and call the API in a couple of minutes. The Sandbox plan is free and needs no card.