Chatbot Integration

The Desk360 Chatbot enables you to support your customers with an artificial intelligence-driven chatbot that assists your customer representatives. The Chatbot allows you to automate customer messages, respond to simple questions and requests instantly and analyze customer requests in detail.

A Live Chat integration must be present to activate a chatbot integration. For more details on how to integrate Live Chat, please visit our Live Chat Channel Integration documentation.

Follow the steps below to start the Chatbot integration:

  • Navigate to Settings > Chatbot Integrations tab.

  • Press the Add Integration button.

  • Fill in the fields completely and double-check the entries.

Now you’ll need to choose a product, a language, and a name. Then, upload the JSON file needed for integration to the Desk360 panel using the Google Dialogflow platform. In order to upload a JSON file,

  1. Create a Chatbot representative.

  2. Create scripts for the chatbot agent.

  3. Export the JSON file from Google Dialogflow.

Adding a Robot Agent

The Dialogflow agent is a virtual agent that manages the conversations with your customers. It’s no different than a real call center agent; both need training to handle the expected speech scenarios.

Follow these steps below to create an agent:

1. Log in to your Dialogflow ES Console account.

2. Click Create Agent on the left-hand menu.

3. Give a name to your agent from the field Agent Name next to the CREATE button, then select the default language and the time zone. To finalize your new agent, click CREATE.

Title

Description

Default Language

This is the default language of your chatbot. For example, if the chatbot’s default language is set to English, it will only respond to messages that are in English.

NOTE: Additional languages can be removed later but the default language can not be deleted.

Default Time Zone

This indicates the time zone of your robot representative.

Create a new Google project

You can import an existing project from Google.

NOTE: If you don’t import a project, Google will create a new Google project for you.

If you already have a Google project, you can manage everything from a single Google project by importing your Chatbot into your project.

Intents

The most important aspect of the conversation flow is to understand what your customers are saying. What we call intent does just that and lets your robot agent understand what your customers want from you. Every request (or message) from a customer is categorized under Intents in Dialogflow.

For example, let’s say The Orange Hotel uses a chatbot for customer service. For this example, let’s create three different intents that customers are very likely to want from you: Price information, Booking, and Cancellations.

To create an intent, click on the Intents tab on the left-hand side menu and start creating an intent by clicking the CREATE INTENT button. Let’s start by naming our intent Booking.

Customers might construct different sentences like “I’d like a book a room”, “I’d like a rent a room” or “Do you have any rooms available?” Even if you enter only a few example sentences, not only Dialogflow can understand these sentences but also can match many differently constructed sentences that has the same meaning.

In short, when a customer says “I’d like to book a room”, Dialogflow matches this sentence with the Booking intent and allows you to specify the responses that your robot agent will use to respond to the customer request.

With Dialogflow, you can also create robot agents that can understand and respond to incoming messages in different languages. To add new languages to your robot agent, press the plus + sign just below your robot agent’s name on the left-hand menu and add the languages you want in the Select Additional Languages field.

Contexts

Contexts let robot reps remember the previously sent messages by the customers. The information given by the customer is retained and used in the next conversation to ensure a smooth and lifelike dialogue between the customer and the chatbot.

For example, if a customer asks “Are there any rooms available at The Orange Hotel in Palm Beach between x dates?”, the chatbot replies by saying “There are no available rooms at The Orange Hotel in Palm Beach between those dates”. Then the customer proceeds to ask “Are there any available rooms at the Venice Beach branch?”. If there weren’t any context, the chatbot would answer “I’m sorry, I couldn’t understand what you said”. When you train your chatbot with different intents and contexts, and what information should be retained for each customer, the flow of the conversation won’t be interrupted and the robot rep will answer “Yes, there are rooms available in Venice Beach branch”.

For more information about contexts, see here.

Events

With Events, you can use the topic-based training included in Dialogflow without training your robot reps yourself. For example, if you want the robot rep to greet your customers in a certain way, you can do so by choosing one of the Welcome Events included on the platform. This is entirely optional. You can make use of pre-defined platform-specific events or define your own custom events to suit your specific needs.

For more information about events, see here.

Training Phrases

Training phrases include different sentences that match one intent.

Let’s continue by using one of the previous examples. We already have an Intent called Booking. Now let’s add the following differently-worded sentences that have the same meaning as training phrases: “I’d like to book a room”, “I’d like to rent a room”, and “Are there any available rooms?”. From now on, if a customer who wants to book a room at The Orange Hotel says anything similar to these sentences will match with the Booking intent.

Learn more about training phrases by clicking this link.

Actions and Parameters

Your chatbot can reply to all kinds of messages from customers with Actions. You can use Google Dialogflow’s actions feature to create smooth and meaningful conversations between your customers and robot agents. Let's continue with The Orange Hotel example and say we’ve defined an action for Dialogflow titled Room.Reservation.

For a customer message to match an intent, all meaningful values that can be parsed from the customer messages are called parameters. Entities determine how these variables will be parsed from customer messages.

For example, let’s assume a customer sends the message "I’d like to make a reservation for two for the weekend" to The Orange Hotel. Thanks to assets, it is possible to parse and extract important information such as date, number of guests, and the action in this message. For Dialogflow to understand this message and return the correct response to the customer, you need to define different entities in terms of service type, date, and the number of guests. The @service-type that is created in this example determines the reservation action, @sys.date the weekend, and @sys.number the number of guests.

In the customer message "I’d like to make a reservation for two for the weekend", the word ‘weekend’ automatically matches the @sys.date entity, ‘for two’ with the @sys.snumber, and the word ‘reservation’ with the @service-type entity. In short, in this example, we have matched three different entities with a single sentence.

Title

Description

REQUIRED

When creating a robot agent, you can mark some variables as required. If the required values of the variables aren’t in the customer message, the intent and the message can’t be matched.

PARAMETER NAME

The name of the variable. If you’re specifying a date variable, type in ‘date’.

ENTITY

Entity type. The entity of the date variable should be selected as@sys.date

VALUE

This field is required for your robot agent to parse the value from customer messages and pass it into a response. If you enter $date in this field, the response of the robot agent will be “I’ve booked the room for two people for $date”.

IS LIST

Check this box to access a list of different values compatible with the respective variable.

PROMPTS

If the Required box is checked and your customer did not specify any details about the date in their message, enter the question you want your robot agent to ask the customer to receive this data.

Learn more about actions and parameter by clicking this link.

Responses

Responses are the texts that your robot agent will send to your customers as replies. Click ADD RESPONSES to add a response. You can delete the answers you don't want to actively use by clicking the trash icon next to them.

If you enable the Set this intent as end of conversation button, the response that you send to the customer will automatically exit the conversation.

For more detailed information on Responses, click here.

For more detailed information on Rich Messages, click here.

4. Click SAVE to finish setting up your Intents.

Getting your robot agent’s JSON credentials

Follow the steps below to get the JSON credentials of your robot agent:

  1. Click the gear⚙️icon next to the agent name and navigate to the General tab. Click the Project ID under the GOOGLE PROJECT heading.

2. Navigate to APIs & Services > Credentials.

3. Click the + CREATE CREDENTIALS > Service account button.

4. Enter a Service account name under Service account details and click CREATE.

5. From Grant this service account access to project, choose the Dialog API Admin role. Then click CONTINUE and DONE buttons.

6. Click on the email that’s been created for you under Service Accounts.

7. From the KEYS tab, click ADD KEY, and then click Create new key.

8. Select the key type as JSON and click the CREATE button to automatically download your JSON file.

  • Go back to the Desk360 panel and upload the JSON file you need for the Chatbot Integration. Make sure that you have set the integration status to Active before clicking Save. If everything is in order, click Save.

Be sure to set the integration status to Active before moving on to the next step.

Now you can start using the chatbot that you have created and activated for your product.

Before integrating the Chatbot, you’ll need to specify a language and enter your content on the Google Dialogflow Console page. Please select the same languages during the Desk360 Chatbot integration and choose a default language.

Last updated