Skip to main content
ElevenLabs Documentation Docs

Search documentation

Type to search this documentation.

On this pageOverview

Interactive messages

Let your agent offer tappable buttons and lists in WhatsApp conversations

Instead of asking the user to type an answer, your agent can send WhatsApp interactive messages: up to three tappable reply buttons, or a list of up to ten options. The user’s tap comes back as their next message, and the agent sees exactly which option was chosen.

Interactive messages work in active WhatsApp message conversations only. They are sent by the agent through two integration tools:

  • Send Interactive Buttons — up to three reply buttons, for small sets of choices.
  • Send Interactive List — a tappable list of options grouped into sections, for more than three choices.

Your browser does not support the video tag.

A user purchases airtime using a list menu and reply buttons.

Source: Meta’s guide to WhatsApp interactive messages.

  1. Add the WhatsApp integration

    Import your WhatsApp business account (instructions), then go to the Integrations page, click the Add integration button, select WhatsApp and connect your account.

  2. Add the tools

    Go to the Tools page, click the Add integration tool button, select the WhatsApp integration, and add the Send Interactive Buttons and Send Interactive List tools.

  3. Attach the tools to your agent

    Add the tools in your agent configuration. The tools always message the user of the live conversation — the agent chooses the content, never the recipient.

Send Interactive Buttons presents one to three choices in the current WhatsApp message conversation.

Parameter Required Description
body_text Yes Message shown above the buttons. Max 1024 characters.
buttons Yes One to three buttons, in display order. Titles must be unique.
footer_text No Small print shown below the buttons. Max 60 characters.

Each button has:

Field Required Description
id Yes Identifier reported back when the user taps this button. Max 256 characters.
title Yes Button label. Max 20 characters.

Send Interactive List presents options grouped into sections in the current WhatsApp message conversation. The user opens the list and selects a row.

Parameter Required Description
body_text Yes Message shown above the list. Max 4096 characters.
button_text Yes Label of the button that opens the list. Max 20 characters.
sections Yes One to 10 groups of options. A list can contain up to 10 rows across all sections combined.
header_text No Heading shown above the message body. Max 60 characters.
footer_text No Small print shown below the list. Max 60 characters.

Each section has:

Field Required Description
title Yes Section heading. Max 24 characters.
rows Yes One to 10 options in this section.

Each row has:

Field Required Description
id Yes Identifier reported back when the user picks this row. Max 200 characters.
title Yes Row label. Max 24 characters.
description No Secondary text shown under the row label. Max 72 characters.

If the agent produces content over a limit, the tool call fails and the agent is told why, so it can retry with shorter content.

Tell the agent in the system prompt when to offer choices. For example:

When you need the user to pick from a fixed set of options (appointment slots,
product variants, yes/no confirmations), use the Send Interactive Buttons tool
for up to 3 options or the Send Interactive List tool for more. Keep option
titles short. Do not use interactive messages for open-ended questions.

Optional: Add a procedure to steer the agent’s tool use

Section titled “Optional: Add a procedure to steer the agent’s tool use”

Giving the agent the tools is half the work — a procedure tells it how to operate them well.

Copy the sample procedure
Markdown
---
name: Offer choices with interactive messages
trigger: The user must pick from a fixed set of known options in a WhatsApp message conversation, such as appointment slots, product variants, or order confirmations.
---

Offer the options as an interactive message instead of asking the user
to type an answer.

1. Check which interactive tools you have. Prefer Send Interactive
   Buttons for 2–3 options and Send Interactive List for 4–10. If only
   one of the two is available, use it for any option count that fits its
   limits; if no interactive tool fits, ask the question in plain text.
   Never present more than 10 options; narrow them down with a question
   first.
2. Write a body_text that asks one clear question. Do not stack multiple
   questions into one interactive message.
3. Give every option a stable, machine-readable id (for example
   slot_2026-08-20_10am) and a short human title — 20 characters for
   buttons, 24 for list rows.
4. For lists, group related rows into titled sections, and add a
   description to a row only when its title alone is ambiguous.
5. Send the message with the tool, then wait for the user's reply. Do not
   send a second interactive message before the user responds to the first.
6. Treat the reply as the user's choice. Confirm it back in one short line
   and continue the flow.

Rules:

- Never use interactive messages for open-ended questions.
- When the fixed options may not cover everyone, include a final option
  such as "Something else" and follow up with a free-text question.
- If the tool call fails because content exceeds a limit, shorten titles
  and descriptions and retry once.
- If the user types an answer instead of tapping, accept it — do not
  re-send the options.
  • Interactive messages can only be sent in message conversations — not during WhatsApp voice calls, and not on other channels.
  • WhatsApp Flows (interactive forms) are not supported. If a user responds with a Flow reply, it is not passed to the agent.
  • Interactive messages are session messages: they can only be sent inside an active conversation, not as the first outbound contact. Use message templates to start conversations.
Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu