Detecting information with match entities

On this page, we will show you a concrete example of how you can use match entities to detect information given by a user without explicitly asking for it.

Imagine building an FAQ bot. One of the things it can do for the user, is trace their lost package. For the bot to be able to find this lost package, it needs the package number. To get this number, the conversation would look like this:

After the bot has recognised the Lost.Package intent, it displays the message in that block. Using a Go-to in the same block, it automatically shows the second block, which is an Collect input block. In this block, it asks the user for their package number:

After the user gave their package number, the bot displays the third bot message to confirm the package number.

Now this works fine, but what if the user already gives the package number at the start? The way this current flow is set up, the bot would still ask for the package number because it follows the original flow:

But good news: you can solve that using... Match entities 🤩

Knowing that a package number will always consist of 5 letters and 2 numbers, you can create a match entity called @Package_Number to detect this piece of information in a user's expression. And some more good news: You don't need to add special expressions, the bot will always recognise this specific entity because you have predefined it as an entity.

Don't forget to train your NLP after creating the entity so the bot can learn.

Now that you've created the entity and trained your NLP, let's look at our conversation again:

Because you predefined the package number as a match entity, the bot was able to pick up on it in the user's expression, therefore skipping the Collect input block asking for it. The result is a much better user experience and a seemingly smarter bot 😉

Last updated