0
votes

I created an agent with the carousel card rich response. The actual requirement of mine is by touching the carousel card it should reply back with the required response content that presents in the intent. Here I am having three intent right now.Intent list details The Default welcome intent will welcome the user and insist the user say "remedy" then it directs to remedy cold custom intent This contains the carousel card seeking the user response. The image shows the intent content present.carousel card setup in intent. Then the user must pick any one of the cards. After picking that the card's title will get returned. Here is my case, it is "cold". Then it should redirect to the cold remedy intent As the training phrase contains the keyword "cold" it gets redirected to cold remedy intent then it tells the response present in the intent as a remedy for the coldRemedy results in cold remedy intent.

Here the actual problem exists while I am testing it from the "Try it now" section present in the top right corner of the Dialogflow site it works fine as I click the cold carousel card, it says the remedy for coldDialogflow try it out results. But while testing it on the google assistant "Test" section it works fine until the carousel card selection. Then after selecting the card it redirects to the Default Fallback intent by saying the response message from that fallback intent. Why it is not redirecting to the cold remedy intent when selecting the cold carousel card? Even though the title of the card is "cold" only. Here is the snap of the assistant console test results Console results

But if I say the training phrase directly in the action console test phase it's redirecting to the required remedy intent and showing the remedies for the cold.Keyboard input results

This is the request part after selecting the carousel card of the cold:

{
  "user": {
    "locale": "en-US",
    "lastSeen": "2020-07-06T10:35:47Z",
    "userVerificationStatus": "VERIFIED"
  },
  "conversation": {
    "conversationId": "ABwppHHIDP43V4DN64IlfPgQN0dZzc1PFWQl-07zCKCB750ysrVdxTkJ2PdzE_MnGTfdVWjAY",
    "type": "ACTIVE",
    "conversationToken": "[\"remedycoldcustom-followup\",\"defaultwelcomeintent-followup\"]"
  },
  "inputs": [{
    "intent": "actions.intent.OPTION",
    "rawInputs": [{
      "inputType": "VOICE",
      "query": "Cold"
    }],
    "arguments": [{
        "name": "OPTION",
        "textValue": "cold"
      },
      {
        "name": "text",
        "rawText": "Cold",
        "textValue": "Cold"
      }
    ]
  }],
  "surface": {
    "capabilities": [{
        "name": "actions.capability.ACCOUNT_LINKING"
      },
      {
        "name": "actions.capability.MEDIA_RESPONSE_AUDIO"
      },
      {
        "name": "actions.capability.AUDIO_OUTPUT"
      },
      {
        "name": "actions.capability.SCREEN_OUTPUT"
      }
    ]
  },
  "isInSandbox": true,
  "requestType": "SIMULATOR"
}

The Response part:

{
  "conversationToken": "[\"remedycoldcustom-followup\",\"defaultwelcomeintent-followup\",\"__system_counters__\"]",
  "expectUserResponse": true,
  "expectedInputs": [
    {
      "inputPrompt": {
        "richInitialPrompt": {
          "items": [
            {
              "simpleResponse": {
                "textToSpeech": "I missed that, say that again?",
                "displayText": "I missed that, say that again?"
              }
            }
          ]
        }
      },
      "possibleIntents": [
        {
          "intent": "assistant.intent.action.TEXT"
        },
        {
          "intent": "16596790-81ea-4b38-a0c1-9a24cddd4a6e"
        },
        {
          "intent": "742395e6-67bf-4f26-9d6c-0a5aee0e7c9e"
        }
      ]
    }
  ],
  "responseMetadata": {
    "status": {
      "message": "Success (200)"
    },
    "queryMatchInfo": {}
  }
} 

So help me to get an appropriate response after selecting their respective carousel card in my agent. Even I tried the suggestion chips too. But it is resulting in the same.

1

1 Answers

0
votes

Dialogflow does not translate user responses from a Carousel into an utterance. Instead, when the response comes from a Carousel, the "actions_intent_OPTION" event is triggered, so you will need to have an Intent that recognizes this event.

The reason your Fallback Intent is triggered is likely because you do not have an Intent for this event.

Instead of using a Carousel, you may wish to use a Suggestion Chip instead. Carousels are normally good for narrowing options the user may have, such as the results of a search, or picking matching names from a list. Suggestions Chips are more about changing the direction of the conversation. They are also reported as text input, so don't need this special event handling.

If you are just developing for the Assistant, you may alternately wish to look into the Actions Builder. Under the Actions Builder, building a Carousel (now named a Collection) involves dynamically creating a Type and having the regular input handling process it - there are no more special events. The Actions Builder also supports Suggestion Chips.