Works on Voiceflow, but doesn't on Alexa/Echo Dot

My Skill works fine on Voiceflow, was approved to go Live on Alexa but after v1 worked just fine (live on Alexa), the v2 I uploaded (with some word changes mainly) is broken. When Alexa asks for the “name of the 3d little pig” and you say a name, she will say “There was a problem with the requested Skill’s response” and immediately shuts off.

I ran it through the Alexa Developer Console tester and it ran into a problem at that stage too (screenshot below).

As a bit of background, the Skill is live here and what the Skill does is ask you for the names of the 3 little pigs and then uses those names when telling the story.

thanks!

I don’t know much/anything about Alexa/Voiceflow. That said, I had a similar problem with my skill working on Voiceflow and not on Alexa/Echo Dot. I had two problems: First, one part of my skill required the skill to access and interpret a lot of data. Because of this, it took about 20-30 seconds to come up with a response in Voiceflow. However, Alexa requires a response within about 8 seconds or it shuts off (or gets a “skill did not provide a valid response” in Alexa Dev Console). You can add a choice block to ask there user if there are still there while you are doing something intensive (or something less annoying but I haven’t found anything. My second problems was the one of my variables randomly got changed in the Alexa Dev Console at startup. This didn’t happen in Voiceflow and took a lot of manual tests to find. These probably won’t solve your problems, but it’s worth a shot looking in to. The best advice I got which I can pass on is simply not to use Voiceflow. Instead, develop skills in the Alexa Developer Console, as testing here is how Alexa will actually behave.

this happens your live skill and keep getting errors? then, you should ping them via intercom.

I’m not sure but this happens when your response has some problems such as

  • SSML tags are not closed correctly.
  • ‘&’ is included in response.(& is not permitted in response)
  • or some other errors.

but in those case, ithere should be any error messages in ADC. but I can’t see errors on your screen shot. So, I’m just guessing.

HI @kun432 I do not have a Pro account so at this time, Intercom support is not available. Thanks anyway

Intercom support is not available? I don’t thinks so because I can see the intercom icon with free account, but they might change…

anyway,

Can I see the whole response when you say “3rd little pig”?

1 Like

Hi,
The Intercom icon does appear with the free account, but if you open it it directs you to the Form/FB Group.

Thanks for your help, here is the full bit, I named the pig ‘Kun’ in your honor! :slight_smile: wonder if the audio file is a problem?

{

“body”: {

“version”: “1.0”,

“response”: {

“outputSpeech”: {

“type”: “SSML”,

“ssml”: "Ok, third little pig is called Kun Let’s start the story.<audio src="https://s3.amazonaws.com/com.getstoryflow.audio.production/1565476487726-270600__hoerspielwerkstatt-hef__guitar-jingle5.wav"/>

leaving Intercom aside for now,

looks no problems except audio format.

audio format should be like this:

https://developer.amazon.com/docs/alexa/custom-skills/speech-synthesis-markup-language-ssml-reference.html#audio

As I know, voiceflow automatically converts audio format suitable for alexa, but might be failed.

why don’t you converts your wav file to mp3 before upload to voiceflow?

1 Like

Thanks @kun432 I did convert the audio to an mp3 but it didn’t fix the problem.

I retested it live on my Echo and realized that Alexa doesn’t even say the sentence that she should say, that comes before the audio mp3. Would there be a problem with the capturing into Variable3 ?

Just to add more info, this bit of code is working fine:

{
“body”: {
“version”: “1.0”,
“response”: {
“outputSpeech”: {
“type”: “SSML”,
“ssml”: “Gotcha, second little pig is called jackWhat is the name of the third little pig?”
},
“reprompt”: {
“outputSpeech”: {
“type”: “SSML”,
“ssml”: “Gotcha, second little pig is called jackWhat is the name of the third little pig?”
}
},
“shouldEndSession”: false,
“type”: “_DEFAULT_RESPONSE”
},
“sessionAttributes”: {},
“userAgent”: “ask-node/2.7.0 Node/v11.15.0”
}

But Alexa never says this bit of code:

if you upload, that’s for dev version. try testing on dev.
Previously, we could edit live version with some kind of limitations, but now you cannot edit live version. You should edit dev, re-publish and be certified again as live.

Your response which works fine, is asking 3rd pig’s name after you answered 2nd pig’s name. the screen shot below seems 3rd response and stroy starts but text was cut off in the middle of whole response…

Oh, I found one thing. can you check this and is there any error message?

Hi @kun432,
thanks, but check it how?

Note - I am not a developer, I just use Voiceflow, I do not know how to modify code.

you don’t need to modify any code. Try test on ADC and when it fails, select the maximum number in “viewing”, then error message would be shown in the bottom. Then, I can guess what happened.

thanks @kun432 for your patience.

I ran it on ADC, using the Live environment. When I uploaded a fix for the audio file, i did that to LIve, so that’s why I am showing you the Live error messages:

Thanks but it was cut off in the middle again. could you copy “message” line as text and paste here?

Hi, sure, I think this is it:

	"request": {
		"type": "SessionEndedRequest",
		"requestId": "amzn1.echo-api.request.0c6868c7-26bd-45aa-b301-60ba3becbff4",
		"timestamp": "2019-12-28T20:02:30Z",
		"locale": "en-US",
		"reason": "ERROR",
		"error": {
			"type": "INVALID_RESPONSE",
			"message": "Speech with id amzn1.echo-api.request.3de74281-9438-4173-b12a-e27a95c8b3ea and length 8238 exceeds allowed size of 8000 characters"
		}
	}
}

Note - this is the 'response" that’s next up, in Voiceflow. It doesn’t seem to be 8238 characters to me (see screenshot).

But maybe overall, the content is over 8000 characters as it is a full version of the 3 little pigs story. I could try cutting 239+ characters and uploading again?

(thanks again)

Great! now I see what happened. this is a kind of tricky one espacially using voiceflow,

  • Alexa has some limits per “response” as above.
  • When you edit in Voiceflow, putting some blocks, for example, 3 speak blocks, you may think it would be responded separately (means 3 responses.). but actually it will be combined and responded as 1 response until user intteraction happens,

maybe in your flow, after capturing 3rd pig’s name, some speaking blocks gets in the line and answering 3rd pig’s name and whole story became one response, then went over alexa’s limitation and got error.

Now, what you should do is;

  • fix your skill not exceeded for alexa’s limitation, There are some ways to do this:
    • remove some characfers.
    • add user interacrtion in the middle, that means alexa’s response limitations will be reset there.
  • you cannot fix “live” any more. so, you should fix your skill on Voiceflow, which is “development” version, then upload, test as “development”, publish and re-certiified,

HI @kun432
My skill is live again. It seems like cutting text in the story didn’t work (or I didn’t do it right). I got this error message today:

	},
	"request": {
		"type": "SessionEndedRequest",
		"requestId": "amzn1.echo-api.request.aa85252e-37e1-49e1-ba43-4c5b35b6d667",
		"timestamp": "2019-12-30T09:08:06Z",
		"locale": "en-US",
		"reason": "ERROR",
		"error": {
			"type": "INVALID_RESPONSE",
			"message": "Speech with id amzn1.echo-api.request.f3fed13f-d878-4cbb-9645-b22bc2ff5b3e and length 8284 exceeds allowed size of 8000 characters"
		}
	}

what does ‘ My skill is live again’? you published and re-certified again?

“My skill is live again” means the latest version that I created using Voiceflow is the version that you can add to your Alexa device, in the Alexa skills store.