Creation of a Dialogflow project

Creation of a Dialogflow project

 

In this page we explain how to create a Dialogflow project and obtain all the information necessary to configure the Cally Square block and the application for the Chat, SMS, Openchannel and WhatsApp Connector channels.

For example, you can let a chat or an open channel interaction be managed by a Bot (according to Intents, Entities and Fallback Rules defined on Dialogflow) and make your Agent chime in conversation only when needed.

Configure Google Cloud

Create a Cloud Platform Project

Open Google Cloud Platform and enable Dialogflow API for your project and in order to configure DialogflowV2 application, you need to generate a Service Account.

You need to create a project in Google Cloud platform as described in this documentation. In Dialogflow console, you need also to create an agent: to do this follow this documentation.
After your agent is created you will be able to retrieve the API Keys to be used in the XCALLY Dialogflow application.

[Remember to enable billing for your the project as described here].

Dialogflow Key

From the Service account list, select New service account (defining a name) or choose a creating project and go on Service Accounts section

Choose a project

 

Keys section to create new keys

 

You can select key type for the private key (among JSON and P12 type)

By selecting JSON, the system downloads JSON file on computer with information to insert on configuration

In fact by opening the JSON file you can copy from here (without apices):

 

  • Project ID

  • Client email

  • Private Key

This fields will be inserted in XCALLY Block configuration

 

Configure XCALLY Motion application

In this chapter you will find out how to use the account created in the previous steps.

Cally Square block configuration



  • Project ID: copy and paste the Project ID value from Dialogflow Agent settings described before

  • Client Email: client_email property in the JSON file

  • Private Key: private_key property in the JSON file

  • Language: agent language

  • Welcome Message (optional)

The DialogflowV2 block saves the results in the following variables:

  • DIALOGFLOW_ACTION: Matched Dialogflow intent action name

  • DIALOGFLOW_ALLREQUIREDPARAMSPRESENT: True if all required parameter values have been collected (true-false)

  • DIALOGFLOW_ENDCONVERSATION: True when 'end conversation' flag is set for the matched dialogflow intent. It is useful when you want to transfer a call to an agent (true/false)

  • DIALOGFLOW_FULLFILLMENTTEXT: The text to be pronounced to the user or shown on the screen

  • DIALOGFLOW_INTENTNAME: The unique identifier of the intent

  • DIALOGFLOW_INTENTDISPLAYNAME: The display name of the intent

  • DIALOGFLOW_ISFALLBACKINTENT: True when matched dialogflow intent is fallback intent (true-false)

  • DIALOGFLOW_LANGUAGECODE: The language that was triggered during intent detection

  • DIALOGFLOW_QUERYTEXT: User input

  • DIALOGFLOW_RESPONSEID: The unique identifier of the response

  • DIALOGFLOW_SCORE: Matching score for the intent (0-1)

  • DIALOGFLOW_SPEECH: Text to be pronounced to the user

  • DIALOGFLOW_RESOLVEDQUERY: The query that was used to produce the result.

From Advanced section you can copy website script to add it on website.

Dialogflow API Keys

Insert your Dialogflow Client access token inside the XCALLY Dialogflow application Key field:

Dialogflow Intents

  • After the agent is created, you can proceed with your Intent creation on Dialogflow account (explore official documentation): basically intents define the expected customer questions (named Training phrases) and related Bot answers (Text responses).
    So based on customer phrases, the bot will answer in a different way.

Dialogflow Intents - Image

XCALLY supports image as Dialogflow Intents Response.

  • From Dialogflow Menu, select Intents

 

  • Add Slack as Response Integration

 

  • Choose Image as Slack Response

 

  • Moreover remember to set on Dialogflow the intent "end of conversation", that will be considered as the end of the customer-bot interaction before to end the session or connect the customer to an agent, according to your action flow rules.

For example after end of conversation intent, dialogflowV2 is considered ended and action goes on on next application (e.g. Queue so interaction goes to agent management).

The agent will take the bot place from that moment on and open the whole interaction history.

 

  • It’s possible to create a Default Fallback Intent (explore here documentation), so if customer asks for something not present in created intents, the system answers with Default fallback e.g. “I didn't get that. Can you say it again?”