Start Here

Not all chatbots are able to satisfy their users. For example, here is a March 2021 survey on the state of chatbots.

On this page, I provide a list of tips and recommendations which will help you build bots which work and improve your chances of success.

The checklist under “Conversation Design” is the most important. The others are not necessary, but will still significantly improve your chatbot accuracy and ease of maintenance.

Applies to Dialogflow ES?Applies to Dialogflow CX?
Conversation Design
Design a conversation flowchart using MindomoYesYes
Avoid slot fillingYesNo
Minimize context lifespanYesNo
Minimize candidate intents at each stepYesNo
Avoid entity overuseYesYes
Use wildcard entity carefullyYesYes
Features to use and to avoid
Avoid the knowledge connectors featureYesNo
Don’t directly add a user utterance from the Training dialog into an intentYesNo
Learn about Regex EntitiesYesYes
Construct JSON inline (instead of using the fulfillment library)YesYes
Use direct API calls (instead of client library)YesYes
Use versioningYesYes
Improve Bot Accuracy
Audit entity annotationYesYes
Design your intents to maximize cohesion and separationYesYes
Auto-generate test scripts from your training phrasesYesYes
Set up automated conversation testingYesIncluded
Add true positives and true negatives into your test scriptYesYes
Download ES conversation logs to audit your botYesNo
Download CX conversation logs to audit your botNoYes
Learn the basics of NLUYesYes
Learn spaCyYesYes