# 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:

```text
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:

```text
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:

1.  Call an external API.
    
2.  Receive appointment data.
    
3.  Save the response.
    
4.  Generate list rows.
    
5.  Display the available appointments.
    
6.  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](https://blog.zazzyagent.com/http-api-zazzyagent-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:

```json
[
  {
    "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.
