Athul Kc
Athul Kc

Reputation: 61

Can we elicit slot of a different intent in Alexa

If our backend receive a request for say AMAZON.YesIntent or any other custom intent. Can we Elicit slot of a different intent than the triggered intent as response.

Ex:

...
user: Yes
     (Amazon.YesIntent is mapped)
Alexa: Which city do you want to stay in?
     (elicit slot of another intent)
...

Upvotes: 3

Views: 1114

Answers (1)

johndoe
johndoe

Reputation: 4387

Yes this is now possible, read the update section

Unfortunately you can't. Only updated intent of same type can be sent with a Dialog.ElicitSlot directive.

Note that you cannot change intents when returning a Dialog directive, so the intent name and set of slots must match the intent sent to your skill.

You will receive an "Invalid Directive" card and "There was some problem with the requested skills response" as error message.

Update (April, 8th 2019)

Use updateIntent object to specify the new intent whose slot has to be triggered. When you update the Intent object originally sent to your skill with the new updateIntent, include all of the slots, including any empty slots you are not changing.

{
  "type": "Dialog.ElicitSlot",
  "slotToElicit": "slotOfSomeOtherIntent",
  "updatedIntent": {
    "name": "SomeOtherIntent",
    "confirmationStatus": "NONE",
    "slots": {
      "slotOfSomeOtherIntent": {
        "name": "slotOfSomeOtherIntent",
        "value": "string",
        "resolutions": {},
        "confirmationStatus": "NONE"
      }
    }
  }
}

Read more about Change the intent or update slot values during the dialog
Read more about ElicitSlot Directive

Upvotes: 4

Related Questions