Home / DialogFlow ES / Dialogflow Tip: Intent mapping with missing parameters
DialogFlow ES

Dialogflow Tip: Intent mapping with missing parameters

Check out my courses Learn Dialogflow ES and Learn Dialogflow CX if you would like to learn Dialogflow in depth. 

Did you know that Dialogflow will allow an intent to be mapped even if the entity you specify is missing? For example, suppose you create an agent with a single intent with exactly one userSays:

“I want to book a ticket to @sys.geo-city”

Even if you added the geo-city entity in template mode, there will be occasions when Dialogflow will map a phrase such as

“I want to book a ticket to Kovai”

As it happens, Kovai is a proper city in south India but it usually goes by the name Coimbatore. However, the name Kovai is very common in colloquial use. Notice what happens inside the Dialogflow console:

You can notice three things:

  1. The intent did get mapped
  2. The geo-city param is empty
  3. The Default Response crashed (that is, we have added a response in the Text response section but since Dialogflow is unable to extract the entity value, it doesn’t display anything)

Expect these errors

So the tip is to

a) be aware of this issue and

b) to plan for suitable ways of mitigation

Obviously, you would need to use a webhook to validate the input, but this is a very good example of a scenario where you can send slot filling into a proper loop. While the user can recover in this case by using the alternate name (Coimbatore) in a slot filling intent, the problem can become a lot harder if you were to use it to collect, for example, someone’s first name.


The BotFlo app gives you many tools which can speed up your Dialogflow bot development

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
Check out my YouTube courses

Dialogflow CX Beginner Tutorial

Dialogflow ES vs CX using a Decision Tree Bot

Intro to NLU for technical non-programmers

Better Dialogflow ES Bots Using the CTFS Framework

Search the autogenerated transcripts of all my YouTube videos
In this free course, I provide some tips for managing large Dialogflow ES bots without compromising on accuracy.

Similar Posts

4 Comments

  1. Can’t you achieve it by marking the entity as “Required” under Actions and Responses? That way Dialogflow will keep asking the question until it fills the entity value. However, in terms of user experience, this can be a bit annoying since the bot keeps asking the same question repeatedly.

    1. If Dialogflow can’t recognize the entity (it doesn’t have the entity value in its database so to speak), marking it as Required doesn’t help. The goal is to let the user type in the value they want, and not change the input just so the conversation can move on to the next step.