# Address List

{% embed url="<https://app.supademo.com/demo/cmmaiu53084aedtfhpju9il51?utm_source=link>" %}

**5.2.12 Address List**

The **Address List** action allows the chatbot to display a **list of previously saved addresses** and let the user choose one.

Instead of asking the user to enter their address again, this action retrieves stored addresses and presents them as selectable options. This improves the user experience by reducing manual input and speeding up the process.

The selected address is captured and stored in a variable for use in later chatbot actions.

The workflow preview shown in the final screen demonstrates how the Address List node appears in the chatbot flow after configuration

### **When to Use Address List**

Use the **Address List** action when users may have **multiple saved addresses** and need to select one.

**Common Use Cases**

* Selecting a delivery address for orders
* Choosing a saved service location
* Confirming a shipping address
* Selecting pickup or drop-off locations
* Reusing previously stored customer addresses

Example interaction:

Bot: Hi {{customer.name}}, here are your saved addresses.\
Please select one from the list.\
\
User: Selects a saved address

The chatbot captures the selected address and continues the workflow.

### **How to Add Address List**

Follow these steps to add the Address List action to your bot workflow.

* Open **Bot Builder**
* Click **Add Node**
* Select the **Ask** tab
* Choose **Address List**
* Configure the required fields
* Click **Create**

Once added, the chatbot will display a list of available addresses for the user to select.

### **Address List Configuration**

When creating an Address List action, several configuration fields must be completed.

#### **Action Name**

The **Action Name** identifies this step in the chatbot workflow.

Example:

Select Address From List\
Choose Delivery Address\
Saved Address Selection

In the walkthrough example, the action name is **"Collect the list of address."**

#### **Message**

The **Message** field contains the prompt shown to the user.

Example:

Hi {{customer.name}}, here are your saved addresses.\
\
Please choose one from the list below.

This message informs the user that they need to select an address from the available list.

The message supports:

* Dynamic variables
* Text formatting
* Emojis

Variables can be inserted using the **Add Variable** option.

#### **Variable**

The **Variable** field specifies the variable that contains the stored addresses.

The documentation screenshots show selecting a variable named **Address**, which stores address information collected earlier using the **Ask Address** action.

Example:

Variable: Address

This variable provides the list of addresses that will be displayed to the user.

#### **Variable Path**

The **Variable Path** defines the location of the address list inside the selected variable.

Example:

data.addresses

This path points to the address data stored in the system

#### **Error Attempt**

The **Error Attempt** field defines the number of invalid attempts allowed.

Example:

Error Attempt: 3

If the user sends a response that does not match the address options, the chatbot will trigger the configured fallback behavior.

#### **Error Message**

The **Error Message** appears when the user provides an invalid response.

Example:

⚠️ Please select an address from the list.\
Sending other types of messages is not allowed.

This helps guide the user to select an address correctly

#### **Action on Invalid**

This setting defines how the chatbot behaves when the user exceeds the allowed number of invalid attempts.

Available options include:

**End the Flow**

Stops the chatbot conversation.

**Skip the Question**

Allows the workflow to continue without selecting an address.

**Fall Back Flow**

Redirects the conversation to another predefined chatbot flow.

### **Store Response in Variable**

The **Store Response in Variable** option saves the selected address.

Example variable:

Address\_listed

The walkthrough shows creating a variable such as **Address\_listed** to store the selected address from the list.

#### **Creating a New Variable**

If the variable does not exist:

* Click **Create New Variable**.
* Enter a variable name.

Example:

Address\_listed

* Select the variable in the **Store Response** field.
* Click **Create** to save the configuration.

### **Example Address List Interaction**

Example chatbot conversation:

Bot: Hi John, here are your saved addresses.\
\
1️⃣ Home - Chennai\
2️⃣ Office - Bangalore\
\
Please select one.\
\
User: Office - Bangalore

The chatbot stores the selected address in the variable:

Address\_listed

and continues the workflow.

### **Best Practices**

Follow these recommendations when using Address List.

**Save addresses first**

Ensure addresses are collected earlier using the **Ask Address** action.

**Use clear address labels**

Make sure each address is easy to identify.

**Provide clear instructions**

Tell users to select an option from the list.

**Handle invalid responses**

Use error messages to guide users when incorrect inputs occur.

**Store the selected address properly**

Save the selected address in a variable for further automation

### **Summary**

The **Address List** action allows chatbots to **display saved addresses and let users choose one quickly**.

With Address List, you can:

* Display previously saved addresses
* Allow users to select a stored address
* Avoid repeated manual address entry
* Validate user selections
* Store the selected address for further workflow processing

This feature improves user experience by **simplifying address selection and reducing repetitive input in chatbot interactions**.


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ownchat.app/bot/ask-action/address-list.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
