0

I'm using a Dialogflow agent to feed an Assistant Action. I receive an error when I attempt to customize an intent's response output using SSML.

I have a simple response for "Google Assistant" (in addition to the default)

Using plain text is fine and the text-to-speech works. However, if I try to customize the output I receive a Malformed Request error when I test the action in the simulator.

<speak>Hey just testing out some SSML
<break time="3000ms">
Trying to get <emphasis level="moderate">emphasis</emphasis> and break to work.
</speak>

produces:

expected_inputs[0].input_prompt.rich_initial_prompt.items[0].simple_response: 'ssml' could not be parsed.

Can anyone point to what might be wrong?

Oddly, the text is spoken correctly even with the XML content instead of "reading" the code. However, the break, emphasis, etc don't seem to be applied

Here's what comes back in the Response JSON

"simpleResponse": {
                "ssml": "<speak>Hey just testing out some SSML\n<break time=\"500ms\">\nTrying to get <emphasis level=\"moderate\">emphasis</emphasis> and break to work.\n</speak>"
              }
Sairaj Sawant
  • 1,842
  • 1
  • 12
  • 16
Bryce Howitson
  • 7,339
  • 18
  • 40

1 Answers1

1

Well, I feel like an idiot. I solved the problem. I missed the self-closing slash on the <break> tag.

I had <break> and it needed to be <break />. Word to the wise, The Assistant XML parser is strict!

Bryce Howitson
  • 7,339
  • 18
  • 40