WhatsApp

Connect a WhatsApp business number

View as MarkdownOpen in Claude

Your SignalWire account connects to WhatsApp through your existing Facebook/Meta Business account. Once connected, your WhatsApp business numbers appear in your Space and can be used as the from address in the Messaging API.

WhatsApp on SignalWire is in early-access alpha and is enabled per Space. The steps below are coordinated with your SignalWire representative. Number provisioning is not yet self-serve. See the overview for what’s included in the alpha.

Prerequisites

  • A Meta Business Account (Facebook/Meta Business).
  • A SignalWire Space with WhatsApp alpha access enabled.
  • SignalWire project credentials: your Project ID and an API key with the numbers scope. You’ll find these in your SignalWire Dashboard.

Connect your account

1

Request alpha access

WhatsApp access is gated at the Space level. Request early access through this form to have the feature enabled for your Space and begin onboarding.

2

Complete Meta embedded signup

SignalWire uses Meta’s embedded signup flow to link your WhatsApp Business Account (WABA) to your SignalWire Space. During this flow you authorize the connection with Meta and select the business phone number(s) to register.

3

Confirm your numbers

After signup completes, your registered WhatsApp numbers appear in your Space, associated with your WhatsApp Business Account. Confirm they’re present before sending messages.

During the alpha, adding or removing WhatsApp numbers is handled on request by the SignalWire team, or directly via the Meta Business dashboard. It cannot be done programmatically through the API or the customer-facing SignalWire Dashboard at this time.

Verify the connection

List the WhatsApp Business Accounts connected to your Space:

GET
/api/messaging/whatsapp/businesses
1curl https://{your_space_name}.signalwire.com/api/messaging/whatsapp/businesses \
2 -u "<project_id>:<api_token>"

And list the WhatsApp numbers available to use as a from address:

GET
/api/messaging/whatsapp/numbers
1curl https://{your_space_name}.signalwire.com/api/messaging/whatsapp/numbers \
2 -u "<project_id>:<api_token>"
Response
1{
2 "data": [
3 {
4 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
5 "business_phone_number_id": "102290129340398",
6 "phone_number": "whatsapp:+15557654321",
7 "calling_handler_resource_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
8 "messaging_handler_resource_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
9 "business_name": "Acme, Inc.",
10 "waba_id": "109876543210987",
11 "whatsapp_business_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
12 "voice_enabled": false,
13 "voice_capable": false,
14 "created_at": "2024-01-15T10:30:00Z",
15 "updated_at": "2024-01-15T10:30:00Z"
16 }
17 ]
18}

Each number record includes its association with a WhatsApp Business Account, voice-capability flags, and the resource IDs used for routing calls or messages through SignalWire. See the List WhatsApp numbers and List WhatsApp Business Accounts reference for the full response schemas.

Next steps