Search code examples
javascriptdialogflow-esactions-on-google

Dialogflow - Google Assistant - at most two 'simple_responses' are supported


I'm trying to use the Google Assistant with Dialogflow.

All my flow are working in Dialogflow, but when I finally tested on Google Assistant and I have this error :

MalformedResponse
expected_inputs[0].input_prompt.rich_initial_prompt: at most two 'simple_responses' are supported.

I understand this error but I have to answer more than two simple answer. I don't know how can I bypassed this error.

I didn't use fullfillment to make my Assistant.

I need to wait the user say something? or create a new intent?

Edit :

Before explain my problem, I want to present what the User do to arrive to this intent :

-> Invocation:

User : ok google, load Xxxx

Assistant : - Hello User, Welcome to XXX ! - Actualy, We have promotion on .... Do you want to know more ?

-> Yes Fallback Intent:

User: - Yes !

Assistant: (here I have a problem) "- Ok, The email is XXXX. - We send informations with A PDF. - If your email is incorrect, you can change it on XXXX.fr. - I can do other things like .... - What do you want to do ?"

I need to pronounce this text but every phrases can be replaced by variant phrases (4 variants). So my vision is to use 5 simple responses and add this variant. As the error said, we can't do that... so how can I do to resolve my conflict ? review the design ?... User other tools ? i don't know.


Solution

  • Yes, Actions on Google are limited to two simple responses, each of no more than 640 characters although 300 characters is more advised.

    Keep in mind that responses could either be read or spoken aloud - either way, long answers with many chat bubbles would be a very poor user experience.

    If you feel you need to say more - you might be able to combine all your responses into just one simple response. If you feel there is a lot more to your reply, you may want to reconsider your design to give a basic response, and then let the user followup with more detailed questions and responses.

    Update:

    That response that you want to break into five parts is huge and packs way too much information in at a time (two chunks about the email you're sending, where they can change their email, what they can do, and ending with a question). So the first thing I'd consider is breaking that up, since they're going to tune it out almost immediately. Especially since you indicate that is your Fallback Intent.

    If you insist on doing all that, but having variants for each, then you may want to resort to handling the variants through a fulfillment webhook. This way you can pick different phrases, but put them all together in one (big) response.