Skip to contentSkip to navigationSkip to topbar
Rate this page:
On this page

Guided Onboarding


(warning)

Warning

As of February 1st, 2024, Meta requires all new ISVs to use the WhatsApp Tech Provider Program in order to onboard their customers (i.e. End Clients) to WhatsApp. Twilio will no longer be enabling new customers to use the process described below.

Existing ISVs onboarding phone numbers for new or existing End Clients have until December 31, 2024 to transition to the program.

(information)

Info

Please make sure you first review "Getting started with WhatsApp" as the below instructions only apply to independent software vendors (ISVs) and direct customers who onboarded their first WhatsApp Sender prior to December 2022.

In this guide, we walk you through getting your Twilio phone number approved to be used with WhatsApp. This gives you the ability to receive and send messages from your Twilio number through the WhatsApp. If you want to use a non-Twilio number, please refer to Can I register my own phone number for WhatsApp on Twilio?

At a high level, to enable your Twilio number for WhatsApp, you must complete the following steps:

  1. Submit a WhatsApp Sender request in the Twilio Console
  2. Approve Twilio to message on your behalf in the Meta Business Manager console
  3. Submit your Meta Business Manager account for Business Verification
  4. (Twilio completes your WhatsApp Sender registration)

A note for ISVs

This guide includes instructions for both direct businesses and third-party vendors. Third party vendors include independent software vendors (ISVs) who are implementing WhatsApp on behalf of another company or brand. Under each step, look for the Note for ISVs subheading to find specific instructions.


Overview of the registration process

Before getting started

Before getting started, please make sure your business meets the eligibility criteria for the WhatsApp Business Platform.

Can I use my own number?

If you want to use your number, and that number has never been registered with the WhatsApp Business API, then it can be used to register with Twilio. You will still need to follow the steps described in this guide.

Note for ISVs

When onboarding a new End Client, you will need to have the following information handy:

  • Client's Meta Business Manager ID - Your client will need to have created a Meta Business Manager prior to you submitting this form
  • Client's Legal Business Name
  • Client's Contact Email Address - This should be whoever will be filling out the form to accept the End Client terms

Step 1: Submit a Sender Profile and Message Templates

Submit the WhatsApp Sender

Navigate to the Messaging > Senders > WhatsApp Senders section in the Twilio Console. Click the WhatsApp Sender submission button to create a new sender profile. If you already have a WhatsApp sender, click "Create new Sender".

whatsapp-senders.

ISVs Only - Client Information

If this is the first WhatsApp Sender for a new End Client, you will need to enter in your Client's information. This replaces the request access form.

GuidedOnboardingEndClient.

Select a phone number

GuidedOnboardingSelectPhoneNumber.

Fill out your WhatsApp Sender Profile information

GuidedOnboardingProfile.

Twilio will then submit your Display Name to WhatsApp. You will receive automated confirmation through Zendesk that your Profile Information form has been received.

Logo requirements

Logos are not reviewed by WhatsApp and can be set by submitting a link to an image as part of your WhatsApp Sender Profile. Please be aware of the following requirements when submitting a logo:

  • Minimum size restriction: 640x640 pixels
  • Maximum size restriction: 5 MB
  • Square aspect ratio
  • PNG or JPG (JPG recommended)
  • No clear (alpha) background

You can update your logo after your sender profile is approved by navigating to the WhatsApp Senders page and clicking on the sender.

The logo must must only represent a brand that you own and operate. Operating a sender with another brand's logo is considered impersonation and is against WhatsApp's terms of service.


Step 2: Approve Twilio to send messages on your behalf

For the first WhatsApp Sender in an Account, when you receive notice that Twilio has submitted your Display Name and number to WhatsApp, you will need to approve Twilio to send messages on your behalf. You will receive an email to "Approve Twilio to message on behalf of" in your Meta Business Messenger. This email usually has the subject "WhatsApp Profile Request."

Go to the Facebook Business Manager console and approve Twilio to "message on behalf of." You can find this request by following this link, or navigating to business.facebook.com > Business Settings > Requests section. Once there, click the Approve button.

Facebook Business Manager Console page for approving Twilio to send messages on your behalf.

Step 3: Verify your Meta Business Manager account

If you have already verified your Meta Business Manager account previously, you will not need to complete this step again. Consult Meta's documentation about verifying your business for more information.

As soon as you receive the ability to "Approve" Twilio to send messages on your behalf, you will be able to verify your Meta Business Manager account if you have not already done so. In the Meta Business Manager>> Settings console, click the Start or Continue button under in the Verification section.

Meta business manager account verification in the Twilio Console.

(The verification button may be greyed out prior to starting the onboarding process.)

You may be required to upload supporting documents to verify your business. See Meta's guide on uploading official documents to verify your business for more information.

The Meta Business Verification process can take anywhere from 5 to 20 business days, depending on your region and company type. If you have not heard back from Meta in more than 10 business days, please let the Twilio team know.


Step 4: Twilio completes your WhatsApp Sender registration

After you approve Twilio to message on your behalf, Twilio will complete the registration process to register your WhatsApp sender. You will receive an email confirmation that Twilio has finalized the registration of your profile.

At this point, your Sender is ready to receive messages from customers in production. You can test this by sending a WhatsApp message to your Twilio number and checking the Message Logs section in the Twilio Console. Once you receive a message, you can reply within 24 hours with free-form messages. You can read more about Conversational messaging with WhatsApp here.


Step 5: Submit Message Templates

To start conversations with new users, or with existing users who have not sent you a message for more than 24 hours, you are required to use a message template. To submit a message template, navigate to Messaging > Senders > WhatsApp Templates.
Learn more about WhatsApp Message Templates here.

Send an outbound freeform message with WhatsApp

Send a freeform message within the 24-hour session

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_20
// Download the helper library from https://www.twilio.com/docs/node/install
_20
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_20
_20
// Find your Account SID and Auth Token at twilio.com/console
_20
// and set the environment variables. See http://twil.io/secure
_20
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_20
const authToken = process.env.TWILIO_AUTH_TOKEN;
_20
const client = twilio(accountSid, authToken);
_20
_20
async function createMessage() {
_20
const message = await client.messages.create({
_20
body: "Hello there!",
_20
from: "whatsapp:+14155238886",
_20
to: "whatsapp:+15005550006",
_20
});
_20
_20
console.log(message.body);
_20
}
_20
_20
createMessage();

Output

_28
{
_28
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_28
"api_version": "2010-04-01",
_28
"body": "Hello there!",
_28
"date_created": "Thu, 24 Aug 2023 05:01:45 +0000",
_28
"date_sent": "Thu, 24 Aug 2023 05:01:45 +0000",
_28
"date_updated": "Thu, 24 Aug 2023 05:01:45 +0000",
_28
"direction": "outbound-api",
_28
"error_code": null,
_28
"error_message": null,
_28
"from": "whatsapp:+14155238886",
_28
"num_media": "0",
_28
"num_segments": "1",
_28
"price": null,
_28
"price_unit": null,
_28
"messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_28
"sid": "SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_28
"status": "queued",
_28
"subresource_uris": {
_28
"media": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Media.json"
_28
},
_28
"tags": {
_28
"campaign_name": "Spring Sale 2022",
_28
"message_type": "cart_abandoned"
_28
},
_28
"to": "whatsapp:+15005550006",
_28
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/SMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
_28
}


What's next?

Once your Twilio number is connected to WhatsApp, you have many options.


Why does Twilio need to modify my Voice URLs?

In order to register a phone number with WhatsApp, WhatsApp sends a pin code to the phone number to verify ownership. In situations where the phone number cannot receive SMS messages, Twilio may need to receive the pin code from an automated voice call from WhatsApp. This can happen when a Twilio phone number is not SMS-capable, or when WhatsApp is having trouble delivering SMS pin codes to the phone number. To receive a pin code via voice, Twilio may temporarily disable the phone number's webhook URL used for incoming calls. This process typically takes 5-15 minutes, and Twilio will revert the change to the previous URL. However, during this time, all calls to the number will be routed away from your system so that our team can intercept the pin code from WhatsApp.

If your WhatsApp sender ever goes offline after it is initially registered, the pin code verification process will need to be completed again.

If you would like us to coordinate with you when registering or re-registering a number on WhatsApp, please let us know by opening a support ticket.


Rate this page: