Alexa testing invocation name - failed submission - alexa

I have got a question on testing the invocation of a custom skill in Alexa.
My invocation name is let's say "merry christmas", if I type or speak it in the test section of Alexa Skills creation, LaunchRequest is triggered and conversation starts.
As soon as I submit the skill for certification, Amazon is correctly testing it with a phrase like "Alexa, launch merry christmas". In this case the LaunchRequest is not triggered.
How can I test the whole invocation name in the console? Is there any way to debug why the LaunchRequest is not triggered? Does it trigger a different intent rather that "LaunchRequest"?
Thanks

I do not believe there is a way to test the complete invocation phrase.
To try and debug this issue you should log your request at the app root where the request comes in, before your intent handlers are executed. This will let you see if you are receiving any request at all, and if so what it is instead of a LaunchRequest.

Related

Amazon Alexa doesn't open the skill developed by me( on the device)

I have a problem with Amazon Alexa.
I have started to develop a small skill in Alexa Developer Console.
Everything works perfectly when I test it in that console, but when I tell to Alexa device to open my skill. It tell me "I don't know about that".
I don't understand why, the email address is the same for the Developer Console and for the device. I'm sure that the invocation is correct. I tried to disable and enable the skill from the AlexaApp, but it still doesn't work.
Any ideas? Thank you!
It could be an internal recognition issue from the invocation name.
What I recommend you to do:
Change the invocation name by something very simple ex: Test four
Save the model and Build the model
Try open Test four in the developer console
Try open Test four on the device
If open Test four doesn't work on the device, relogin on the Alexa app with the same email as the developer console and resync the device. Make sure the app is enabled.
If it work with test four it means that the invocation name you choosed previously is not properly recognized by Alexa. You should keep it as simple as possible or ask the support to improve the recognition of it.

Why webhook never finishes after calling Slack in Azure LogicApps?

I have LogicApps and trying to do Webhook to Slack.
I understood that webhook is done by giving a single URL to the webbook.
I can successfully post messages to the Slack channel. No errors.
However, the pipeline never completes. It is running forever unless I cancel it. I wonder why?
We discovered that this is due to one of the following causes after testing it in our environment.
The subscribe-URL for Webhooks :
We've seen the identical issue you're getting when there isn't a correct link supplied.
The body of the subscription :
The similar problem occurs when the structure of the JSON inside the body of the subscription is not properly organized.

Unable to activate test stimulator for alexa skill

I have been into alexa development and recently I have encountered a never before situation. While trying to enable testing on a new skill, I am getting the following error on the test tab :
There was a failure enabling your skill, please try again.
I know that this might happen if I do not complete the previous steps such skill information, interaction model, configuration etc. But the strange thing is that i have completed all of the above steps. My skill has :
A valid skill name
It has valid intents, slots and sample utterrances in my interaction
model
I have successfully saved and built my interaction model
I have provided valid end-points ARN of my AWS lambda function, which has
alexa-skill-kit enabled with the skill-id of my skill, in the configuration tab.
I don't think I have missed any of the requirement as it shows green tick(successful completion) on all mentioned steps before testing. But I can not enable the test stimualtaor in the test tab. It throws the above mentioned error message.
Any help will be highly appreciated. Thanks!!
Go to the "build" tab in your Alexa Skill page. On the right side, you will find "Skill Builder Checklist". Make sure that all steps in the checklist are completed.
Thanks
Visit the invocation tab in Alexa Skill Kit Developer console. All Skill builder checklist have to be complete to start the test.
Don't forget to build your skill before run test.
In EndPoint -> click Save Endpoints, if it successful then in Test, you can see Test is enabled for this skill ( in blue color).

How to leave Voice mail using Twilio?

I'am trying to send recorded messages to phone numbers using twilio & salesforce. The problem i am facing that some times the call is going to Voice mail and the message is not getting recorded as the voice mail recording starts after a certain time. How can twilio manage to monitor that time and play the message after the voice mail starts recording.
Now i know that the voice mail recording system uses a beep before it starts recording. Can i use that DTMF tone to instruct twilio to start playing the recorded message.
Twilio developer evangelist here.
Twilio is able to do some, experimental, checking for answering machines such that it will only start playing after it hears a beep. You can see how to do this in the documentation here. Basically, you need to pass an ifMachine parameter of "Continue". You will then get an "AnsweredBy" parameter in calls to your TwiML so that you can decide what to do. If you do continue, Twilio will wait for the beep.
Let me know if that helps!
Update
The ifMachine parameter has been deprecated and replaced with the new Twilio Answering Machine Detection.
Now you can pass a parameter called MachineDetection with the argument Enable or DetectMessageEnd. Enable tries to give you an answer as soon as possible, passing the result to the TwiML webhook within the AnsweredBy parameter. DetectMessageEnd will call the webhook once the voicemail message has finished playing.

Channel API channel gets disconnected without onclose or onerror calls. JavaScript console has logs of failed HTTP calls to talkgadget.google.com

I have implemented Google App Engine's Channel API feature in my application. Everything runs smoothly. I create new channels every one hour for every user. I have managed to maintain one channel per session (same channel for different tabs in a browser). I have implemented the onerror and onclose methods in such a way that every time they are invoked, a call is made to the server requesting for a valid token.
Sometimes, after the channel's been alive for a while, it gets disconnected. I can see failed HTTP calls to talkgadget.google.com on the JavaScript console. The URLs are something like this:
https://129.talkgadget.google.com/talkgadget/dch/bind?VER=8&clid=.....
These calls have responses like "401 (Token timed out)" or "401 (Token invalid)".
Which is indeed true, the token used by the client is invalid. It should get updated with the new token but the onerror or onclose methods aren't invoked. How am I supposed to figure out when this would happen or how to handle it? There is no real way to say if a client is disconnected or not except for the onerror or onclose methods. This issue is resolved if I refresh the page (I get the valid token from database every time the user refreshes).
I checked the socket objects's "readyState" property and it had the value 1. There are many who face this issue and as of date, there seems to be no valid solution offered by the folks at GAE.
Edit: I'm a premium account holder and this issue is holding back our deployments.
Edit 2: Having one channel per tab reduces the frequency of this happening. But it doesn't solve the problem completely.
It has been six days since I posted the question and there has been no response from the AppEngine team or any other users.
The workaround I applied was to have a button on the site that would fetch the (valid) token from the database, close the channel and then open it again with the token received.
Sometimes its a new token which should've been received before, sometimes its the same token that had been valid all along.
This issue cannot be replicated often I agree, but when it happens, it causes a lot of damage. I hope I find a solution soon.
Edit: Having one channel per tab reduces the frequency of this happening. But it doesn't solve the problem completely.

Resources