question

mpauly avatar image
mpauly asked

Required slots seem to break other intents

I'm working on a skill that has a few different intents.

One of these intents (Intent A) includes dialog and a required slot. When I mark this slot as required, a different, unrelated intent (Intent B) completely stops working, even when trying to invoke it from a fresh session and clearly not stuck in some strange dialog state. Alexa fails to even recognize that I'm trying to invoke the intent and doesn't send my skill a request, although the History section in my companion app says she's hearing me correctly.

If I remove the "required" status for the slot in Intent A, Intent B begins to work normally again, but Intent A then doesn't function because I can no longer include dialog directives without producing an error.

In case it's relevant, Intent B also includes slots, although none of them are marked as required, and none of them even share a name with the slot in Intent A. Intent B also seems to be failing when invoked without using any of its slots.

Has anyone found a good solution for this? It seems to be related to issues mentioned in these other posts, although neither seems to have a great solution:

https://forums.developer.amazon.com/questions/67444/error-unable-to-generate-request-for-your-skill.html

https://forums.developer.amazon.com/questions/74433/cause-of-hmm-something-went-wrong-try-again-in-a-f.html

Skill ID: amzn1.ask.skill.fbe10dca-6a29-4b3c-9aa9-244e14a7365f

alexa skills kitskillintentsslotsdialog model
10 |3000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

ConCat avatar image
ConCat answered

Are you using one word intents? I have been seeing a lot of inconsistent behavior around using the dialog model and also trying to use one word intents. IE, if I type "help" into the simulator, AMAZON.HelpIntent is not used, but "help help" uses it properly.

1 comment
10 |3000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

The intent with the required slot (Intent A in the description) can be invoked with a single word, at which point they would be prompted through dialog to fill in the missing information. Some of the built in intents - AMAZON.Next, AMAZON.Help, etc - seem to be usable with a single word as well. It doesn't look like any of my other custom intents have single word invocations though.

0 Likes 0 ·
KAIYIN@AMAZON.COM avatar image
KAIYIN@AMAZON.COM answered

Can you try if you can change the required slot single word to be multiple words and see if the issue still repros?

1 comment
10 |3000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

There were multiple utterances for the required slot in Intent A:

  • {query}
  • play {query}
  • read {query}

I removed the slot only utterance leaving the list as such:

  • play {query}
  • read {query}

The issue seemed to persist. If I didn't understand you correctly please let me know.

0 Likes 0 ·
mpauly avatar image
mpauly answered

We seem to have been able to resolve the issue by removing some of the utterances for the required slot in Intent A. Before the utterances were:

  • {query}
  • play {query}
  • read {query}

Now they are:

  • {query}

My best guess as to why this was causing issues is that there was overlap between the utterances for the slot in Intent A and the utterances for Intent B.

2 comments
10 |3000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

What are these overlap utterances, do you know?

0 Likes 0 ·
mpauly avatar image mpauly KAIYIN@AMAZON.COM ·
The utterances for the required slot in Intent A included the following:
  • play {query}
  • read {query}

Intent B had the following sample utterances:

  • play {bookTitle}
  • read {bookTitle}

We removed those options from the required slot in Intent A and the issue seemed to be resolved. Sorry for the extremely delayed response. I hadn't realized anyone had responded to my last message.

0 Likes 0 ·