The fastest way to wire WhatsApp into a Zapier workflow is to skip the search for an "EnoSend integration" — there isn't one in the catalogue, and you don't need it. EnoSend is a plain REST API, and the built-in Webhooks by Zapier action handles the call without any custom code.
Ten minutes from "I have a Zapier account" to "WhatsApp messages firing on every trigger."
Step 1 — Get your EnoSend API key and instance ID
In the EnoSend dashboard:
API Keys → Create new key. Copy the
wa_live_…value somewhere safe.Instances → open the instance you want to send from and copy its Instance ID (a UUID). Every send call is scoped to one instance.
Step 2 — Build the Zap
Pick any trigger you want — a new row in Google Sheets, a Typeform submission, a Stripe payment, whatever. Then add a step:
Click + Action.
Search for Webhooks by Zapier and pick it.
Event: POST. Continue.
Step 3 — Configure the request
URL:
https://api.enosend.com/v1/instances/INSTANCE_ID/messages/text(replaceINSTANCE_IDwith the UUID you copied)Payload Type: JSON
Data: build the body using Zapier's field picker. Two fields:
number— the recipient phone in E.164 without the+(e.g.233200000000). Drag from your trigger's phone field.text— the message body. Drag in fields from the trigger to personalise.
Wrap Request in Array: No.
Unflatten: Yes.
Headers:
Authorization→Bearer wa_live_YOUR_KEYContent-Type→application/json
Test the step. You should see a 200 response with a message_id field. The WhatsApp message lands on the recipient's phone within seconds.
Three Zap templates that just work
1. Google Sheet row → WhatsApp message
Useful for spreadsheet-driven outreach without a CRM. The trigger watches a sheet column called send; when you flip a row's value to yes, Zapier fires the Webhook with the phone and message from that row.
Pair this with a "Status" column you update from a second Zap that listens for EnoSend webhook delivery callbacks — instant feedback loop in a sheet.
2. Typeform submission → instant WhatsApp follow-up
Whenever a lead fills out a Typeform, fire a personalised WhatsApp follow-up within seconds. Way higher engagement than email, and the "saw it within 2 minutes" effect compounds on conversion.
3. Stripe payment → WhatsApp receipt
Stripe's charge.succeeded webhook fires the Zap; the WhatsApp message sends the customer a friendly receipt with the order details. Pair with a follow-up Zap a week later asking for feedback.
Receiving WhatsApp replies in Zapier
The mirror flow: when a customer replies on WhatsApp, you want that reply to land back in Zapier. The wiring:
Create a new Zap with Webhooks by Zapier → Catch Hook as the trigger.
Zapier gives you a unique webhook URL. Copy it.
In the EnoSend dashboard: Instance settings → Webhooks → Add URL. Paste the Zapier URL.
Send yourself a WhatsApp reply. The Zap catches it; you'll see the payload in Zapier's test step.
Add any downstream action — log to a sheet, create a CRM contact, ping Slack, send an email, send another WhatsApp.
For signed-webhook verification in a no-code tool, the practical advice is: keep the webhook URL secret (don't post it publicly), and use the Filter by Zapier step to drop any payloads that don't match the expected shape. For higher security, run the webhook through a tiny serverless function (Cloudflare Worker, Vercel function) that does HMAC-SHA256 verification first, then re-posts to Zapier.
When to outgrow Zapier
Zapier is perfect for the first 10–500 sends a day per Zap. Once you're past that, two limits start to bite:
Zapier's task-based pricing makes high-volume Zaps disproportionately expensive.
Rate-limiting and retries inside Zapier are coarse — you can't easily implement the Human-mode pacing or idempotency a serious campaign needs.
At that point, graduate to a thin backend (Cloudflare Worker, Next.js route, Django view) that owns the EnoSend integration directly, and use the bulk endpoint https://api.enosend.com/v1/instances/<INSTANCE_ID>/messages/bulk for batched sends. The Zaps become triggers; the backend owns the send semantics.
For Make.com users, the same exact recipe works with Make's HTTP module — header names and payload shape are identical.