If you are creating a large FAQ chatbot in Dialogflow, typing out all the intents one by one can be a slooooooooow and painful process.
Thankfully, Dialogflow has an agent ZIP file import feature, and it is possible to programmatically create this ZIP file.
Note: this article talks about the use case where you have already identified the Dialogflow intents. If you haven’t yet defined the intents and the training phrases inside them, check out my tool which can help you automatically extract Dialogflow intents from your chat logs.
Alternatively, you can use the knowledge base feature. But there are some important differences.
I have created a table summarizing the differences between knowledge based FAQ bots and intent based FAQ bots.
|Intent Based FAQ Bot||Knowledge Based FAQ Bot|
|How we build it||Using intents and training phrases||Using the knowledge base feature|
|Support for multiple responses for the same query||No||Yes|
|Multiple training phrases per intent||Yes||No|
|Supports entities in training phrases||Yes||No|
|Support for contexts (and follow up)||Yes||No|
|Easy to construct rich responses (e.g. for Dialogflow Messenger)||Yes||No|
|Use term reinforcement for adding weights to specific words and phrases||Yes||Blackbox|
|Allows us to minimize intra-intent variance and maximize inter-intent variance (as recommended by Google)||Yes||Blackbox|
As you can see, unless you are sure you need multiple responses from your chatbot, you are much better off going with the Intent Based FAQ Bot.
In this article, I describe how you can type out your intent information into a spreadsheet and then use a CSV export of your spreadsheet to generate a Dialogflow agent ZIP file. I also discuss the different aspects you need to consider as you try to use this approach for more complex FAQ bots.
By following this template, you should be able to build a tool which can create a Dialogflow FAQ chatbot with the push of a button.