Overview
Inbound webhooks provide you with a unique URL to send WhatsApp messages. Instead of calling our API directly, you can POST messages to your personalized webhook URL. This is useful for:- No-code integrations - Connect with Zapier, Make, n8n, and other automation tools
- Simple HTTP calls - Send messages with a single POST request
- Secure tokens - Each URL contains a unique token tied to your account
Each inbound webhook URL is unique to your account and instance combination. Keep your webhook URL secure like an API key.
Creating an Inbound Webhook
Create an inbound webhook in the Developer Portal or via API:Webhook URL Format
Your inbound webhook URL looks like this:- Your account
- The linked WhatsApp instance
- Permissions for this webhook
Sending Messages
Send a message by POSTing to your webhook URL:Request Body
Recipient phone number in international format (without + or spaces)
Text message content. Required for text messages.
URL of media file to send (image, video, audio, document)
Type of media:
image, video, audio, or documentCaption for media messages
Filename for document attachments
Response
Indicates if the message was queued successfully
Unique identifier for the message
Message status:
queuedExamples
Send Text Message
Send Image
Send Document
No-Code Integrations
Zapier
- Create an inbound webhook in the Developer Portal
- In Zapier, add a “Webhooks by Zapier” action
- Choose “POST” request
- Paste your webhook URL
- Set payload type to JSON
- Map your data to
toandmessagefields
Make (Integromat)
- Create an inbound webhook in the Developer Portal
- Add an “HTTP” module to your scenario
- Choose “Make a request”
- Set URL to your webhook URL
- Method: POST
- Body type: JSON
- Add
toandmessagefields
n8n
- Create an inbound webhook in the Developer Portal
- Add an “HTTP Request” node
- Set URL to your webhook URL
- Method: POST
- Body Content Type: JSON
- Add your message parameters
Managing Inbound Webhooks
List Webhooks
Delete Webhook
Regenerate Token
If your webhook token is compromised, regenerate it:Security
- Keep your URL private - Anyone with the URL can send messages from your instance
- Use HTTPS only - All webhook URLs use HTTPS encryption
- Regenerate if compromised - If your URL is exposed, regenerate the token immediately
- Monitor usage - Check webhook logs for unexpected activity
Rate Limits
Inbound webhooks share rate limits with the Messages API:| Plan | Messages per Minute |
|---|---|
| Free | 100 |
| Starter | 500 |
| Pro | 2,000 |
| Enterprise | Custom |
Error Codes
| Code | Description |
|---|---|
invalid_token | The webhook token is invalid or revoked |
instance_disconnected | The linked instance is not connected |
invalid_phone_number | Invalid phone number format |
rate_limit_exceeded | Too many requests |
insufficient_credits | Not enough credits in your account |
Related
- Webhooks Overview - Receive events from EnviaAI
- Send Message API - Send messages via REST API