Skip to main content

Command Palette

Search for a command to run...

How to Create a Dynamic List Using API Data in ZazzyAgent

Updated
View as Markdown

A normal list is useful when the options are fixed.

For example:

  • Mumbai

  • Delhi

  • Pune

  • Bengaluru

But what if the available options change constantly?

For example:

Available appointments today.

The answer might change every few minutes.

This is where a Dynamic List becomes useful.

What is a dynamic list?

A dynamic list creates interactive options using data provided by another source.

A common architecture is:

Customer
   ↓
HTTP API
   ↓
Fresh Data
   ↓
Dynamic List
   ↓
Customer selects an option

The current Flow Builder supports dynamic lists driven by external API data and mapped fields.

When should you use a dynamic list?

Use one when the choices change.

Examples:

  • Available appointments

  • Available products

  • Delivery slots

  • Service locations

  • Agents

  • Restaurants

  • Hotel rooms

  • Classes

  • Courses

  • Inventory

Example: Appointment availability

Customer:

I want to book today.

Your automation calls:

Appointment API

The API returns:

10:00 AM
1:00 PM
4:00 PM

ZazzyAgent generates the list.

The customer chooses:

1:00 PM

The workflow continues with that selection.

Step 1: Create the API

Create an HTTP API configuration that returns the information you need.

See How to Use HTTP API in ZazzyAgent Flow Builder.

Step 2: Store the response

Configure your workflow so the API response can be used by the dynamic list.

The current dynamic-list workflow uses structured response data stored in a custom field before mapping the list values.

Step 3: Prepare your data

Your API might return data like:

[
  {
    "name": "10:00 AM",
    "description": "Available",
    "id": "1000"
  },
  {
    "name": "1:00 PM",
    "description": "Available",
    "id": "1300"
  },
  {
    "name": "4:00 PM",
    "description": "Available",
    "id": "1600"
  }
]

Your list can use:

name

as the visible title.

description

as supporting text.

id

as an internal value.

Step 4: Configure the dynamic list

Open the appropriate list component in Flow Builder.

Configure the source data.

Map the fields returned by the API to the fields expected by the list.

Step 5: Set the visible title

Choose which API field the customer should see as the main option.

For example:

name

produces:

10:00 AM

Step 6: Add a description

If your data contains a description, use it to provide additional context.

Example:

10:00 AM

Available

or:

10:00 AM

Limited availability

Step 7: Map the selected value

The list should return enough information to identify what the customer selected.

For example:

1300

could represent the 1:00 PM slot.

You can then use that value in the next API call.

Example: Booking process

Customer
   ↓
Choose Date
   ↓
HTTP API
   ↓
Available Slots
   ↓
Dynamic List
   ↓
Customer selects 1:00 PM
   ↓
Booking API
   ↓
Confirmation

This is much better than manually creating a fixed list of appointment times.

Example: Product availability

Your API returns:

Product A
Product B
Product C

The customer sees:

Product A

Product B

Product C

The list updates whenever your underlying system changes.

Example: Delivery slots

The API returns today's available windows:

9 AM – 12 PM
12 PM – 3 PM
3 PM – 6 PM

The customer chooses one.

The next API call can attempt to reserve it.

Dynamic list vs normal list

Normal list

You define the options manually.

Best for:

  • Fixed categories

  • Permanent choices

  • Small menus

Dynamic list

The options come from changing data.

Best for:

  • Availability

  • Inventory

  • Real-time records

  • Customer-specific results

Use:

Dynamic List

when the customer mainly needs to choose from text.

Use:

Carousel

when the customer needs to browse visual cards.

Dynamic list and customer-specific data

A particularly powerful use case is retrieving different options for different customers.

For example:

Show appointments for Rahul's assigned sales representative.

The API can return only the relevant results.

Then the dynamic list displays those options.

Dynamic list and conditions

You can also filter the result before displaying it.

For example:

Customer Type = Enterprise

→ Enterprise appointment options.

Customer Type = Standard

→ Standard appointment options.

Dynamic list and AI

AI can help determine what the customer wants.

For example:

Customer:

I want to book tomorrow afternoon.

AI identifies:

Date = Tomorrow

Time Preference = Afternoon

The automation then calls the availability API and displays the relevant dynamic list.

Common dynamic-list problems

List is empty

Check:

  • API response

  • Stored custom field

  • JSON structure

  • Mapping

Wrong titles appear

Check the title-field mapping.

Wrong option is selected

Check the ID/value mapping.

API returns data but list doesn't display it

Check whether the returned data is in the expected structure.

Options are outdated

Check when the API is being called.

The list is only as current as the source data being retrieved.

Test with realistic data

Don't test only with:

Option 1
Option 2

Use real API response structures.

Also test:

  • Empty result

  • One result

  • Multiple results

  • Unexpected value

  • API failure

The architecture to remember

External System
      ↓
HTTP API
      ↓
Structured Response
      ↓
Custom Field / Mapping
      ↓
Dynamic List
      ↓
Customer Choice
      ↓
Next Action

This turns ZazzyAgent into an interface for your live business data.