How to show Rich Response Buttons (''Chips) Using Dialogflow Fulfillment?

1.8k views Asked by At

Based on the online example I wanted to try to add Rich Response Buttons and Basic cards using Dialogflow Fulfillment and Inline editor, but I'm not getting anything rendered in the Dialogflow Messenger client. Are rich responses not fully supported? enter image description here

enter image description here

1

There are 1 answers

0
Orlandog On

According to the readme file, the Dialogflow Fulfillment library is no longer being maintained; therefore, it seems that you can't use rich response in Dialogflow messenger directly with this library.

Based on this, if you want to use rich responses with Dialogflow messenger, you can create a webhook service. To start testing this, I recommend you do the following:

1- Use Cloud Functions to create an HTTP function. This documentation mentions the process to create one from the Cloud Console. Please take in account this considerations in the second step:

  • Runtime: Python 3.8
  • Entry point: entry_function
  • Inside the inline editor, copy and paste the following code:
from flask import jsonify
 
def entry_function(request):
 
   response_json = jsonify(
       fulfillment_text="This message is from Dialogflow's testing!",
       fulfillment_messages=[
           {
               "payload": {
                   "richContent": [[{
                       "actionLink": "https://assistant.google.com/",
                       "subtitle": "This is the body text of a card.  You can even use line\n  breaks and emoji! ",
                       "title": "Title: this is a card title",
                       "type": "info"
                   }]]
               }
           }
       ]
   )
   return response_json

Deploy the function. Afther that, enter to your function and in the 'TRIGGER' section copy the Trigger URL

2- Enable and manage fulfillment in Dialogflow

3- Test your Dialogflow messenger.

enter image description here