Configuring Dialogflow Chatbot

How to configure and manage your Talkative chatbot via Google Dialogflow ES.

Configuring Dialogflow

The Talkative Configuration for your chatbot is very simple, and similar to configuring Dialogflow for any other service.


Setup: Configuring the intent for the DialogFlow connection

Navigate to DialogFlow and create a new intent called talkativeChatbotVerification.


Make sure the text response is 'verified'

Ensure this is triggering as an event.

Welcome message

The first welcome message must have an event called interactionStart

Responding to basic user messages

Recognising the message.

The user messages are sent verbatim to Dialogflow and they can be recognised via the Training Phases.

Responding to the message

To respond to the message, simply fill in the Default Responses. One of those will be randomly selected as a response.

Sending multiple messages

To send multiple consecutive messages, simply create a second text response.

 

Message suggestions

To fill in message suggestions, simply create a google assistant integration with suggestion chips, and fill in your desired responses.

Custom actions

Transferring

To transfer, you will need to create a custom dialogflow response with the following content


    "talkative-engage": {    
         "to": "<queue_uuid>",    
         "action": "transfer"  
    } 
}

You will need the UUID to match one of your queues.

Exceptions

A transfer may fail for 3 reasons:

- businessHours

- queueCap

- noUsers


These can be set as events in DialogFlow to trigger follow on intents. You can also choose to ignore these within the DialogFlow custom payload, for example:

{ 
"talkative-engage": {
"to": "<queue_uuid>",
"action": "transfer" ,
"ignore": [
"noUsers",
"businessHours"
]
}
}

Exception Intents

If your transfer fails due to businessHours, queueCap, or noUsers, you can set up an exception-based intent. A common use case is to provide an out-of-hours response if the chatbot transfers when business hours are closed. To create such an intent, you will need to create an intent with the following events:

interactionTransferFailed_businessHours

interactionTransferFailed_queueCap 

interactionTransferFailed_noUsers


   

Custom messages based on queue availability

You can offer different intents based on the state of queues.

{
"talkative-engage": {
"action": "check_queue_status",
"queue": "538afc06-d8ee-481e-9f4d-b2f08ba32cb4"
}
}

The above code snippet should go within the Custom Payload within your intent. Change the queue uuid to the Talkative queue you wish to reference. 

You will then need to create intents that are triggered based on the four possible results of that queue presence check.

queueStatusCheck_online
queueStatusCheck_offline_businessHours
queueStatusCheck_offline_noUsers
queueStatusCheck_offline_queueCap

Each of these should be used as events to trigger the corresponding intent.

This allows you do have different welcome messages based on time of day for example.

Equally you could offer different hand-off journeys based on a queue presence check before getting to the transfer.

Emails

To allow the user to leave a message (that delivers as an email), you will need to send a custom response that contains: 


    "talkative-engage": {    
        "action": "email"  
     }
}

An email form will show to the customer in the widget. The data collection form will be the one set within the wait messages for that widget. 

Images

To make the chatbot send a message that contains an image, you will need to send a custom response that contains:

{
  "talkative-engage": {
    "action": "attach",
    "url": "https://i.imgur.com/AYlbbmX.gif"
  }
}

Ending

To end an interaction, you will need to send a custom response that contains:


    "talkative-engage": {    
        "action": "end"  
     }
}

Entities

Talkative automatically saves entities from Dialogflow into Interaction Data, allowing you to save key data points to your interaction record in Talkative. Both custom entities and standard system entities will be saved to Interaction Data. This happens automatically, no set up is needed.

For example, you might collect a customer's account number as part of a chatbot conversation, which can then be used to surface a CRM record when the chatbot hands off to a human agent. For more on Entities, please see Google documentation: https://cloud.google.com/dialogflow/es/docs/entities-overview