In this tutorial, you will learn how to connect Dialogflow with Crisp. If you are a complete novice about Dialogflow chatbot platform or new to the Crisp API, no worries, everything will be explained.

What is Dialogflow?

Dialogflow is a complete platform for chatbots. It is based on natural language processing (NLP), a very powerful technology. Currently maintained by Google, it is one of the most used service to create chatbots.
Bots created with Dialogflow can be integrated anywhere: mobile application, web application, device, robot, interactive voice response system, etc.

Advantages of Dialogflow

Bleeding edge machine learning algorithms from Google.
The robustness of the solution and its inclusion in the Google universe (Cloud platform, Home) which makes it reliable, durable and rich in interactions. Thus, the Google Small talk feature allows to capitalize on the interactions frequently used by users.
It can handle 14 different languages.

Dialogflow is completely free for new users and low traffic websites.

How Dialogflow chatbots work?

The base component of each chatbot is an agent, it is the name for a bot in Dialogflow. Each incoming message will be matched to an intent within the concerned agent. After matching, the intent will decompose the message using actions, and extract interesting parameters from the message. Then, Dialogflow will call your custom code to handle the request: this is called the fulfilment.

How dialogflow handles a new request.

Tutorial

Setup your Dialogflow chatbot

Browse to: https://dialogflow.cloud.google.com/

If you already have an agent and an intent, you can go to the next section.

Create an agent.

If you do not have an account, create one.
Click on Create new agent in the left navigation and fill in the fields.
Give a name and set a default language to your agent. Then, click the Create button.

Build your first intent

In this section, we will create a simple ping pong intent. It will be easily extendable.

In the intent pane, click on Create intent and give it a name.
Now, press Add training phrases in the Training phrases section of your intent. Just add "ping" training phrase.
Switch to Responses, and add "pong" response.
Click on Save

Current intent definition.

Test your intent

In the right Try it now pane, write: ping. You should see: pong has a response.

Expected response

Get your Dialogflow API credentials

Follow Google's guide: https://cloud.google.com/docs/authentication/production#create_service_account
In your service account, add the role: Dialogflow API client.
Download credentials in the json format.

Setup your code

Clone the GitHub repository: https://github.com/crisp-im/crisp-dialogflow and get the project dependencies: npm install
Get your Crisp API token: https://go.crisp.chat/account/token/
Add respectively the identifier and key inside the cloned repo, fields: crispIdentifier, crispKey.
Add your Dialogflow project ID (or agent ID) in dialogflowProjectId.
Append your environnement variables with: export GOOGLE_APPLICATION_CREDENTIALS=PATH_KEY_FILE.json
In the same terminal, switch to project root and execute: node lib/index.js

Test your chatbot

As a customer, send a "ping" message.

Expected response from Dialogflow.

Next steps

You now have a working communication between Crisp and Dialogflow. The next step is to create an intent that matches your need, you can find a lot of documentation on Internet thanks to the extensive Dialogflow community.

Dialogflow tutorials from Google: https://cloud.google.com/dialogflow/es/docs/tutorials
Google's how to guides: https://cloud.google.com/dialogflow/es/docs/how
Samples and learning material: https://cloud.google.com/dialogflow/es/docs/tutorials/samples
Was this article helpful?
Cancel
Thank you!