Conversational Components | Developer Documentation
Conversational Components
Updated: Mar 27, 2026
Conversational components are in-chat features that you can enable on business phone numbers. They make it easier for WhatsApp users to interact with your business. You can configure easy-to-use commands and provide pre-written ice breakers that users can tap.
Limitations
If a WhatsApp user taps a universal link (that is, wa.me link) configured with pre-filled text, the user interfaces for ice breakers are automatically dismissed.
Configure using WhatsApp Manager (WAM)
You can configure all of these features in WhatsApp Manager on the specific numbers you choose:
Solution Partners can configure these features for their customers as well if they have access to their customer’s WhatsApp Business Account in WhatsApp Manager.
Ice breakers
Ice breakers are customizable, tappable text strings that appear in a message thread the first time you chat with a user. For example, “Plan a trip” or “Create a workout plan”.
Ice breakers are great for service interactions, such as customer support or account servicing. For example, you can embed a WhatsApp button on your app or website. When users tap the button, they will be redirected to WhatsApp where they can choose from a set of customizable prompts, showing them how to interact with your services.

You can configure up to 4 ice breakers on a business phone number. Each ice breaker can have a maximum of 80 characters. Emojis are not supported.
When a user taps an ice breaker, it triggers a standard received message webhook. The ice breaker string is assigned to the
body property in the payload. If the user attempts to message you instead of tapping an ice breaker, the keyboard will appear as an overlay, but it can be dismissed to see the ice breaker menu again.If a WhatsApp user taps a universal link (wa.me or api.whatsapp.com links) configured with pre-filled text, the user interfaces for ice breakers are automatically dismissed.
Webhook payload
{
"object": "whatsapp_business_account",
"entry": [
{
"id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
"changes": [
{
"value": {
"messaging_product": "whatsapp",
"metadata": {
"display_phone_number": "<BUSINESS_DISPLAY_PHONE_NUMBER>",
"phone_number_id": "<BUSINESS_PHONE_NUMBER_ID>"
},
"contacts": [
{
"profile": {
"name": "<WHATSAPP_USER_NAME>"
},
"wa_id": "<WHATSAPP_USER_ID>"
}
],
"messages": [
{
"from": "<WHATSAPP_USER_PHONE_NUMBER_ID>",
"id": "<WHATSAPP_MESSAGE_ID>",
"timestamp": "<TIMESTAMP>",
"text": {
"body": "Plan a trip"
},
"type": "text"
}
]
},
"field": "messages"
}
]
}
]
}Commands
Commands are text strings that WhatsApp users can see by typing a forward slash in a message thread with your business.

Commands are composed of the command itself and a hint, which gives the user an idea of what can happen when they use the command. For example, you could define the command:
/imagine - Create images using a text promptWhen a WhatsApp user types, /imagine cars racing on Mars, it would trigger a received message webhook with that exact text string assigned to the
body property. You could then generate and return an image of cars racing on the planet Mars.You can define up to 30 commands. Each command has a maximum of 32 characters, and each hint has a maximum of 256 characters. Emojis are not supported.
Webhook payload
{
"object": "whatsapp_business_account",
"entry": [
{
"id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
"changes": [
{
"value": {
"messaging_product": "whatsapp",
"metadata": {
"display_phone_number": "<BUSINESS_DISPLAY_PHONE_NUMBER>",
"phone_number_id": "<BUSINESS_PHONE_NUMBER_ID>"
},
"contacts": [
{
"profile": {
"name": "<WHATSAPP_USER_NAME>"
},
"wa_id": "<WHATSAPP_USER_ID>"
}
],
"messages": [
{
"from": "<WHATSAPP_USER_PHONE_NUMBER_ID>",
"id": "<WHATSAPP_MESSAGE_ID>",
"timestamp": "<TIMESTAMP>",
"text": {
"body": "/imagine cars racing on Mars"
},
"type": "text"
}
]
},
"field": "messages"
}
]
}
]
}Configure using the API
Using the API, you can also configure conversational components and view any configured values.
The Conversational Components API has two endpoints:
POST /<PHONE_NUMBER_ID>/conversational_automation which is used to configure conversational components on a given phone number.GET /<PHONE_NUMBER_ID>/conversational_automation which returns the current values for the commands and prompts fields on a given phone number.Configure conversational components via the API
You can configure conversational components on a given phone number by calling the POST endpoint.
Request syntax
// Configure Commands with names and descriptions
POST /<PHONE_NUMBER_ID>/conversational_automation?commands=<COMMAND_LIST>
// Configure Prompts
POST /<PHONE_NUMBER_ID>/conversational_automation?prompts=<PROMPT>
Body properties
| Placeholder | Description | Sample Value |
|---|---|---|
<PHONE_NUMBER_ID>String | Required. A phone number ID on a WhatsApp Business account. | +12784358810 |
<COMMAND_LIST>JSON | Optional. A list of commands to be configured. | [
{
“command_name”: “generate”,
“command_description”: “Create a new image”
},
{
“command_name”: “rethink”,
“command_description”: “Generate new images from existing images”
}
] |
<PROMPTS>List of String | Optional. The prompt(s) to be configured. | "prompts": ["Book a flight","plan a vacation"] |
Sample request
curl -X POST \
'https://graph.facebook.com/v22.0/PHONE_NUMBER_ID/conversational_automation' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"commands": [
{
"command_name": "tickets",
"command_description": "Book flight tickets"
},
{
"command_name": "hotel",
"command_description": "Book hotel"
}
],
"prompts": ["Book a flight", "plan a vacation"]
}'Sample response
{
"success": true
}
View the current configuration using the API
You can view the current configuration of Conversational Components on a given phone number by calling the GET endpoint.
Request syntax
GET /<PHONE_NUMBER_ID>?fields=conversational_automation
Sample response
{
"conversational_automation": {
"prompts": [
"Find the best hotels in the area",
"Find deals on rental cars"
],
"commands": [
{
"command_name": "tickets",
"command_description": "Book flight tickets"
},
{
"command_name": "hotel",
"command_description": "Book hotel"
}
]
},
"id": "123456"
}
Testing
To test conversational components once they have been configured, open the WhatsApp client and open a chat with your business phone number.
For ice breakers, if you already have a chat thread going with the business phone number, you must first delete the chat thread:
You can then send a message to the business phone number to test your ice breakers.
No comments to display
No comments to display