Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions agents/telephony/whatsapp.mdx
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
---
title: "WhatsApp Business Calling"
description: "Let an agent answer WhatsApp voice calls to your WhatsApp Business number through your own Meta app: no rental, no telephony charges"
icon: "whatsapp"

Check warning on line 4 in agents/telephony/whatsapp.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hanabiaiinc) - vale-spellcheck

agents/telephony/whatsapp.mdx#L4

Did you really mean 'whatsapp'?
---

People who already message your business on WhatsApp can call it there too. Connect the WhatsApp Business number from your own Meta app, bind an agent, and the agent answers WhatsApp voice calls to that number. The number stays in your WhatsApp Business Account, Meta keeps delivering the calls, and on Fish Audio each call bills as an ordinary agent session: no monthly rental, no phone surcharge, no transfer fees.

This first release covers inbound voice calls. WhatsApp messages are not handled yet, and the platform does not place WhatsApp calls.

## How it works

When someone calls your WhatsApp Business number, Meta sends a call event to Fish Audio's webhook. The platform accepts the call, connects its audio to a session, and hands it to the agent bound to the number, which greets the caller within a few seconds. From there it behaves like an [inbound call](/agents/telephony/inbound-calls): the session shows up in [Conversation history](/agents/monitor/conversation-history) with `source: "whatsapp"`, the [inbound call webhook](/agents/monitor/webhooks#inbound-call-webhook) runs before the first reply, and post-call webhooks and analysis follow as usual. Either side can hang up; the session ends with `user_hangup` or `agent_hangup`.
Expand All @@ -27,7 +25,7 @@
- A Meta app with the **WhatsApp** product added, and access to its App Dashboard. You need the app's **App ID** and **App secret**.
- A WhatsApp Business Account (WABA) with a phone number registered for the Cloud API: the **WhatsApp Business Account ID** and the number's **Phone number ID**.
- A **System User access token** for that app with the `whatsapp_business_management` and `whatsapp_business_messaging` permissions.
- Calling enabled on the number. The import turns it on for you; Meta grants it once the business has completed Business Verification. A number Meta declines still connects, with calling off and Meta's reason kept on the number (shown on its status badge, and as `status_detail` over the API).

Check warning on line 28 in agents/telephony/whatsapp.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hanabiaiinc) - vale-spellcheck

agents/telephony/whatsapp.mdx#L28

Did you really mean 'status_detail'?
- Team owner or admin role in the console.

## Connect the number
Expand Down Expand Up @@ -86,8 +84,7 @@
save**. Meta verifies the URL immediately.
</Step>
<Step title="Subscribe to calls">
Under **Webhook fields**, subscribe to `calls`. You can subscribe to
`messages` as well, for the upcoming messaging support.
Under **Webhook fields**, subscribe to `calls`.
</Step>
</Steps>

Expand Down
Loading