Getting Started with Twilio for WhatsApp (Beta)

Twilio now supports sending and receiving messages to and from WhatsApp users! The WhatsApp channel helps expand your reach and availability to your important contacts on any platform that is convenient for them. Best of all, WhatsApp messages are controlled by Twilio's existing Programmable SMS API. Here's what you need to know to get started.

Notice: The WhatsApp Channel is currently in beta, and has not yet been finalized. For more information on Support limitations for beta products, please see our article Twilio Beta Product Support.

Twilio Sandbox for WhatsApp

During the Beta, WhatsApp will be gradually approving accounts. To get started building and prototyping your applications now, Twilio has created a sandbox environment for testing. The sandbox allows you to send and receive pre-approved template messages using a shared Twilio test number that you select at activation.

To be notified as WhatsApp opens up approvals for using your own Twilio numbers and templates, visit your WhatsApp Senders page in Console and press the red Request Access button. This will take you to a form where you can sign up to stay updated as access opens up.

Messaging Capabilities

Outbound messages to WhatsApp users must be sent using one of the pre-approved notification message body templates. To see the approved templates, visit Console. Once approved by WhatsApp, you'll be able to customize these templates.

Responses to incoming messages within 24 hours do not have a template requirement.

Send a Message to a WhatsApp User

To send a WhatsApp message, your application needs to make an HTTP POST request to Twilio’s Programmable SMS Message REST API resource with three required pieces of information; A recipient, a sender, and your message.

  • Recipient: The To parameter consisting of whatsapp: followed by the destination WhatsApp user number (using E.164 formatting).
  • Sender: The From parameter consisting of whatsapp: followed by the sending WhatsApp number (using E.164 formatting).
  • Message: The Body parameter consisting of the desired message you wish to send.

Here’s an example cURL script:

curl -X POST \
--data-urlencode "To=whatsapp:+13105555555" \
--data-urlencode "From=whatsapp:+12125551234" \
--data-urlencode "Body=Your appointment is coming up on {{Date}} at {{Time}}" \

This example will contact the destination (310) 555-5555 from the sender (212) 555-1234 via the WhatsApp app, and send the following message:

Your appointment is coming up on {{Date}} at {{Time}}

To make this script work for you, make the following updates, and then paste it into a terminal window:

  • Line 1 update with your Account SID
  • Line 2 update with a valid destination
  • Line 3 update with a valid sender number
  • Line 4 update with your desired message
    • Messages must be sent using pre-approved templates. Responses within 24hours have no template requirement. See Messaging Capabilities above for more information.
  • Line 5 update with your Account SID and Auth Token.

Additional Resources

Have more questions? Submit a request
Powered by Zendesk