WhatsApp Business Calling
Accept WhatsApp voice calls into a Finn agent.
WhatsApp Business Calling
Connect your WhatsApp Business Account (WABA) to Finn so users can place voice calls to your business directly inside WhatsApp — answered by a Finn agent, billed per minute like any other call.
WhatsApp Business Calling (Meta's voice-over-WhatsApp surface, launched 2024) sits on top of the Cloud API. From the user's side it's a tap on the call button inside your business chat. From your side it's a normal Finn inbound call.
What you get
- Inbound voice from any WhatsApp user worldwide
- No new number to provision — uses your existing WABA phone-number ID
- Finn agent answers with the same prompt, voice, and workflow as your regular inbound
- Recording + transcript + analytics identical to PSTN inbound
- Lower per-minute cost than international PSTN inbound in many regions
Prerequisites
Before you can connect:
- A verified Meta Business Account with the WhatsApp Business Platform enabled
- A WABA phone number in good standing (not the consumer WhatsApp app — the Cloud API number)
- Business verification approved by Meta (required for calling)
- A Finn org on Pro or higher (Starter doesn't include WhatsApp calling)
- The Calling API capability explicitly enabled in your WABA — Meta gates this. Request access in Meta Business → WhatsApp Manager → API Settings → Calling
Setup (5 steps)
1. Enable Calling in WABA
In Meta Business Suite → WhatsApp Manager → Phone Numbers → [your number] → Settings → Calling:
- Toggle Enable inbound calling to On
- Set Default action to Forward to API
- Save
2. Generate a permanent system-user access token
In Meta Business → Business Settings → System Users:
- Create a system user (or reuse one)
- Generate a token with scopes:
whatsapp_business_management,whatsapp_business_messaging - Treat the token like a password — never commit, rotate quarterly
3. Connect inside Finn
Dashboard → Settings → Integrations → WhatsApp → Connect.
Paste:
phone_number_id(from WhatsApp Manager)waba_id(the WhatsApp Business Account ID)- System-user access token
Finn validates the token by hitting /v18.0/{phone_number_id} and reports the status inline.
4. Bind a Finn agent
In the same screen, choose which Finn answers WhatsApp calls. You can:
- Pin one agent for all WhatsApp inbound — simplest
- Route dynamically via the inbound webhook — different agents per caller, country, or campaign tag
5. Test
Send any test message in WhatsApp to your WABA number from a personal account, then tap the call button. The Finn agent should answer in 2–3 seconds.
If the call drops immediately, the calling capability isn't fully approved — check Meta's calling-enablement banner in WhatsApp Manager.
Behavior compared to PSTN inbound
| Aspect | PSTN inbound | WhatsApp inbound |
|---|---|---|
| Setup time | 5 min (number rent) | 30–60 min (Meta approval) |
| Caller ID | Phone number | WhatsApp user ID + display name |
| International cost | Varies (high outside home country) | Flat — Meta handles routing |
| Recording | Standard | Standard (notify caller per local law) |
| Voicemail | Configurable | Not yet — Meta caps |
| Outbound from Finn | Yes (full PSTN) | No — calling is inbound-only via WhatsApp |
| Concurrent caps | Per-number capacity | Tied to your WABA tier |
Caller identification
The inbound webhook payload includes WhatsApp-specific fields:
{
"session_id": "ws_2H4abc",
"channel": "whatsapp",
"from": {
"wa_id": "919876543210",
"display_name": "Priya M",
"profile_pic_url": "https://..."
},
"to_phone_number_id": "104382715924563",
"started_at": "2026-05-22T14:30:00Z"
}
wa_id is the caller's WhatsApp identifier (typically their phone number in E.164 minus the +). Use it as the lookup key against your CRM the same way you'd use caller_id for PSTN.
Pricing
WhatsApp inbound is billed on the same Finn AI-credit model as PSTN inbound:
- Picked-up call: pulse-billed by the minute, 1-min minimum
- No carrier surcharge — Meta handles the network leg
- No per-call setup fee
See Wallet & AI Credits for the full pulse-billing formula.
Limitations
- Inbound only (Meta restriction as of 2026). You can't dial WhatsApp users from Finn.
- One Finn per phone-number ID at a time — though dynamic routing via the inbound webhook lets you switch agents per call.
- Voicemail not yet supported — missed calls drop without a message.
- Region availability varies — Meta is still rolling Calling out by country. Check WhatsApp Manager → API Settings for your status.
Compliance
- Recording disclosure — the same rules apply as PSTN. India, EU, parts of the US require disclosing the call is recorded. Configure Finn's welcome message to include the disclosure.
- Consent — by tapping the call button in WhatsApp, the user has initiated the call — express consent is implicit for that session. You still need separate consent to call them back via PSTN.
- Data residency — Meta processes the audio in their region. If your org has strict residency requirements, evaluate before enabling.
FAQ
Q: Can my existing Finn agent answer WhatsApp calls without changes? A: Yes. The agent prompt, voice, and workflow are the same. Just bind it in the WhatsApp integration screen.
Q: Do WhatsApp callers see they're talking to AI? A: Your Finn's identity is whatever you configured (e.g. "Aria from Smile Dental"). If asked directly, the agent should disclose AI status — same compliance rule as PSTN.
Q: Can I route WhatsApp calls to a human agent? A: Yes — Finn's warm-transfer mechanism works the same way. Transferred call lands on a configured PSTN number.
Q: How does this differ from WhatsApp click-to-call links? A: Click-to-call opens the user's phone dialer with a PSTN number. WhatsApp Business Calling stays inside the WhatsApp app and rides Meta's voice infra — different surface entirely.
Troubleshooting
| Symptom | Likely cause |
|---|---|
| "Calling not enabled" banner | Meta hasn't approved calling for this WABA yet |
| Calls drop in 1–2 seconds | Token invalid or scope missing — re-issue |
| Audio quality poor in specific regions | Meta is still rolling Calling out — check status page |
| Caller hears "this number is not configured" | phone_number_id mismatch between WhatsApp Manager and Finn |
| Recording missing | recording_enabled flag off on the bound Finn — toggle in agent settings |
Related
Was this page helpful?
Still stuck or have feedback?
Email support@hirefinn.ai or use the chat bubble in the bottom-right corner — it's a Finn that knows the Academy cold.