0
votes

Is there a way to call an Intent in without saying the utterance to begin said intent in the aws-lambda function and also to call a specific slot and get a user's input to update said slots value.

Example code:

https://imgur.com/a/g9BxH97

Currently, I manage to get to the SocialType slot by using slot confirmation. However, I am trying to get to the QuestionA slot and gaining a value based on this slot through the lambda function as the prompt will be a randomly generated one based on the users previous response.

Additionally, is it possible to get to the IntellectualState intent via the SocialIntent.

1
did you try this.emit('YourIntentName') - bgsuello
@bgsuello Yes, I tried that and it didn't work. Which is why I was wondering if there was a special way of doing it (e.g. this.emit('PhysicalState')) - Jay
how about the this.emitWithState('PhysicalState')? this will also pass the attributes in the current state to the PhysicalState - bgsuello
@bgsuello That didn't work either :/ I got an error message saying "There was a problem with the requested skills response" - Jay
I am still confused with what you are trying to do ? Do you want to maintain slot values through session? - Guru

1 Answers

0
votes

Each intent will be triggered by their own utterances and their slot values and I don't think there is a way to call one intent from the other.

Depending on what the user says the particular intent will be triggered and the request would be sent with that particular intent name.

However the best logic to handle this would be on your backend API (lambda) and using session variables which are maintained in the session. By using those you will be able to determine the state and also handle which intent (logic of code in your API) you need to handle at the end of the intent.

More on session object