I recently built an app which lets you do full text search across all your Dialogflow intents, as well as filter on input and output contexts.
In the process, I needed to get a good understanding of what the Dialogflow agent ZIP files contain. Here is a summary of things I learnt. This could be useful if you wish to use the agent ZIP file to build out your own Dialogflow tooling.
ZIP file structure
The folder structure looks like this:
The agent.json file has metadata about the agent itself, while package.json has versioning information.
UserSays and Response JSON files
On expanding the intents folder, we see the following:
Notice that for each intent, there is a JSON file corresponding to the userSays and another corresponding to the response.
If you use different English locales in your agent, you will see one userSays file per locale.
Locale Specific Responses
However, all the locale specific responses are still added into the single Response JSON file:
The UserSays file
The user says file contains the following fields:
The structure of the user says JSON file is quite simple to follow.
Here data is an array of JSON objects – and each data object corresponds to the different userSays declared in your intent. Inside, you see a field called text which contains the actual user says text.
Response JSON file
The response JSON file is more complex. It has information about
- input contexts (lines 5-7)
- whether the contexts will be reset when this intent is mapped (line 10)
- the output contexts and their lifespans (lines 11-17)
- parameters defined in the intent (lines 18-25)
- the actual response messages (lines 26-32)
- does this intent use a webhook (line 38)
- whether the webhook is used for slot filling (line 39)
- events which may be used to trigger the intent (line 42)
Inside the response JSON files, the different platforms (channels) are distinguished by the platform field.
Within the platforms themselves, the individual message types are distinguished by using the type field.
Using the information you can extract from the agent ZIP file, you can do some cool stuff like build a full text search tool, and perhaps tools for analyzing your agent, or to add some source control to your agent ZIP file.
<— End of article —>
This website contains affiliate links. See the disclosure page for more details.
Check out the Learn Dialogflow ES and Learn Dialogflow CX courses if you would like to learn Dialogflow in depth.
"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