Skip to main content

WhatsApp Business Calling

Accept WhatsApp voice calls into a Finn agent.

5 min read

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:

  1. A verified Meta Business Account with the WhatsApp Business Platform enabled
  2. A WABA phone number in good standing (not the consumer WhatsApp app — the Cloud API number)
  3. Business verification approved by Meta (required for calling)
  4. A Finn org on Pro or higher (Starter doesn't include WhatsApp calling)
  5. 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

AspectPSTN inboundWhatsApp inbound
Setup time5 min (number rent)30–60 min (Meta approval)
Caller IDPhone numberWhatsApp user ID + display name
International costVaries (high outside home country)Flat — Meta handles routing
RecordingStandardStandard (notify caller per local law)
VoicemailConfigurableNot yet — Meta caps
Outbound from FinnYes (full PSTN)No — calling is inbound-only via WhatsApp
Concurrent capsPer-number capacityTied 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

SymptomLikely cause
"Calling not enabled" bannerMeta hasn't approved calling for this WABA yet
Calls drop in 1–2 secondsToken invalid or scope missing — re-issue
Audio quality poor in specific regionsMeta 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 missingrecording_enabled flag off on the bound Finn — toggle in agent settings

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.