How to Use WhatsApp Lists in ZazzyAgent
Buttons are great when you only have a few choices.
But what happens when a customer needs to choose from a larger list?
That's where an interactive list can be useful.
For example:
Select your city.
The customer can open the list and choose:
Mumbai
Delhi
Bengaluru
Hyderabad
Pune
Chennai
Lists help keep the WhatsApp conversation organized without displaying every option as a separate button.
What is an interactive list?
An interactive list presents a set of selectable rows inside a WhatsApp message.
Each row can represent an option such as:
Product category
City
Service
Support topic
Appointment type
Account action
When should you use a list?
Use a list when customers need to choose from several predefined options.
Examples:
Select a department.
Select a city.
Select a service.
Select a product category.
List vs buttons
Use buttons when there are only a few important choices.
Use a list when there are more choices.
Example:
Buttons
How can we help?
Sales
Support
Billing
List
Which service are you interested in?
Website Development
WhatsApp Automation
CRM Integration
Lead Generation
Customer Support Automation
AI Agent Setup
The list keeps the message cleaner.
Create a list
Open the appropriate Flow Builder flow.
Add the WhatsApp interactive/list component available for the connected account.
Define the message.
Then add the list sections and rows.
Give the list a clear title
The customer should know what they're choosing.
Good:
Choose a service
Poor:
Select
The more obvious the question, the easier the interaction.
Add descriptive rows
Use short, meaningful names.
Good:
Website Development
New website or redesign
Poor:
Option 1
The description can help customers distinguish between similar choices.
Connect each row
Each selectable row should lead to the correct next step.
Example:
Choose a service
↓
Website Development → Website Flow
WhatsApp Automation → WhatsApp Flow
AI Automation → AI Flow
Lists and product categories
Lists are useful at the beginning of product journeys.
Example:
What would you like to shop for?
Men's
Women's
Accessories
The customer chooses a category.
The next step can then show the relevant products.
Lists and support
A support menu might be:
What can we help you with?
Order Issue
Payment Issue
Delivery
Refund
Technical Support
Each selection can route the customer into a specific support flow.
Lists and appointment booking
You could ask:
What service would you like to book?
Then provide:
Consultation
Demo
Installation
Maintenance
After the customer chooses, continue into a WhatsApp Flow form or User Input step.
Dynamic lists
ZazzyAgent can also support dynamic list experiences where list rows are generated from customer-specific data.
This is particularly useful when the choices aren't fixed.
For example, suppose an external API returns:
Product A
Product B
Product C
Product D
Instead of manually creating four rows, the list can be generated from the returned data.
Example: API-powered list
A customer asks:
Show me available appointments.
Your automation can:
Call an external API.
Receive appointment data.
Save the response.
Generate list rows.
Display the available appointments.
Let the customer select one.
The result can look like:
Available Appointments
Monday — 10:00 AM
Monday — 2:00 PM
Tuesday — 11:00 AM
Wednesday — 4:00 PM
This is much more powerful than manually creating every possible option.
See HTTP API in ZazzyAgent: Complete Guide.
Dynamic list data
When building a dynamic list, your API response should contain structured information that ZazzyAgent can map into the list.
For example:
[
{
"product_name": "Product A",
"price": "₹999",
"description": "Product description"
},
{
"product_name": "Product B",
"price": "₹1499",
"description": "Another product"
}
]
The exact field names can be chosen to match your mapping.
Use dynamic lists carefully
Dynamic lists are powerful, but they introduce another dependency:
API
→ Data
→ Custom Field
→ List
If the API returns bad data, the list may not display correctly.
Common list problems
List is empty
Check whether the source data contains valid values.
Rows show the wrong text
Check field mapping.
Customer selects a row but the wrong path starts
Check the row's action/destination.
Dynamic list isn't updating
Check whether the latest API response is being saved into the expected custom field.
When not to use a list
Don't use a list just because it exists.
A simple question such as:
Do you need support?
may only need:
Yes
No
Use the simplest interface that solves the problem.
Good list design
A good list has:
Clear question
Short row titles
Useful descriptions
Logical categories
Correct actions
The rule to remember
Few choices → buttons.
Many choices → list.
Changing choices → dynamic list.
That simple distinction covers most list use cases.
