Suggestions

Provide your users with predefined answers based on their previous conversations with the chatbot.

It is used to suggest to the user some values for an entity, based on previous conversations. For example, if the user has booked a doctor multiple times via your chatbot, Kinvey Chat already knows which doctors they picked in the previous conversations and can automatically suggest them to the user instead of asking them to provide them again.

The suggestions reaction is only supported for steps that have no display at all or have quick-reply type of display.

{
  "type": "question",
  "entity": "doctor",
  "entity-type": "Doctor",
  "entity-display": "{{doctor.Title}} {{doctor.FirstName}} {{doctor.LastName}}",
  "messages": [
    "Which doctor would you like to visit?"
  ],
  "reactions": {
    "suggestions": [
      "Is {{doctor}} your doctor?",
      "Do you want to visit {{doctor}}?"
    ]
  },
  "display": {
    "type": "quick-reply"
  }
}
...
{
  "type": "question",
  "entity": "contactName",
  "entity-type": "Text",
  "messages": [
    "What are your first and last names?"
  ],
  "reactions": {
    "suggestions": [
      "Are you {{contactName}}?",
      "Is {{contactName}} your name?"
    ]
  }
},

There are 2 cases:

  • When the user has used the same value the last few times. In this case, the messages specified in the suggestion reaction are used to ask the user for confirmation of the suggested value. Use the entity name to display the suggested value.
- Do you want to visit Dr. John Burke?
- Yes
- When do you want to visit Dr. John Burke?

- Do you want to visit Dr. John Burke?
- No
- Which doctor would you like to visit?
  • When the user has used different values the last few times. In such cases, the messages from the step are used (instead of the suggestions) and the suggested values are shown as quick replies. If you have many possible values for the entity, e.g. you have 10 doctors, then the suggested values are put in front of the rest possible values.

Note: It may take few conversations with the user, to collect enough data, for the bot to be able to make suggestions.