A voice-based chatbot that would integrate with Dialogflow and external databases or APIs.

Undisclosed client

US | Transport & Logistics


A big logistics and transportation company from the United States with a couple of offices in the country and operations in more than 50 locations worldwide. They have +20 years of experience on the market.


The client wanted to automate the customer service line. People call the company and ask recurring questions, which takes a lot of time and can be a burden for the employees that could focus on tasks that require their undivided attention.


The intent identification model was trained based on the Dialogflow platform, where we also deployed it. After we’ve built the first proof of concept, we were asked to broaden the scope of the project with mobile and web apps, as well as integration with third-party providers on the server-side. The client also wanted to add more questions that would be answered by the chatbot. 

Technical Objective

We’ve been provided with a list of intents or otherwise, questions that should be answered in an automated way. We knew we needed a machine learning solution to eliminate the human factor and make the customer service process more efficient.

To create a program that interacts with users and simulates another human being, it needs several elements:

  • natural language understanding (natural language processing) – extracting information from natural language, 
  • extracting entities, 
  • extracting intents,
  • voice recognition and text-to-speech.

To create a chatbot closely related to our customer’s business, we couldn’t use any out-of-the-box model because it wouldn’t guarantee to ‘understand’ the questions the users would ask using the natural language. And the chatbot must understand the concepts associated with the context.

Technical Solution

The proposal was clear: developing a voice-based chatbot with a Dialogflow tool and custom Java / Spring backend that would integrate with Dialogflow and external databases or APIs. We determined parameters for each intent, and then we’ve created a list of learning examples read by a native speaker hired at itCraft. 

This solution is an example of mixing advantages of the existing services that are still customized within the training process.

Technical Strategy

At first, we’ve deeply analyzed the problem with the client. Our research documentation included the available frameworks and services with our recommendations, the summary of the most recent benchmarks and reviews that concluded which of the available technologies perform best, as well as our suggested architecture of an MVP.

We’ve picked text-to-speech and speech-to-text Google Cloud API solutions to provide customers with a possibility to text chat and voice call the bot.