A tip for testing Alexa Skills

This post is more than 2 years old.

A week or so ago I got my first Echo device (a Dot as a speaker gift from Devnexus) and I fell in love with it so much that I've already purchased the larger model. My wife ands kids like it too. So naturally I decided to take a look at building custom skills for it. (For folks who don't know, a "Skill" is basically a program that lets the device respond to voice commands.) While I plan on blogging about the process of getting it to work with OpenWhisk, I wanted to share a really, really important tip.

As part of the skill design process, Amazon has a web based interface that, for the most part, works just fine. I had my action up and running on OpenWhisk and I tried my first test, again, via the web interface. When I ran my test, I got an error:

The error, which you can't read completely on screen there, is:

The remote endpoint could not be called, or the 
response it returned was invalid.

And... bam. That was it. I was completely stuck. I had some logging on my OpenWhisk side and as far as I could see, nothing was executing at all. I really didn't know what to do.

Then - on a whim - I looked at my phone's Alexa app. This is the app you install to work with your hardware, configure it and the like, but isn't required for building the skill itself. I just opened it up for the heck of it honestly, and that's when I saw it.

The app keeps a record of everything you ask it and presents it in a nice card interface. What I didn't realize was that it also recorded my tests from the web interface and - crucially - returned much more detailed information:

For the life of me, I can't imagine why this level of information isn't available on the developer web site, but it was exactly the information I needed to fix the problem*. Once I corrected it, I was able to connect to my skill (both in the web app and via voice) just fine.

As I said, I'll share more details about doing this with OpenWhisk once I get a better demo done.

* For folks curious about the issue, I'll document this in my larger post later, but the issue was that I needed to select "My development endpoint is a sub-domain of a domain that has a wildcard certificate from a certificate authority" on the SSL setting. Thanks to Carlos Santana for helping me with that.
Raymond Camden's Picture

About Raymond Camden

Raymond is a senior developer evangelist for Adobe. He focuses on document services, JavaScript, and enterprise cat demos. If you like this article, please consider visiting my Amazon Wishlist or donating via PayPal to show your support. You can even buy me a coffee!

Lafayette, LA https://www.raymondcamden.com

Archived Comments

Comment 1 by Carlos Santana posted on 3/8/2017 at 6:26 PM

This Carlos Santana dude sounds very helpful🙀 I wonder if he has a twitter handle, I would follow him to learn more about OpenWhisk 😹 Or better join the OpenWhisk Slack

Comment 2 (In reply to #1) by Raymond Camden posted on 3/8/2017 at 7:17 PM

You caught me being lazy. ;) I'll edit the post to hot link your name. I'm going to use the screenshot you shared on Slack btw for my 'real' post later this week.

Comment 3 (In reply to #2) by Carlos Santana posted on 3/8/2017 at 11:36 PM

Haha no problem I don't mind, keep the good work !!!
I was just messing with you

Comment 4 by Omar posted on 1/22/2018 at 8:09 PM

Amazing! This issue was bugging me since two nights. Skill stopped working suddenly. I wonder why this data isn't shown on the interface and why the handshake was working earlier but stopped working after a while

Comment 5 (In reply to #4) by Raymond Camden posted on 1/22/2018 at 8:16 PM

Glad it helped.

Comment 6 by Soundar Surya posted on 1/29/2018 at 5:57 PM

hey raymond,
for device it is ok but when creating your own skill.
i mean i have installed alexa in my raspberry pi and created my own skill and now i am getting the same error..??

Comment 7 (In reply to #6) by Raymond Camden posted on 1/29/2018 at 6:28 PM

I'm not quite sure I understand your question. Even if you run Alexa on different hardware, it should still be working with the same APIs.

Comment 8 (In reply to #7) by Soundar Surya posted on 1/30/2018 at 5:01 PM

your are using ECHO device but i have installed alexa on my Rpi and created my own skill and did some backend coding(lambda) at AWS console and AWS IoT......
for that i am asking help mr.raymond
can you get it now???

Comment 9 (In reply to #8) by Raymond Camden posted on 1/30/2018 at 5:07 PM

Ok, so what error did you get - the same?

Comment 10 (In reply to #9) by Soundar Surya posted on 1/30/2018 at 5:15 PM

yes i am getting the same error

Comment 11 (In reply to #10) by Raymond Camden posted on 1/30/2018 at 5:32 PM

So for me the error was on the OpenWhisk side - my serverless platform. You would need to Google that in regards for Lambda. I don't use Lambda so can't help.

Comment 12 by Matthew Ruschmann posted on 2/11/2018 at 1:02 PM

Amazing! I was guessing SSL, but this helped out so much.

Comment 13 (In reply to #12) by Raymond Camden posted on 2/12/2018 at 2:38 PM

Glad it helped - sorry Amazon hasn't corrected this yet.

Comment 14 by Fazul posted on 10/31/2018 at 7:26 AM

I am getting "Request Identifier: amzn1.echo-api.request.75608d74-acf5-4752-a092-7576b98df218

The skill responded with 404 HTTP status code"

using the sample end point :https://demo8277843.mockabl...

Selected the HTTPS option as "My development endpoint is a sub-domain of a domain that has a wildcard certificate from a certificate authority"

Please help me out as I struck from almost 4 days...

Comment 15 (In reply to #14) by Raymond Camden posted on 10/31/2018 at 2:03 PM

What I described worked for OpenWhisk - I do not know about the service you are using. Sorry.