aws-solutions / qnabot-on-aws

AWS QnABot is a multi-channel, multi-language conversational interface (chatbot) that responds to your customer's questions, answers, and feedback. The solution allows you to deploy a fully functional chatbot across multiple channels including chat, voice, SMS and Amazon Alexa.
https://aws.amazon.com/solutions/implementations/aws-qnabot
Apache License 2.0
384 stars 247 forks source link

Confirmation Decline Response Prompt not sending #717

Closed dangollayan closed 2 months ago

dangollayan commented 2 months ago

image

I tried using Elicit Response in the qna bot designer where the built in I used is QNAName

When I pressed no in the confirmation it displayed the _ELICIT_RESPONSE_RETRYMESSAGE instead of the confirmation decline prompt

image Here I tried using the lex directly and it sends the confirmation decline prompt

fhoueto-amz commented 2 months ago

Hi @dangollayan Which version of the solution are you using. In general, please use the bug template to submit issues so that we have all required info Rgds Fabien

fhoueto-amz commented 2 months ago

Hi @dangollayan , The elicit bot request and responses are intercepted by the supervisory QnA bot and this is the current implementation. When you reply No, the elicit response both send a failed state which triggers the generic Qna setting of ELICIT_RESPONSE_RETRY_MESSAGE. After you get a failure ELICIT_RESPONSE_MAX_RETRIES times, the supervisory QnA bot suspend the conversation with the elicit response bot. See https://github.com/aws-solutions/qnabot-on-aws/blob/ce1e2d9a4f61f667ee90be6b63bf4916ee18c347/lambda/fulfillment/lib/middleware/lexRouter.js#L316. This is the expected behaviour might wanted to use bot routing instead - see https://docs.aws.amazon.com/solutions/latest/qnabot-on-aws/configuring-the-chatbot-to-ask-the-questions-and-use-response-bots.html