- What: Make and receive voice calls on your WhatsApp Business numbers using the same Plivo Call API and XML elements as regular calls
- How: In the WhatsApp Numbers page, open Configure Number for your WhatsApp number, set a Webhook URL for inbound messages, toggle Enable WhatsApp Calling, and set an Answer URL for voice calls
- Requires: WABA (WhatsApp Business Account) linked to Plivo, WhatsApp-enabled phone number
- Outbound restriction: Not available from business numbers in US, Canada, Turkey, Egypt, Nigeria, or Vietnam. Users must grant permission first (by calling you or responding to a permission template)
- Limitation: Max 1,000 simultaneous calls per WhatsApp Business number. Cannot forward WhatsApp calls to PSTN
Overview
WhatsApp Calling lets you:- Receive inbound calls from users through your WhatsApp Business number
- Make outbound calls (Business Initiated Calling) to users who have granted permission
Prerequisites
- A Plivo account — sign up
- A WhatsApp Business Account (WABA) linked to Plivo — see WABA Onboarding
- A WhatsApp-enabled phone number
- A server endpoint to handle webhooks (for testing, use ngrok or similar)
Setup
New console flow. In the current Plivo console, you no longer need to create an XML Application for WhatsApp Calling. Configure your Webhook URL (for inbound messages) and Answer URL (for voice calls) directly on the WhatsApp number.
Step 1: Open the Configure Number modal
- Go to WhatsApp → Numbers in the Plivo console.
- Click the WhatsApp number you want to enable calling on.
- The Configure Number side panel opens.
Step 2: Set the Webhook URL
The Webhook URL receives inbound message events (text, media, replies) from your WhatsApp number.- Under Configuration Type, select Webhook URL.
- In the Webhook URL field, enter your endpoint — for example,
https://yourdomain.com/whatsapp/webhook.
If you’re building with Plivo AI Agents instead of a custom backend, select AI Agents under Configuration Type. See Voice Agents for the agent setup flow.
Step 3: Enable WhatsApp Calling and set the Answer URL
- Toggle Enable WhatsApp Calling on.
- In the Answer URL field, enter the endpoint that returns Plivo XML to handle inbound calls — for example,
https://yourdomain.com/whatsapp/answer.
Step 4: Choose the Account Mapping
Under Account Mapping, choose the Plivo account that should own the WhatsApp traffic:- Main Account — applies to the whole WABA
- Subaccount — route WhatsApp traffic to a specific subaccount
Step 5: Save the configuration
Click Save changes. Once enabled, users see a call button next to your WhatsApp number in the WhatsApp app.Step 6: Configure calling hours (optional)
Set when users can call your business number from Meta Business Manager:- Open Meta Business Manager → WhatsApp Manager → Phone Numbers.
- Select your number → More → Calls → Available call hours.
- Configure your availability.
Step 7: Test inbound calls
- Call your WhatsApp Business number from any WhatsApp account.
- Verify:
- The call connects
- Audio routes to your Answer URL endpoint
- Two-way audio works
Making Outbound Calls (Business Initiated Calling)
Get permission first
Per Meta’s guidelines, you must obtain explicit permission before calling a WhatsApp user. Method 1 — Request permission via message. Send a permission request using a WhatsApp template message or free-form message. To create a callback permission template:- Open Meta Business Manager → WhatsApp Manager → Manage Templates → Create Template.
- Select Calling permissions request under Marketing or Utility.
- Configure the template and submit for approval.
Place the call
Use the Dial XML element to initiate WhatsApp calls. Required parameters:| Parameter | Description | Example |
|---|---|---|
callerId | Your WhatsApp Business number (must be WhatsApp-enabled) | 918035737458 |
callType | Must be whatsapp for WhatsApp calls | whatsapp |
<User> | Recipient’s WhatsApp phone number (E.164 format) | <User>919412341234</User> |
Limitations and Restrictions
Geographic restrictions
Outbound calls are not available from business numbers in:- United States
- Canada
- Turkey
- Egypt
- Nigeria
- Vietnam
Call routing
- Calls cannot be forwarded to PSTN (traditional phone) numbers
- Calls must be answered via a Cloud platform
- WhatsApp-to-WhatsApp call forwarding is not supported
Capacity limits
- Maximum concurrent calls: 1,000 simultaneous calls per WhatsApp Business number
- Your Plivo account’s CPS (Calls Per Second) limits apply to all calls combined (including WhatsApp calls). Check your CPS limits in the Plivo Console.
Permission rules
| Rule | Limit | Details |
|---|---|---|
| Request frequency | Once per 24 hours | Maximum 2 requests in 7 days |
| Calls allowed | 5 calls per 24 hours | After permission granted |
| Permission duration | 7 days | From approval date |
| Auto-revocation | After 4 missed calls | Consecutive missed calls |
- Time-based expiration — 7 days after approval, rejection, or no response.
- New permission granted — when a new call permission request is approved.
- Missed call warnings — after 2 consecutive missed calls, the user is prompted to reconsider permission. After 4 consecutive missed calls, permission is automatically revoked.
Related
- Configure Number Modal — UI reference for the full Configure Number panel
- WhatsApp Numbers Page — UI reference for the Numbers tab
- WABA Onboarding — Link your WhatsApp Business Account to Plivo
- Call API Reference
- Plivo XML Reference