question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Slot value from triggered intent is always 'undefined'. Need help, willing to pay.

See original GitHub issue

I have one final obstacle in my app I’m developing with alexa-app. The value field for the singular slot I define for my tellme intent is always undefined. I’m simply trying to get Alexa to send me the raw text the user said.

I don’t think it’s a speech recognition problem, because this happens even when I enter plain text into simulator text edit box. I get the same result. The slot’s value is always undefined.

Here is the tellme intent I define in the alexa-app initialization phase. I entered the word “test” as input into the simulator edit box:

	alexa_app_lib.intent("tellme", {
			// Set up a slot for the received input.
			"slots": {
				"ANSWER": "LITERAL"
			},
			// Suggest sample input the user might say to Alexa.
			"utterances": [
				"user input"
			]
		},
		function(request, response) {
			// Just parrot the response back.
			response.say(request.slots["answer"].value);
		}
	);

Here is what the console log results show for the answer slot from inside the tellme intent handler:

 ‌‌       request.slots["answer"] =‌ alexa.slot
	‌‌request.slots["answer"].name = ‌answer
	‌‌typeof request.slots["answer"].value =‌ undefined

I’m willing to make a payment via PayPal to get this resolved quickly.

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:5

github_iconTop GitHub Comments

1reaction
kobimcommented, Apr 24, 2018

Hi @roschler,

I think you should use AMAZON.LITERAL instead of just LITERAL in your schema definition. If you are using the Alexa test simulator, you will also be able to see the exact request with the slot value (if any) when being sent to your app. Pay attention that custom types are better than literals, so you might want to migrate to your own type in the future.

Also, you might want to read a slot value using the slot method:

function (request, response) {
  response.say(request.slot('ANSWER'));
}
0reactions
kobimcommented, Apr 25, 2018

The slot/utterance (“schema”) passed to the intent function are used to generate the JSON for the interaction model and are optional.

Regarding the AMAZON.LITERAL deprecation comments, refer to the using custom types link I provided earlier, as its better to define EXACTLY what you attempt to receive.

I’m closing this issue as it doesn’t seem an issue with the library but with an understanding about interaction with an Alexa skill. Please refer to Understanding How Users Invoke Custom Skills in order to better understand how Alexa handles user input.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Can't understand rules in Rasa 2.0
Here's a specific example: I am trying to write a rule that will catch an intent from the user that they want to...
Read more >
how to pass slot value in sample utterence in alexa skill?
Its going into Unhandled because there is no intent handler for AMAZON.FallbackIntent . And the user input mentioned is triggering this ...
Read more >
Rules without conditions are ignored when featurized slot is ...
Good news: I found out why the rule that seemingly doesn't condition on any slots still gets triggered depending on specific slot values....
Read more >
Method: fulfill | Conversational Actions - Google Developers
Represent a scene. Scenes can call fulfillment, add prompts, and collect slot values from the user. Scenes are triggered by events or intents...
Read more >
Intent.Slots value is undefined - Forums - Amazon Developer Forums
I am writing a very basic sample kills for Alexa. I am having trouble resolving the Intent.Slot's value. It's always undefined from Echo....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found