question

Avira Development team avatar image
Avira Development team asked

Can I use custom slots with AMAZON.YesIntent ?

So I have a skill in which I need to use AMAZON.YesIntent. So I can't use the Dialog Directive. But as far as the documentation goes, I can use custom slots and build my own code to handle slot elicitation and confirmation.

This does not work AT ALL. Whenever I invoke my intent, I get a message that "the requested skill has not been configured to support dialogs yet".

This is my intent:

const hasApp = this.event.request.intent.slots.instance;         
const hasOs = this.event.request.intent.slots.system; 

if(!hasApp) {
            this.emit(':ask', 'What app would you like me to install for you?');
        } else {
            // validate app
            const isValidApp = true;
            if(!isValidApp) {
                // tell him to choose one of the following vetted apps
            } else {
                if(!hasOs) {
                    this.emit(':ask', 'On what systems do you want me to install it for you? Android or Windows?')
                    // ask him to provide the os for which to install
                } else {
                    // All the slots are filled
                    // proceed with the logic

Is there something wrong that I am doing?

alexa skills kitintentsslotsdialog model
10 |5000 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.

LiamDeLee avatar image
LiamDeLee answered

have a look over here. this will explain how to use the dialog model and what you need to do to enable it. Because you need to use the skill builder beta and add some changes to your slots to make it able to use the dialog state.

Hope this helps if you need more help feel free to ask.

2 comments
10 |5000 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.

Thank you for your prompt reply Liam. I've gone through the documentation, but it is still not clear.

My requirements are: I have to use AMAZON.YesIntent, I have to use custom slots.

Based on these requirements I understand I cannot use the Dialog Model and directives. But as far as I understand I can do my own logic to handle multi-turn conversation, correct ?

But when I try that I get the message "the requested skill has not been configured to support dialogs yet". Does this mean I need to use the Dialog Model regardless of whether I want or not? You also mentioned something about using attributes to use dialog directive functionality without using :dialog or Skill Builder (https://forums.developer.amazon.com/questions/101026/dialog-directive-functionality-without-using-dialo.html) but I don't quite get what you mean.

0 Likes 0 ·

I've added my response to your answer below

-1 Like -1 ·
Josep Valls avatar image
Josep Valls answered

I just ran into this question. I know it's been over a year but just a few weeks after you posted, there was an announcement about a new feature related to this:

https://developer.amazon.com/blogs/alexa/post/ea90c23d-42e2-46ee-8a2f-0df749030a3b/amazon-yesintent-and-amazon-nointent-now-compatible-with-ask-dialog-management-features

10 |5000 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.