Prerequisites
To use message buttons, you need:- To be enrolled in the beta program - Sign up here.
- The “Messages with buttons” option to be enabled - Go to Beta features and turn the feature on.
Overview
Buttons let you create interactive messages on WhatsApp, offering users quick reply options. You can add up to 3 buttons per message, each with a different action type.Button types
Support by connection type
Button support varies with the instance’s connection type. On official (WABA) instances, buttons are sent as Cloud API interactive messages, which follow Meta’s own rules. The request signature is the same for both connection types.The “Official (WABA)” column below describes session messages: interactive messages sent within the 24-hour conversation window. Templates have separate registration and approval with Meta and follow their own rules. Call and copy-code buttons exist in templates, even though they are not supported in session messages.
On WABA instances, unsupported combinations return an immediate
400 error with the codes waba_feature_not_supported or waba_invalid_button_combination. No field is silently dropped. See full send examples in Sending WhatsApp messages with WABA and understand the WhatsApp official (WABA) message pricing.Button modes
Button modes (buttons_mode) define how your message is sent on WhatsApp. There are two available modes:
Default mode (auto)
- Used for simple quick reply buttons
- Ideal when you just want text replies from the user
- WhatsApp shows the buttons in a basic way
Interactive mode (interactive)
- Used for more advanced buttons like calls, links, and copyable text
- Enables a richer experience with different action types
- WhatsApp shows the buttons with more visual prominence
How the mode is chosen automatically
If you do not specifybuttons_mode, the system chooses automatically:
- Interactive mode: used when at least one button is of type
call,url, orcopyable - Default mode: used when all buttons are of type
reply
reply, you can force interactive mode by setting "buttons_mode": "interactive" for a better visual presentation.
Button parameters
object[]
Array of buttons. Maximum of 3 buttons allowed.
string
Button display mode. Accepted values:
auto or interactive.Structure of a button
string
required
Button text. Maximum of 20 characters.
string
Button type. Accepted values:
reply, call, url, copyable.string
Unique button ID. Maximum of 256 characters.
string
Number for the call button. Must be in international format.
string
URL for the link button. Must be a valid URL.
string
Text to copy. Accepts any text.