Buttons in AI Agents
Button lists let an AI Agent show tappable choices under a message, so customers click instead of typing. This guide explains what a button list is, how to create one, the button types, and the rules to know. It takes about 5 minutes to read.
What is a button list?
A button list is a group of up to 8 buttons that belongs to one AI Agent node. You place it in the agent's Objective (its prompt) as a chip, and the agent shows the buttons right after the message at that spot.
Use one when you already know the next choices, such as "Track order", "Return or exchange" or "Read policy".
- Button lists can be added to AI Agent nodes only, not to the Supervisor node.
- A list is unique to the agent that owns it and cannot be shared across agents. If two agents need the same buttons, create a list in each.
- Only buttons you create are shown. Auto-generated buttons, where the AI creates buttons on its own based on your prompt, are on the roadmap and not available yet.
Create a button list
Option 1: from the Objective, using /
- Open an AI Agent node and click inside its Objective.
- Type / and choose Button. A dropdown lists this agent's existing button lists. Hover over one to preview its buttons.
- Choose Create New Button List, the last option. A page opens on the right with Back and Save.
- Click Add Button, pick a type and fill in its fields. Repeat for up to 8 buttons, then click Save.
- Back in the Objective, type / and choose Button again, then pick your list. It appears as a chip at the cursor. Saving a list does not place it automatically.
Option 2: from the Button Lists section
Below the Objective is a collapsed Button Lists section. Its heading shows how many lists the agent has, and how many are used, unused or need attention. Expand it and click Create New Button List to open the same page. This section is also where you edit and delete lists. After saving, place the list in the Objective with / then Button.
Working with the chip
- Press Backspace once to remove the chip. The list is kept and marked Unused. Unused lists are never shown to customers.
- You can place the same list in more than one spot in the Objective.
Button types
Type | What happens on click | Fields |
|---|---|---|
Trigger Flow | Starts a flow you built (an NLP flow) straight away. The AI conversation is paused, not ended. | Flow (searchable, one per button), button text, optional value |
Next Step | The click is sent to the AI like a typed message. The AI continues in the same agent or moves on, following your instructions. | Button text, optional value |
Redirect To Link | Opens a web page and does nothing else. Supported on web chat only for now. | Button text, link starting with http:// or https:// |
Button text is the label customers see. The optional value is a hidden string sent instead of the text. If you leave it empty, the text is sent. Use specific values such as btn_cancel_order, and tell the agent in its Objective what to do with them.
Example: order support
An Order Support AI Agent should offer three choices.
Button text | Type | Settings |
|---|---|---|
Order status | Trigger Flow | Flow: Check Order Status. Value: btn_order_status |
Return or exchange | Next Step | Value: btn_return_exchange |
Return policy | Redirect To Link | https://www.example.com/return-policy |
- Create the list with these three buttons, using either option above. Say it is saved as Button List 4.
- In the Objective, write "Ask the customer how they would like to proceed." Then type /, choose Button and pick Button List 4 to insert the chip.
- Add a line for the Next Step button: "If the customer's message is btn_return_exchange, ask for the order number and help them choose a return or an exchange."
- Save, deploy and test in a web chat.
The customer sees the question with three buttons. Order status opens the guided flow, Return or exchange continues with the AI, and Return policy opens the page.
How it renders and works
Channel | How the buttons appear |
|---|---|
Web chat | All buttons, as tappable buttons. |
1 to 3 buttons as quick replies. 4 to 8 buttons as a list message. | |
Messenger | As many buttons as Messenger allows. Longer lists become a menu or list. |
Other channels | Numbered text options. |
- The AI writes its reply. At the chip's position, the buttons are added after the message text. Customers never see the chip itself.
- If the reply includes more than one list, only the first is shown.
- A click runs the button's action. Trigger Flow goes straight to the flow without the AI deciding where to route.
- If the customer types instead, the bot matches the words to the buttons shown last and runs the best match. A typed link label never opens the page. The bot asks the customer to click it. If nothing matches, the agent follows your Objective, for example by repeating the options.
Best practices, limits and rules
- Lead into the buttons with a clear question, such as "How would you like to proceed?".
- Use Trigger Flow for fixed processes and Next Step for open conversation. Use Redirect To Link only where the bot runs on web chat.
- Keep button text short and values specific.
- Tell the agent how to handle each Next Step value, and what to say if typed text matches no button.
- Test on every channel you use, especially WhatsApp when a list has more than 3 buttons.
Rule | Detail |
|---|---|
Up to 8 buttons per list | Add Button is unavailable after the eighth. |
AI Agent nodes only | Button lists cannot be added to the Supervisor node. |
Lists are not shared | Each list belongs to one agent. Copying a list or its chip to another agent is not supported, and a pasted chip shows as invalid. |
Space between lists | Two different lists in one Objective need at least 10 characters of meaningful text between them. |
One list per message | Only the first list in a reply is shown. |
Links | Web chat only. The link must start with http:// or https://. |
Deleted or disabled targets | If a flow behind a button is deleted or disabled, deployment is blocked for lists in use. For unused lists you only get a warning. The message names the list, button and agent. |
Hand-overs | A conversation can move between the AI and guided flows up to 5 times. After that the bot shows its fallback response. |
Troubleshooting
What you see | Likely cause and fix |
|---|---|
No Button option after typing / | You are in the Supervisor node or a field that does not support buttons, or buttons are not enabled for your bot. Use the Objective of an AI Agent node, or ask your Exotel contact to enable the feature. |
List saved but customers see no buttons | The list is not placed in the Objective (it shows as Unused), or the bot has not been deployed. Insert the chip and deploy. If the AI still skips it, make the instruction explicit. |
Deployment blocked | Read the message. Usually a flow behind a button is unavailable, or two lists are too close together. Fix the target, remove the button, or add text between the lists. |
Link button will not save | The link does not start with http:// or https://. |
Link button missing or not working | Link buttons work on web chat only. |
Chip shows as invalid | It was copied from another agent. Create a new list in this agent. |
Typed words not recognised | Add an Objective instruction for messages that match no button. |
FAQs
Can I share a button list between agents? No. Each list belongs to one AI Agent node. Create a separate list in each agent.
Can the AI create buttons on its own? Not yet. This is planned. For now, only the buttons you create are shown.
Does removing the chip delete the list? No. The list stays and is marked Unused. Only Delete in the Button Lists section removes it.
Does the AI conversation end after a Trigger Flow (NLP) click? No. It is paused, and the context is kept.
Can guided flows send customers to the AI Agent? Yes. Quick Reply and Confirmation prompts have a Transfer to AI Agent action when the AI Agent is enabled for the bot.