Advanced chatbots using Dialogflow, Sentiment Analysis, Telephone Gateway and Firestore

Amanda Cavallaro
Jan 28, 2019 · 6 min read
Image for post
Image for post
Demo displayed at Next 18 in Japan

Calling a chatbot from your phone, is that even possible?

Image for post
Image for post

Sentiment Analysis

Making Phone calls

Image for post
Image for post
Demo at Next 18 in San Francisco

Telephone Gateway

Image for post
Image for post
Demo at Cloud Next 18

Found a bug in production 🚫

Image for post
Image for post
response.json({"fulfillmentMessages": 
[
{"text": { "text": [ "I am sorry you feel this way, let me transfer you to a real person!" ]
}},
{ "platform": "TELEPHONY", "telephonySynthesizeSpeech": { "text": "I am sorry you feel this way, let me transfer you to a real person!"}
},
{ "platform": "TELEPHONY", "telephonyTransferCall": { "phoneNumber": "<<ADD_THE_PHONE_NUMBER_HERE>>" } },]});

Jon’s fulfillment in .NET on github:

My fulfilment in node.js on Github:

The node.js demo available on the browser

Setting up your dialogflow agent:

Intents

Image for post
Image for post
Image for post
Image for post
Training phrases
Image for post
Image for post
Actions and Parameters
Image for post
Image for post
Default Tab
Image for post
Image for post
Telephony Tab

Entity

“VR”,”VR”
“Advertising”,”Advertising”
“angular”,”angular”,”Angular JS”
“GCP”,”GCP”,”Google Cloud”,”Google Cloud Platform”
“Java”,”Java”
“firebase”,”firebase”
“Blockchain”,”Blockchain”
“Data analytics”,”Data analytics”,”data analyst”
“python”,”python”
“public speaking”,”public speaking”
“Actions on Google”,”Actions on Google”,”AoG”,”Google Actions”,”Google Assistant”,”NLP”,”Conversational apps”,”conversation design”
“Business intelligence”,”Business intelligence”
“PHP”,”PHP”
“Play Store Optimization”,”Play Store Optimization”
“SQL”,”SQL”
“C++”,”C++”
“app script”,”app script”
“Android”,”Android”
“Javascript”,”Javascript”
“Agile”,”Agile”,”scrum”
“Kotlin”,”Kotlin”
“data privacy”,”data privacy”
“CSS”,”CSS”,”CSS 3"
“React”,”React”
“AI”,”AI”,”machine learning”,”TensorFlow”,”artificial intelligence”
“AR”,”AR”,”augmented reality”
“Backend”,”Backend”
“developer relations”,”developer relations”,”developer advocate”
“Product manager”,”Product manager”,”product managment”
“security”,”security”
“XML”,”XML”
“design”,”design”,”graphic design”
“objective C”,”objective C”
“Usability”,”Usability”
“UX”,”UX”
“Community Management”,”Community Management”
“Community managment”,”Community managment”
“data mining”,”data mining”
“UI”,”UI”
“Marketing”,”Marketing”
“Systems planning”,”Systems planning”
“design thinking”,”design thinking”
“event managment”,”event managment”
“game design”,”game design”
“HTML5”,”HTML5",”HTML”
“network security”,”network security”
“online marketing”,”online marketing”
“Social media”,”Social media”
“Front end developement”,”Front end developement”
“Students in Bootcamps”,”Students in Bootcamps”

Firebase Cloud Firestore Beta Database

Image for post
Image for post
Screenshot of the database “mentors” containing the mentors records

Was this article useful to you? Let me know in the comments!

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store