As you add new controls to the Google Assistant for a single intent, you will begin to notice that API.AI enforces a very specific arrangement for the controls.
The reason for this can be inferred by looking at the documentation on how Rich Responses are defined for the Google Assistant:
As you try and add new controls in a single intent, you will notice that API.AI tries to automatically impose the suitable arrangement so that your response is a valid rich response. For example, the image below shows what the API.AI console looks like when you add a link out chip first.
Now when you add a simple response type in the same intent, the next image shows you how the Simple Response is added above the link out suggestion.
Not only does API.AI automatically position the Simple response above the link out suggestion, in the actual JSON it sends in the REST API response, the order of the messages follows exactly the arrangement you see in the user interface. You will see how this actually will be an important consideration as we try to program our web chat box to render these controls.
The main takeaway from this post is the following: by enforcing the arrangement of the different controls, API.AI makes sure that the end user’s experience is consistent. This will become clearer as we move along and try to write our code for rendering the web chat box.