Home / DialogFlow ES / How to use list and composite entities in Dialogflow ES
DialogFlow ES

How to use list and composite entities in Dialogflow ES

I will explain how to use list and composite entities in the article.

Suppose you sell three products – KitKat, Snickers and Twix. The user can place an order where they can ask for any quantity of each type. E.g. “I would like 3 Snickers, 1 Twix and 2 Kitkat”

Is there a way to get this input in Dialogflow?

The list and composite entities can help.

Declare the chocolate entity.

Next use the chocolate entity to create an item entity. As you can see the item entity is a “composite” entity, meaning it combines two entities – a number (for quantity) and the chocolate entity

In the Default Welcome intent, add await_order as the output context

Add another intent called provides.order

Notice the following:

when you provide the training phrase, Dialogflow ES annotates multiple “item” entities and then also suggests that the item entity (in the parameters table) is a “List”

You can invoke the values of these entities using the format $item[0] and $item[1] etc (based on the maximum number of entities you think the user might provide).

Let us test this bot

As you can see, when we invoke the values inside the text response, there isn’t really any guarantee that Dialogflow ES will use a specific order. That makes it tricky to use this in the Text Response block.

However, you will see that the webhook does get the correct “parsed” item values. You can check this by looking at the Raw Interaction Log inside your History tab.

<— End of article —>


This website contains affiliate links. See the disclosure page for more details. 
"The magic key I needed as a non-programmer"

The custom payload generator was the magic key I needed (as a non-programmer) to build a good demo with rich responses in DialogFlow Messenger. I've only used it for 30 minutes and am thrilled. I've spent hours trying to figure out some of the intricacies of DialogFlow on my own. Over and over, I kept coming back to Aravind's tutorials available on-line. I trust the other functionalities I learn to use in the app will save me additional time and heartburn.

- Kathleen R
Cofounder, gathrHealth
"Much clearer than the official documentation to be honest"

Thanks a lot for the advice (of buying and following your videos)! They helped a lot indeed. Everything is very clear when you explain, much clearer than the official documentation to be honest 🙂

Neuraz T
Review for Learn Dialogflow CX
"I will strongly recommend this course because even I can learn how to design chatbot (no programming background)"

I think Aravind really did a great job to introduce dialogflow to people like me, without programming background. He organizes his course in very clear manner since I have been a college professor for 20 years. It is very easy for me to recognize how great Aravind’s course is! Very use-friend and very easy to follow. He doesn’t have any strong accent when he gives the lectures. It is so easy for me to understand. Really appreciate it.

Yes, I will strongly recommend this course because even I can learn how to design chatbot (no programming background) after studying Avarind’s course, you definitely can!

Ann Cai
Review for Learn Dialogflow ES

Similar Posts