> For the complete documentation index, see [llms.txt](https://docs.dapta.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dapta.ai/ai-text-agents/channels/interactive-messages.md).

# Buttons, lists and carousels

On WhatsApp, your Text Agent can answer with buttons, lists, a link button and carousels of cards, so your clients tap an option instead of typing it.

On WhatsApp, your Text Agent can answer with messages your clients tap instead of typing: reply buttons, a list of options, a button that opens a web page, or a carousel of cards with photos. The agent picks the format that fits each moment of the conversation. When the client taps an option, the agent gets it as their answer and carries on from there.

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-ab184d5f77bb8592e8d01ee8e2b4c51ebd9611c9%2Ftext-agents-interactive-messages.mp4?alt=media>" %}

{% file src="/files/x76HxzZq6LHHQSuKlHOc" %}

***

## What your agent can send

| Format            | What your client sees                                                             | Use it for                                                         | Limits                                                                                                                                                               |
| ----------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Reply buttons** | A message with up to 3 buttons under it                                           | A quick choice: morning or afternoon, yes or no, a type of service | Up to 3 buttons, 20 characters each                                                                                                                                  |
| **List**          | A message with one button that opens a menu of options, grouped in sections       | More than 3 choices: your branches, services or plans              | Up to 10 options in total, 24 characters each, with an optional line of description                                                                                  |
| **Link button**   | A message with one button that opens a web page                                   | Your booking page, a payment link, a product page                  | One button; the link starts with `https`                                                                                                                             |
| **Carousel**      | 2 to 10 cards side by side, each with a photo or video, a short text and a button | Products, properties or plans the client can compare               | Card text up to 160 characters. Every card has the same kind of media (all photos or all videos) and the same kind of button: a link button, or 1 or 2 quick replies |

Reply buttons and the link button can carry a short title on top (text, a photo, a video or a document) and a small grey footer under the message. A list can carry a text title.

***

## When your agent can use them

* **On every Text Agent with a WhatsApp number connected through Meta.** There's nothing to turn on. See [Connect your Agent with WhatsApp](/ai-text-agents/channels/connect-your-agent-with-whatsapp.md).
* **Within 24 hours of the client's last message.** That is WhatsApp's reply window. To start a conversation or write after the window closes, you still use a [template](/ai-text-agents/channels/template-types.md), and templates can carry their own buttons and carousels.
* **Only the agent sends them.** Your team can't send them by hand from Inbox.

They are not available in the Playground, in the website widget, on other channels or on legacy lines. To try them, write to your agent's WhatsApp number from your phone.

***

## Guide your agent

The agent decides on its own when a button or a list makes the answer easier. To make it use one at a specific moment, say so in its instructions:

| You want                     | Write in the agent's instructions                                                                                   |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| Offer times as buttons       | "When the client wants an appointment, ask morning or afternoon with buttons."                                      |
| Show your plans side by side | "When the client asks about our plans, show them as a carousel with a photo of each and a button: I want this one." |
| A menu of your branches      | "Show our branches as a list grouped by city."                                                                      |
| Send the payment link        | "When the client is ready to pay, send the payment link as a button."                                               |

* **Links.** The agent only sends links you gave it, in its instructions or from its [actions](/ai-text-agents/setting-up-your-text-agent/text-agent-actions.md). It never makes one up.
* **Photos and videos.** Use a public link (`https://…`) to the file, or a file in the agent's [knowledge base](/ai-text-agents/setting-up-your-text-agent/brains-for-text-agents.md).
* **Use what the client picked.** The tap reaches the agent as the client's answer. For reply buttons and lists, it also carries the option they chose and the message it answered. You can build on it: "If they choose Afternoon, offer times between 2 and 6 pm."

***

## In Inbox

* Your agent's messages look the way your client sees them: the buttons under the message, the list with all its options, and the carousel cards, which you scroll with the arrows.
* When the client taps a reply button or picks from a list, their answer shows the message it replied to.
* Templates you sent now show their title, footer, buttons and carousel cards too.
* If a message couldn't reach the client, for example because the 24-hour window had closed, the agent's action stays in the chat with the reason.

***

## What it costs

On Dapta's side, an answer with buttons, a list or a carousel costs the same as a text answer: it counts as one agent message. What Meta charges for delivery doesn't change; see [WhatsApp billing](/ai-text-agents/channels/whatsapp-billing-and-meta-charges.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.dapta.ai/ai-text-agents/channels/interactive-messages.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
