SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
Conversation With Your Application
Using Dialogflow And CloudFunctions
Cliffano Subagio (@cliffano) - Shine Solutions
CLIFFANO SUBAGIO
Senior Consultant at Shine Solutions
Open Source Contributor
- Jenkins
- OpenAPI Generator
- AEM OpenCloud
Why Voice Matters?
Johannes Gutenberg in the 1400s
Michael Knight in the 1980s
Jean-Luc Picard in the 2300s
Me in 2011
Question:
Can we do better in 2019?
Dialogflow + CloudFunctions
Dialogflow
* Conversation interface
* Natural language processor
* Speech to text, text to speech
* Intents, entities, fulfilment
* Multi languages support
* Multi services integration
Cloud Functions
* You already know what it is
* Functions as a service
* Event driven
* Support node.js, Python, and Go
Architecture
Natural
language
processing
Voice
(and text)
input
Command
processing
and API calls
Convo
* node.js library for voice and text app
* Specification based
* Generates a Dialogflow agent
* Generates a CloudFunctions middleware
Greetings And Unknowns
Queries
A) Static Facts
THOMAS, PERCY, JAMES, GORDON, …
Static Facts - Thomas Children App
Static Facts - Thomas Children App
B) Freestyle-CloudFunctions
Freestyle-CloudFunctions Facts - Hacker News
Freestyle-CloudFunctions Facts - Hacker News
C) OpenAPI-CloudFunctions
OpenAPI-CloudFunctions Facts - Jenkins
OpenAPI-CloudFunctions - Data Flow
24
“Build job ABC”
“Job ABC has been
added to the queue”
{
“queryText”: “Build job ABC”,
“parameters”: {
“jobName”: “ABC”
},
“intent”: {
“displayName”: “build-job”
}
}
POST /job/ABC/build
200 OK
{
“fulfllmentText”: “Job ABC has been added to the queue”,
“payload”: { “google”: { “richResponse”: { “items”: [
“simpleResponse”: {
“textToSpeech”: “Job ABC has been added to the queue”,
“displayText”: “Job ABC has been added to the queue”,
}]}}}
}
{
“inputs": [
{
"intent": "actions.intent.TEXT",
"rawInputs": [
{
"inputType": "VOICE",
"query": “Build job ABC”
}
]}]}
"expectedInputs": [
{
"inputPrompt": {
"richInitialPrompt": {
"items": [ { "simpleResponse": {
"textToSpeech": “Job ABC has been added to the queue"
}
}]}}}]}
Anybody speaks German or Japanese?
Answer:
Yes. We can do better in 2019!
What’s Next?
1. Identity forwarding
2. HTTP basic auth on middleware
3. More services integration
4. More applications!
Voice matters.
Because not everyone can type.
Thank you.
Questions?
Links
• https://github.com/cliffano/convo
• https://github.com/cliffano/convo-generator
• https://github.com/cliffano/convo-node
• https://github.com/cliffano/convo-thomas
• https://github.com/cliffano/convo-hacker-news
• https://github.com/cliffano/convo-hacker-news-helper
• https://github.com/cliffano/convo-jenkins
• https://github.com/cliffano/convo-jenkins-helper
Repositories
• https://www.npmjs.com/package/generator-convo
• https://www.npmjs.com/package/convo-node
• https://www.npmjs.com/package/convo-hacker-news-helper
• https://www.npmjs.com/package/convo-jenkins-helper
Published Libraries

Más contenido relacionado

Similar a Conversation With Your Application Using DialogFlow and CloudFunctions

David Evans - EmMeCon Seattle 2013
David Evans - EmMeCon Seattle 2013David Evans - EmMeCon Seattle 2013
David Evans - EmMeCon Seattle 2013
Wappow
 
Basic Python Introduction Lecture 1.pptx
Basic Python Introduction Lecture 1.pptxBasic Python Introduction Lecture 1.pptx
Basic Python Introduction Lecture 1.pptx
Aditya Patel
 

Similar a Conversation With Your Application Using DialogFlow and CloudFunctions (20)

Moving Conversational bots off Your Product Roadmap And Into Your Workstreams...
Moving Conversational bots off Your Product Roadmap And Into Your Workstreams...Moving Conversational bots off Your Product Roadmap And Into Your Workstreams...
Moving Conversational bots off Your Product Roadmap And Into Your Workstreams...
 
Are you ready for Google Wave?
Are you ready for Google Wave?Are you ready for Google Wave?
Are you ready for Google Wave?
 
Yahoo Mobile Widget Vision
Yahoo Mobile Widget VisionYahoo Mobile Widget Vision
Yahoo Mobile Widget Vision
 
Phone gap in android technology
Phone gap in android technologyPhone gap in android technology
Phone gap in android technology
 
Mobile Delivery Run Through
Mobile Delivery Run ThroughMobile Delivery Run Through
Mobile Delivery Run Through
 
David Evans - EmMeCon Seattle 2013
David Evans - EmMeCon Seattle 2013David Evans - EmMeCon Seattle 2013
David Evans - EmMeCon Seattle 2013
 
01 introduction
01 introduction01 introduction
01 introduction
 
637b4894085c4_ppt.pptx
637b4894085c4_ppt.pptx637b4894085c4_ppt.pptx
637b4894085c4_ppt.pptx
 
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
 
VoiceCon: Developing Voice Apps Using Mashups and SOA
VoiceCon: Developing Voice Apps Using Mashups and SOAVoiceCon: Developing Voice Apps Using Mashups and SOA
VoiceCon: Developing Voice Apps Using Mashups and SOA
 
Progressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldProgressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source world
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
Mobile Office For Maemo
Mobile Office For MaemoMobile Office For Maemo
Mobile Office For Maemo
 
What is Python?
What is Python?What is Python?
What is Python?
 
Out of the Fog and Into the Cloud: How to Make More Money with Simp
Out of the Fog and Into the Cloud: How to Make More Money with SimpOut of the Fog and Into the Cloud: How to Make More Money with Simp
Out of the Fog and Into the Cloud: How to Make More Money with Simp
 
PYTHON TUTORIALS.pptx
PYTHON TUTORIALS.pptxPYTHON TUTORIALS.pptx
PYTHON TUTORIALS.pptx
 
Build Real-World Mobile Applications With Python App Development Services Com...
Build Real-World Mobile Applications With Python App Development Services Com...Build Real-World Mobile Applications With Python App Development Services Com...
Build Real-World Mobile Applications With Python App Development Services Com...
 
The Ring programming language version 1.10 book - Part 6 of 212
The Ring programming language version 1.10 book - Part 6 of 212The Ring programming language version 1.10 book - Part 6 of 212
The Ring programming language version 1.10 book - Part 6 of 212
 
Basic Python Introduction Lecture 1.pptx
Basic Python Introduction Lecture 1.pptxBasic Python Introduction Lecture 1.pptx
Basic Python Introduction Lecture 1.pptx
 
Building Multilingual Sites in Drupal 7 by Yoni Steingiesser
Building Multilingual Sites in Drupal 7 by Yoni SteingiesserBuilding Multilingual Sites in Drupal 7 by Yoni Steingiesser
Building Multilingual Sites in Drupal 7 by Yoni Steingiesser
 

Más de Cliffano Subagio

Cross-Workloads Resource-Level Relationship in AWS
Cross-Workloads Resource-Level Relationship in AWSCross-Workloads Resource-Level Relationship in AWS
Cross-Workloads Resource-Level Relationship in AWS
Cliffano Subagio
 

Más de Cliffano Subagio (20)

Cross-Workloads Resource-Level Relationship in AWS
Cross-Workloads Resource-Level Relationship in AWSCross-Workloads Resource-Level Relationship in AWS
Cross-Workloads Resource-Level Relationship in AWS
 
AEM OpenCloud Delivery Practices
AEM OpenCloud Delivery PracticesAEM OpenCloud Delivery Practices
AEM OpenCloud Delivery Practices
 
OpenAPI Generator The Babel Fish of The API World - apidays Live Paris
OpenAPI Generator The Babel Fish of The API World - apidays Live ParisOpenAPI Generator The Babel Fish of The API World - apidays Live Paris
OpenAPI Generator The Babel Fish of The API World - apidays Live Paris
 
OpenAPI Generator The Babel Fish of The API World - apidays Live Australia
OpenAPI Generator The Babel Fish of The API World - apidays Live AustraliaOpenAPI Generator The Babel Fish of The API World - apidays Live Australia
OpenAPI Generator The Babel Fish of The API World - apidays Live Australia
 
A Journey to Improve Infrastructure Compliance With InSpec
A Journey to Improve Infrastructure Compliance With InSpecA Journey to Improve Infrastructure Compliance With InSpec
A Journey to Improve Infrastructure Compliance With InSpec
 
How to Fit an Infrastructure Platform into Multiple Enterprise Environments
How to Fit an Infrastructure Platform into Multiple Enterprise EnvironmentsHow to Fit an Infrastructure Platform into Multiple Enterprise Environments
How to Fit an Infrastructure Platform into Multiple Enterprise Environments
 
Swagger AEM - An OpenAPI Specification for AEM
Swagger AEM - An OpenAPI Specification for AEMSwagger AEM - An OpenAPI Specification for AEM
Swagger AEM - An OpenAPI Specification for AEM
 
Introducing AEM OpenCloud
Introducing AEM OpenCloudIntroducing AEM OpenCloud
Introducing AEM OpenCloud
 
A Quick Look at Accessibility in the World of DevOps
A Quick Look at Accessibility in the World of DevOpsA Quick Look at Accessibility in the World of DevOps
A Quick Look at Accessibility in the World of DevOps
 
Let's Build Voice Assistant Learning Games For Kids
Let's Build Voice Assistant Learning Games For KidsLet's Build Voice Assistant Learning Games For Kids
Let's Build Voice Assistant Learning Games For Kids
 
Having A Talk With Jenkins
Having A Talk With JenkinsHaving A Talk With Jenkins
Having A Talk With Jenkins
 
AEM Open Cloud - The First Two Years
AEM Open Cloud - The First Two YearsAEM Open Cloud - The First Two Years
AEM Open Cloud - The First Two Years
 
AEM OpenCloud - What's New Since 2.0.0
AEM OpenCloud - What's New Since 2.0.0AEM OpenCloud - What's New Since 2.0.0
AEM OpenCloud - What's New Since 2.0.0
 
Beyond AEM Curl Commands
Beyond AEM Curl CommandsBeyond AEM Curl Commands
Beyond AEM Curl Commands
 
AEM OpenCloud
AEM OpenCloudAEM OpenCloud
AEM OpenCloud
 
Open Source AEM Platform: A Short Intro
Open Source AEM Platform: A Short IntroOpen Source AEM Platform: A Short Intro
Open Source AEM Platform: A Short Intro
 
How To Play Music On A Vacuum Cleaner
How To Play Music On A Vacuum CleanerHow To Play Music On A Vacuum Cleaner
How To Play Music On A Vacuum Cleaner
 
Bringing Jenkins Remote Access API To The Masses
Bringing Jenkins Remote Access API To The MassesBringing Jenkins Remote Access API To The Masses
Bringing Jenkins Remote Access API To The Masses
 
Application Deployment Using Ansible
Application Deployment Using AnsibleApplication Deployment Using Ansible
Application Deployment Using Ansible
 
Continuous Delivery Using Jenkins
Continuous Delivery Using JenkinsContinuous Delivery Using Jenkins
Continuous Delivery Using Jenkins
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Conversation With Your Application Using DialogFlow and CloudFunctions