This guide explains how to use the WABA Zapier Integration to automate WhatsApp messages using Zapier. Platform used: Zapier WhatsApp API: WhatsApp Business Platform
🚀 1. What This Integration Does
This integration allows you to:
✅ Trigger automation when a WhatsApp message is received
✅ Detect button clicks
✅ Detect message type (text, image, location, etc.)
✅ Track message delivery status (sent, delivered, read)
✅ Send template messages
✅ Send freeform text messages
🔑 2. Requirements
Before using this integration, you must have:
A working WhatsApp Business API
API URL
App Key
Auth Key
Zapier account
🛠 3. How to Create Your First Zap
Step 1: Create a Zap
Log in to Zapier
Click Create Zap
Search for:
WABA Zapier IntegrationSelect the app
Step 2: Choose Trigger
You will see two trigger options:
🔹 New WhatsApp Message
Triggers when a customer sends a message.
🔹 Message Status Update
Triggers when message status changes:
sent
delivered
read
failed
Select New WhatsApp Message and click Continue.
Step 3: Connect Your Account
Enter:
API URL (Example:
https://yourdomain.com)App Key
Auth Key
Click Continue.
If authentication fails:
Verify API URL
Check AppKey and AuthKey
Ensure backend is running
Step 4: Test the Trigger
Click Test Trigger
Now send a message from your phone to your WhatsApp Business number.
Zapier should return formatted message data like:
message_content: "Hello"
from: "917016414810"
contact_name: "Prince"
message_type: "text"
is_button_reply: false
If data appears → setup is correct ✅
📊 4. Available Trigger Fields
Message Fields
| Field | Description |
|---|---|
| message_id | Unique WhatsApp message ID |
| from | Sender phone number |
| to | Business phone number ID |
| timestamp | Message time |
| message_type | text, button, image, video, etc. |
| message_content | Actual message text |
Button Fields
| Field | Description |
|---|---|
| is_button_reply | True if user clicked button |
| button_payload | Payload value set in template |
| button_text | Text shown on button |
Contact Fields
| Field | Description |
|---|---|
| contact_name | WhatsApp profile name |
| contact_wa_id | WhatsApp ID |
Media Fields (if applicable)
| Field | Description |
|---|---|
| media_id | WhatsApp media ID |
| media_mime_type | File type |
| media_sha256 | File hash |
💬 5. Example Workflows
🟢 Example 1: Save Messages to Google Sheets
Trigger: New WhatsApp Message
Action: Google Sheets → Create Row
Map fields:
Phone → from
Name → contact_name
Message → message_content
Type → message_type
Turn Zap ON.
🟢 Example 2: Process Button Click
Trigger: New WhatsApp Message
Filter:
is_button_reply = true
Action:
Check button_payload
Update database
Send confirmation template
🟢 Example 3: Auto Reply Using AI
Trigger: New WhatsApp Message
Action:
Send message_content to AI
Send Freeform Message back
🟢 Example 4: Track Message Delivery
Trigger: Message Status Update
Filter:
status = delivered
Action:
Update CRM
Log delivery
✉️ 6. Sending Messages
Send Template Message
Use action:
Send Template Message
Required:
Recipient phone number
Template name
Template parameters (if needed)
Send Freeform Message
Use action:
Send Freeform Message
Required:
Recipient phone number
Message text
🔎 7. How to Debug
If something does not work:
Go to Zapier
Click Zap History
Open failed run
Click View Logs
Check:
Raw webhook data
Formatted data
API error messages
⚠️ Common Issues
❌ 401 Invalid Auth
Check:
API URL correct
AppKey correct
AuthKey correct
Backend validation working
❌ Trigger Not Receiving Data
Check:
Webhook subscription endpoint working
WhatsApp webhook forwarding enabled
HTTPS enabled
❌ Button Payload is Empty
Ensure:
Template buttons include payload
Template approved by WhatsApp
🔐 Security Best Practices
Never share API keys publicly
Use HTTPS
Rotate credentials regularly
Limit webhook access
🧠 Best Practices for Automation
✔ Use filters to avoid unwanted triggers
✔ Use paths to separate text vs button logic
✔ Log important events to database
✔ Handle errors in action steps
✔ Always test before publishing
📌 Recommended Workflow Pattern
Trigger → Filter → Action → Confirmation
Example:
New WhatsApp Message
→ Filter (is_button_reply = true)
→ Update Database
→ Send Confirmation Template
🎯 Final Checklist Before Going Live
Trigger tested successfully
Action tested successfully
Zap turned ON
Webhook subscription active
WhatsApp API connected
Test message sent and received
🚀 You Are Ready
Your integration now allows:
Real-time WhatsApp automation
Button-based workflows
Media handling
Delivery tracking
CRM integration
AI chatbot integration