Button messages let users respond with a single tap, perfect for quick actions and surveys.
const message = await client.messages.send({
to: "+14155551234",
text: "How would you rate our service?",
channel: "whatsapp",
messageType: "buttons",
content: {
buttons: [
{ id: "good", title: "Good" },
{ id: "average", title: "Average" },
{ id: "poor", title: "Poor" }
]
}
});
Specifications
| Property | Requirement |
|---|
| Max buttons | 3 |
| Button ID | Max 256 chars, unique per message |
| Button title | Max 20 chars |
Body text (text) | Required, max 1024 chars |
When a user taps a button, you receive a webhook:
{
"event": "message.received",
"data": {
"from": "+14155551234",
"type": "button_reply",
"button": {
"id": "good",
"title": "Good"
}
}
}
Use meaningful IDs like confirm_order or cancel_order to make webhook handling easier.
Use Cases
- Customer satisfaction surveys
- Order confirmations (Yes/No)
- Appointment scheduling options
- Quick response options
- A/B testing user preferences