WhatsApp Integration for AI Chatbots
About this integration
WhatsApp is the most popular integration on Botpress. It allows builders to connect their chatbots and AI agents with the messaging platform WhatsApp.
Typically, our users use the WhatsApp integration to deploy chatbots on WhatsApp – as customer service lines, lead nurturing, or any other communication of information that takes place over WhatsApp.
The integration is built on the official WhatsApp Business API, which means every interaction is secure, reliable, and compliant with WhatsApp’s policies.
Our pre-built integration makes it simple to build a WhatsApp chatbot, no matter your level of coding.
Key features
- Automate customer conversations
- Send real-time notifications
- Support multimedia messages (images, video, voice notes)
- Personalize responses with chatbot data
- Enable two-way messaging with users
- Trigger workflows from WhatsApp interactions
- Scale support across regions and languages
- Maintain compliance with WhatsApp Business API
FAQs
What chatbot platforms integrate with WhatsApp?
You connect by applying for WhatsApp Business API access and then linking your chatbot platform to the approved account. Most platforms, including Botpress, provide a connector where you add your WhatsApp Business credentials, phone number, and templates. Once connected, the chatbot can send and receive messages through WhatsApp.
How do I connect a chatbot to WhatsApp Business API?
You need a WhatsApp Business Account, a verified phone number, and Meta approval for API access. Without all three, you cannot launch a production WhatsApp chatbot.
How much does it cost to integrate a chatbot with WhatsApp?
It’s free to integrate a chatbot with WhatsApp on platforms like Botpress. But once you deploy your bot, you’ll have to pay a small amount to the LLM’s API and to WhatsApp (Meta). Expect to pay roughly $0.008 to $0.063 USD per message, which is typically $50-$150 per month depending on user volume.
Do I need a verified business account to use WhatsApp chatbots?
Yes. Verification is required to access the Business API and to ensure messages comply with WhatsApp’s rules.
Can WhatsApp chatbots send images, files, or voice notes?
Yes. WhatsApp chatbots can handle text, images, PDFs, documents, videos, and voice notes. For outbound, proactive messages, these must often be sent inside pre-approved message templates, while inbound (user-initiated) conversations allow free-form multimedia responses.
Are WhatsApp chatbots secure and compliant with data privacy rules?
Yes, when built on the official WhatsApp Business API. All communication is end-to-end encrypted, and Meta enforces compliance with GDPR and other regional privacy standards. Security also depends on how your chatbot platform stores customer data, so builders should implement proper access controls and follow their industry’s compliance requirements.
What do I need before I can set up a WhatsApp chatbot?
You need a WhatsApp Business Account, a verified phone number, and Meta approval for API access. Without all three, you cannot launch a production WhatsApp chatbot.
How long does it take to get approved for WhatsApp API access?
Approval usually takes a few days but can stretch to a couple of weeks depending on Meta’s review. The process checks your business information, phone number ownership, and compliance with WhatsApp policies.
<iframe src="https://www.youtube.com/embed/Kt4Ay_q-WKI" ></iframe>
The WhatsApp integration allows your AI-powered chatbot to seamlessly connect with WhatsApp, one of the most popular messaging platforms worldwide. Integrate your chatbot with WhatsApp to engage with your audience, automate conversations, and provide instant support. With this integration, you can send messages, handle inquiries, deliver notifications, and perform actions directly within WhatsApp. Leverage WhatsApp's powerful features such as text messages, media sharing, document sharing, and more to create personalized and interactive chatbot experiences. Connect with users on a platform they already use and enhance customer engagement with the WhatsApp Integration for Botpress.
## Migrating from 3.x to 4.x
### Automatic downloading of media files
Previously, accessing the content of media messages (such as images, videos, audio and documents) required authenticating with the WhatsApp API using a valid token. In version 4.0 of WhatsApp, the _Download Media_ parameter enables automatic downloading of media files. These downloaded files do not require authentication for access. However, they do count against your workspace's file storage. To continue using the WhatsApp API URLs, set the _Download Media_ parameter to disabled. The _Downloaded Media Expiry_ parameter allows you to set an expiry time for downloaded files.
### Interactive messages values
In version 4.0 of WhatsApp, all incoming button and list reply messages will include both the text displayed to the user (_text_) and the payload (_value_). Use `event.payload.text` to retrieve the label of a button or choice, and use `event.payload.value` to access the underlying value.
### _postback_ and _say_ messages prefix
In version 4.0 of WhatsApp, _postback_ and _say_ messages no longer use the prefixes `p:` or `s:`. If your bot relied on these prefixes for logic or transitions, you can update it to depend solely on the value set for the postback.
### Start conversation
Version 4.0 of WhatsApp introduces small changes in the call signature of the `startConversation` action:
- The `senderPhoneNumberId` parameter has been renamed to `botPhoneNumberId`
- The input object now includes a single property called `conversation`, which contains the actual arguments
If your bot used the `startConversation` action, make sure all parameters are set. Also, if you called `startConversation` from code, make sure the action is called with the correct arguments:
```ts
actions.whatsapp.startConversation({
conversation: {
userPhone: '+1 123 456 7890',
templateName: 'test_message',
templateLanguage: 'en',
templateVariablesJson: JSON.stringify(['First value', 'Second value'])
botPhoneNumberId: '1234567890'
}
})
```