SlideShare a Scribd company logo
Build advanced
Voice Assistants and ChatBots
Stève SFARTZ
API Evangelist -Cisco DevNet
stsfartz@cisco.com, @SteveSfartz, github://ObjectIsadvantag
2
• Experience the CodeMotion Milan 2016 Voice Machine
• Step by step guide
• Pick a Tropo phone number and connect it to a Javascript IVR
• Setup a SMS Bridge to onboard participants into a Spark room
• Check Tropo real-time activity via a ChatOps room
• Connect an interactive assistant to a Spark room as a Webhook (Bots)
• Considerations
Agenda
+39 051 042 1150
!create an account on
http://tropo.com to go
hands-on live!
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
CodeMotion Milan 2016 IVR
Interactive Voice Responder
• Call +39 051 042 1150 and listen…
• Dial 1 to receive more details by SMS, 2 for next, 3 for previous
• Check you session details on your mobile phone
• Text your email to the caller (+1 414 999 0205) /! you’re texting US !!!
• Launch CiscoSpark, and meet the bot…
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
dials #1
{CodeMotion} Milan 2016 - Tropo IVR -
+39 051 042 1150
« Welcome »
details via SMS
ack
texts email address
/now
current events
calls
texts
« sparks »
IVR
JS script
Events
BotCisco Spark
POST
membership
reachs Support room
SMSBridge
JS library
/email
texted
Log2Spark
JS library
/new
logs
POST
message
« ChatOps »
Room
« Support »
Room
Voice Machine Responder
with Tropo
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
What is Tropo ?
Cloud APIs enabling developers to quickly
and easily embed communication capabilities
into their applications and business processes.
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
+
• Ask
• Call
• Conference
• Hangup
• Record
• Reject
• Say
• Transfer
Tropo in a nutshell
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
say("hello world");
Play an Audio File
say(“http://www.phono.com/audio/tropor
ocks.mp3");
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
call("+14155550100");
say("Tag, you’re it!");
Outbound Voice Call
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Asking
a
Send a Text Message
call("+14155550100",
{network:"SMS"}
);
say("Tag, you’re it!");
Asking a Question
var result = ask("What's your favorite color?
Choose from red, blue or green.", {
choices:"red, blue, green"
});
say("You said " + result.value);
log("They said " + result.value);
Voicemail Application
record("Leave your message at the beep. Press pound
when finished.", {
beep:true,
timeout:10,
silenceTimeout:7,
maxTime:60,
terminator:'#',
recordFormat:"audio/mp3",
recordURI:"ftp://example.com/1.mp3",
recordUser:"tropocloud",
recordPassword:"password"
}
);
Record an Entire Call
startCallRecording("http://example.com/recording.js");
ask("What's your favorite color? Choose from red, blue or green.", {
choices:"red, blue, green"
});
stopCallRecording();
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
• Local Numbers
• Toll Free
• 42+ countries
• SIP Addresses
Numbers
• Inbound
• Outbound
• Trunking
included
Voice
• Inbound
• Outbound
• Two-way
Texting
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
• Transfer
• Conference
• Headers
Call Control
• Speech
Recognition
• Text to Speech
• Audio playback
• Recording
Rich Media
• Redundant
data centers
• Auto-scaling
• Usage-based
Cloud
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Account Types
• Free for testing
• Low-volume
• Restricted use
• No production
usage
Developer
• Pre-paid
• Credit Card
• Self-service
signup
• Shared Cloud
• one minute billing
increments
Production
• Post-paid
invoices
• Contract
• SLA
• Account
Manager
• Shorter billing
increments
• Training
Enterprise
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
24x7 support
All features
Monitored, Managed Cloud
Developer Production Enterprise
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Globally available
Global Outgoing Calls & Messages
Numbers in 42 countries
80 speech languages
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
How to setup a custom IVR
• The IVR is composed of :
• a local phone number
• a custom script executed by the Tropo Scripting platform
dials #1
+39 051 042 1150
« Welcome »
details via SMS
calls
IVR
script
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Hands-on: let’s setup the DevNet Quiz IVR
• Create a new Tropo application
on http://tropo.com
• Point to the IVR script:
http://bit.ly/MILAN2016-1
• Save the application
22
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Hands-on: setup the DevNet Quiz IVR
• Add a phone number
• note : pick a SMS-enabled phone number as we’ll leverage SMS later
• Call your IVR
23
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
IVR highlights
• Fork a new Tropo session to send a SMS
24
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
To go further…
• Personalize your IVR
• Modify the invites, play audio files
• Pick international voices
• Use SSML to enhance your User Experience
• Understand how the Tropo Scripting platform manages your files
• For development, host your scripts on an external URL for changes to reflect
instanlty
• As Tropo will fetch your script everytime it is invoked
• Host on Github gist, edit your favorite IDE
• https://www.tropo.com/2016/06/gists-can-help-tropo-scripting-development/
• When going live, host your scripts on Tropo Production File Servers
25
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Join the Cisco DevNet code labs
https://github.com/CiscoDevNet/codemotion-milan-2016
Cisco Spark ChatOps
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
What are ChatOps ?
• Step by step article to set this up
• https://www.tropo.com/2016/06/devops-follow-tropo-spark/
28
“Follow your
Tropo application
real-time activity
in Cisco Spark”
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
How to setup Cisco Spark ChatOps
To stream logs into CiscoSpark
and get instant view about Tropo
activity:
1. Create a ChatOps room
2. Add an Incoming Webhook
3. Post messages from Tropo
Quiz
script
Spark
Log2Spark
library
/new
logs
POST
message
« ChatOps »
Room
1
2
3
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco Spark
Secure & Open
Complete & Simple
Spark for Developers
User Integrations, APIs/SDKs, etc.
Spark Hybrid Services
Cloud + Prem
Partner Services
Interconnect
Message Meeting Call
1:1 and team messaging in virtual rooms A Cloud-based phone systemAudio, video, and web meetings
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
What is so great about REST?
same concept, many Cisco APIs
Easy to Build
Web apps
Mobile apps
M2M, Bots…
REST API
31
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
‘Your App’
now with
Cisco Collab!
Spark APIs
Extend Cisco Collaboration Cloud
GET
POST
DELETE
PUT
/Rooms
/Memberships
/Messages
/Webhooks
/People
32
/Teams
https://developer.ciscospark.com/
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco Spark API v1 (July 2016)
/People /Rooms /Membership /Messages /Teams /Webhooks
List People List Rooms List Memberships List Messages List Teams List Webhooks
Create a Room Create a Membership Create a Message Create a Team Create a Webhook
Get Person Details Get Room details Get Membership details Get Message details Get Team details Get Webhook details
Update a Room Update a Membership Update a Team Update a Webhook
Delete a Room Delete a Membership Delete a Message Delete a Team Delete a Webhook
GET
POST
DELETE
PUT
DELETE DELETE DELETE
PUT PUT
POST POST POST
GET GET GET
GET GET
GET
GET GETGET
33
DELETE
PUT
POST
GET
GET
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
• Create a new Cisco Spark room from the CiscoSpark Developer Portal
34
https://developer.ciscospark.com/endpoint-rooms-post.html
DevNet Events Bot
Check upcoming events
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
How to connect the ‘DevNet Quiz’ Bot
/now
event details« sparks »
DevNet
Events BotCisco Spark
reaches the Support room « Support »
Room
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Join the Cisco DevNet code labs
https://github.com/CiscoDevNet/codemotion-milan-2016
Further considerations
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
• from the CodeMotion Conference page
• to a json payload provided by Andrea Ferlito
• created a REST API out of a Sails.js template
• https://github.com/ObjectIsAdvantag/CodeMotionMilan2016
 Free your data, you cannot anticipate how much value is laying there, not
exploited.
 You may not have ideas, but be faithful: the community will have a lot !!!
A bit of history
39
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 40
Typical bot journey
• Built a few bot samples in NodeJS, starting with Express simple code
• https://github.com/CiscoDevNet/node-sparkbot/blob/master/tests/express-spark-
webhook.js
• THEN start a library to abstract:
• Express boilerplate,
• Notifications listener,
• Bot Commands interpreter,
• Bot Mentions detection & triming
 sounds familiar ?
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 41
Bot Frameworks survey
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 42
Typical bot journey
• Built a few bot samples, from Express simple code
• https://github.com/CiscoDevNet/node-sparkbot/blob/master/tests/express-
spark-webhook.js
• Created a bot framework to simplify repetitive tasks
• Express boilerplate, notifications listener, command interpreter, bot mentions
detection
• https://github.com/CiscoDevNet/node-sparkbot-
samples/blob/master/templates/onCommand.js
>> Time for choices Getting more opiniated
• Automation but not loose of control (no magic behind the scene)
• Metadata
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 43
Typical bot journey
• always gets more opiniated….
• NLP, Conversations, Contexts
• 3rd party services or DIY
• Howdy does a pretty good job about conversations & context storage
• others concerns
• OAUTH scopes, too large ?
• What is this Bot code of conduct ?
• All Web API classics apply: scalability, robustness, analytics, security
Let’s wrap it up
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
dials #1
DevNet Quiz Overview
+1 414-882-4782
« Welcome »
« DEVNET3002 details »
ack
subscribes via email
/challenge
plays the challenge
calls
texts
« sparks »
Quiz
script
Quiz Bot
Cisco Spark
POST
membership
joins Quiz room
CiscoSpark
Bridge
/email
texted
CiscoSpark
ChatOps
/new
logs
POST
message
« ChatOps »
Room
« Quiz »
Room
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 46
Key API Features and Use-Cases
• /rooms/people  automate room
creation and population
• /messages  app-driven
notifications and reports
• /teams  self-service rooms
• /webhooks  interactive assistants
(chat bots)
• TTS/Speech Recognition  voice
driven interactive customer service
• SMS  automated outbound
notifications, inbound SMS apps
• Recording/Transcription  voice
messaging and voice notes/records
• Telephony/Conferencing 
notifications and team voice comms
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 47
« Sparkers » community at Cisco DevNet
https://developer.cisco.com/site/spark/
https://learninglabs.cisco.com/tracks/collab-cloud
https://github.com/CiscoDevNet/awesome-ciscospark
Developer Portal
• Dev Centers
• Support Centers
400,000 Members
Learning labs
Springboards & Sandbox
Hackathons, CodeCamps
DevNet Express
Standards & Open Source
DevNet Zone at Cisco Lives
DevNet Kids, IEEE
Women in
Engineering
API Documentation
Projet Showcases
Forums, Community blogs
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco's presence at CodeMotion 2016
Nov 25th
• 10:00: it's all about Developers, discover Cisco DevNet
• 11:30: from IoT to Human interactions (Drone Demo)
• 14:10: build advanced Voice Assistants and Chat Bots
• codelabs: build Chat Bots, create your own IVR (Voice Machine)
http://bit.ly/labs2511
Nov 26th
• 11:30: Embed Video and Messaging without being an expert
call +39-051-042-1150
to hear upcoming sessions
Thank you
@CiscoSparkDev
@CiscoDevNet
@SteveSfartz

More Related Content

What's hot

Hacking Tizen : The OS of Everything - Nullcon Goa 2015
Hacking Tizen : The OS of Everything - Nullcon Goa 2015Hacking Tizen : The OS of Everything - Nullcon Goa 2015
Hacking Tizen : The OS of Everything - Nullcon Goa 2015
Ajin Abraham
 

What's hot (20)

Safe and Secure Applications: Deploying in a Cloud or Multi-Cloud Environment
Safe and Secure Applications: Deploying in a Cloud or Multi-Cloud EnvironmentSafe and Secure Applications: Deploying in a Cloud or Multi-Cloud Environment
Safe and Secure Applications: Deploying in a Cloud or Multi-Cloud Environment
 
Can we build an Azure IoT controlled device in less than 40 minutes that cost...
Can we build an Azure IoT controlled device in less than 40 minutes that cost...Can we build an Azure IoT controlled device in less than 40 minutes that cost...
Can we build an Azure IoT controlled device in less than 40 minutes that cost...
 
Tizen Micro Profile for IoT device
Tizen Micro Profile for IoT deviceTizen Micro Profile for IoT device
Tizen Micro Profile for IoT device
 
API 102: Programming with Meraki APIs
API 102: Programming with Meraki APIsAPI 102: Programming with Meraki APIs
API 102: Programming with Meraki APIs
 
Using bluemix predictive analytics service in Node-RED
Using bluemix predictive analytics service in Node-REDUsing bluemix predictive analytics service in Node-RED
Using bluemix predictive analytics service in Node-RED
 
PKI in DevOps: How to Deploy Certificate Automation within CI/CD
PKI in DevOps: How to Deploy Certificate Automation within CI/CDPKI in DevOps: How to Deploy Certificate Automation within CI/CD
PKI in DevOps: How to Deploy Certificate Automation within CI/CD
 
Hacking Tizen : The OS of Everything - Nullcon Goa 2015
Hacking Tizen : The OS of Everything - Nullcon Goa 2015Hacking Tizen : The OS of Everything - Nullcon Goa 2015
Hacking Tizen : The OS of Everything - Nullcon Goa 2015
 
2018 06 Presentation Cloudguard IaaS de Checkpoint
2018 06  Presentation Cloudguard IaaS de Checkpoint2018 06  Presentation Cloudguard IaaS de Checkpoint
2018 06 Presentation Cloudguard IaaS de Checkpoint
 
Tips to Reduce the Attack Surface When Using Third-Party Libraries
Tips to Reduce the Attack Surface When Using Third-Party LibrariesTips to Reduce the Attack Surface When Using Third-Party Libraries
Tips to Reduce the Attack Surface When Using Third-Party Libraries
 
BUILD with Microsoft - Radu Stefan
 BUILD with Microsoft - Radu Stefan BUILD with Microsoft - Radu Stefan
BUILD with Microsoft - Radu Stefan
 
Serverless Single Page Apps with React and Redux at ItCamp 2017
Serverless Single Page Apps with React and Redux at ItCamp 2017Serverless Single Page Apps with React and Redux at ItCamp 2017
Serverless Single Page Apps with React and Redux at ItCamp 2017
 
Build end-to-end solutions with BlueMix, Avi Vizel & Ziv Dai, IBM
Build end-to-end solutions with BlueMix, Avi Vizel & Ziv Dai, IBMBuild end-to-end solutions with BlueMix, Avi Vizel & Ziv Dai, IBM
Build end-to-end solutions with BlueMix, Avi Vizel & Ziv Dai, IBM
 
Spring on PAS - Fabio Marinelli
Spring on PAS - Fabio MarinelliSpring on PAS - Fabio Marinelli
Spring on PAS - Fabio Marinelli
 
(SACON 2020) Adventures In SDN Security
(SACON 2020) Adventures In SDN Security(SACON 2020) Adventures In SDN Security
(SACON 2020) Adventures In SDN Security
 
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & CloudantBuild Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
 
WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 10WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 10
 
Deliver your App Anywhere … Publicly or Privately
Deliver your App Anywhere … Publicly or PrivatelyDeliver your App Anywhere … Publicly or Privately
Deliver your App Anywhere … Publicly or Privately
 
apidays LIVE Singapore 2021 - Securing the Open Source supply chain by Liran ...
apidays LIVE Singapore 2021 - Securing the Open Source supply chain by Liran ...apidays LIVE Singapore 2021 - Securing the Open Source supply chain by Liran ...
apidays LIVE Singapore 2021 - Securing the Open Source supply chain by Liran ...
 
OWASP API Security Top 10 - Austin DevSecOps Days
OWASP API Security Top 10 - Austin DevSecOps DaysOWASP API Security Top 10 - Austin DevSecOps Days
OWASP API Security Top 10 - Austin DevSecOps Days
 
Serverless Security: Doing Security in 100 milliseconds
Serverless Security: Doing Security in 100 millisecondsServerless Security: Doing Security in 100 milliseconds
Serverless Security: Doing Security in 100 milliseconds
 

Viewers also liked

Viewers also liked (20)

Wearable Botnets and Happy Hacked Drivers - Andrea Pompili - Codemotion Milan...
Wearable Botnets and Happy Hacked Drivers - Andrea Pompili - Codemotion Milan...Wearable Botnets and Happy Hacked Drivers - Andrea Pompili - Codemotion Milan...
Wearable Botnets and Happy Hacked Drivers - Andrea Pompili - Codemotion Milan...
 
Milano Chatbots Meetup - Paolo Montrasio - Codemotion Milan 2016
Milano Chatbots Meetup - Paolo Montrasio - Codemotion Milan 2016Milano Chatbots Meetup - Paolo Montrasio - Codemotion Milan 2016
Milano Chatbots Meetup - Paolo Montrasio - Codemotion Milan 2016
 
Big Data, Small Dashboard - Andrea Maietta - Codemotion Milan 2016
Big Data, Small Dashboard - Andrea Maietta - Codemotion Milan 2016Big Data, Small Dashboard - Andrea Maietta - Codemotion Milan 2016
Big Data, Small Dashboard - Andrea Maietta - Codemotion Milan 2016
 
Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...
Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...
Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...
 
Salvatore Laisa - Da Angular a React - Un viaggio inaspettato
Salvatore Laisa - Da Angular a React - Un viaggio inaspettatoSalvatore Laisa - Da Angular a React - Un viaggio inaspettato
Salvatore Laisa - Da Angular a React - Un viaggio inaspettato
 
Three parent babies will be reality soon happy ho
Three parent babies will be reality soon happy hoThree parent babies will be reality soon happy ho
Three parent babies will be reality soon happy ho
 
Designing a Conversational Intelligent Bot which can cook
Designing a Conversational Intelligent Bot which can cookDesigning a Conversational Intelligent Bot which can cook
Designing a Conversational Intelligent Bot which can cook
 
Creare Docker da zero con GoLang - Giulio De Donato
Creare Docker da zero con GoLang - Giulio De DonatoCreare Docker da zero con GoLang - Giulio De Donato
Creare Docker da zero con GoLang - Giulio De Donato
 
Knowledge is Power: Getting out of trouble by understanding Git - Steve Smith...
Knowledge is Power: Getting out of trouble by understanding Git - Steve Smith...Knowledge is Power: Getting out of trouble by understanding Git - Steve Smith...
Knowledge is Power: Getting out of trouble by understanding Git - Steve Smith...
 
The new features of PHP 7 - Enrico Zimuel - Codemotion Milan 2016
The new features of PHP 7 - Enrico Zimuel - Codemotion Milan 2016The new features of PHP 7 - Enrico Zimuel - Codemotion Milan 2016
The new features of PHP 7 - Enrico Zimuel - Codemotion Milan 2016
 
From a developer to a teamleader — an unexpected journey - Vitaly Sharovatov ...
From a developer to a teamleader — an unexpected journey - Vitaly Sharovatov ...From a developer to a teamleader — an unexpected journey - Vitaly Sharovatov ...
From a developer to a teamleader — an unexpected journey - Vitaly Sharovatov ...
 
Situational Awareness, Botnet and Malware Detection in the Modern Era - Davi...
Situational Awareness, Botnet and Malware Detection in the Modern Era  - Davi...Situational Awareness, Botnet and Malware Detection in the Modern Era  - Davi...
Situational Awareness, Botnet and Malware Detection in the Modern Era - Davi...
 
Put yourself in the appsec pipe - Paolo Perego - Codemotion Milan 2016
Put yourself in the appsec pipe - Paolo Perego - Codemotion Milan 2016Put yourself in the appsec pipe - Paolo Perego - Codemotion Milan 2016
Put yourself in the appsec pipe - Paolo Perego - Codemotion Milan 2016
 
Virtual Reality gaming: analysis of Yon Paradox development - Fabio Mosca - C...
Virtual Reality gaming: analysis of Yon Paradox development - Fabio Mosca - C...Virtual Reality gaming: analysis of Yon Paradox development - Fabio Mosca - C...
Virtual Reality gaming: analysis of Yon Paradox development - Fabio Mosca - C...
 
The Fine Art of Time Travelling: implementing Event Sourcing - Andrea Saltare...
The Fine Art of Time Travelling: implementing Event Sourcing - Andrea Saltare...The Fine Art of Time Travelling: implementing Event Sourcing - Andrea Saltare...
The Fine Art of Time Travelling: implementing Event Sourcing - Andrea Saltare...
 
Keynote: Community Innovation Alaina Percival - Codemotion Milan 2016
Keynote: Community Innovation Alaina Percival - Codemotion Milan 2016Keynote: Community Innovation Alaina Percival - Codemotion Milan 2016
Keynote: Community Innovation Alaina Percival - Codemotion Milan 2016
 
Pronti per la legge sulla data protection GDPR? No Panic! - Stefano Sali, Dom...
Pronti per la legge sulla data protection GDPR? No Panic! - Stefano Sali, Dom...Pronti per la legge sulla data protection GDPR? No Panic! - Stefano Sali, Dom...
Pronti per la legge sulla data protection GDPR? No Panic! - Stefano Sali, Dom...
 
Keynote: The Most Important Thing - Mike Lee - Codemotion Milan 2016
Keynote: The Most Important Thing - Mike Lee - Codemotion Milan 2016Keynote: The Most Important Thing - Mike Lee - Codemotion Milan 2016
Keynote: The Most Important Thing - Mike Lee - Codemotion Milan 2016
 
The game design behind Redout - Giuseppe Enrico Franchi - Codemotion Milan 2016
The game design behind Redout - Giuseppe Enrico Franchi - Codemotion Milan 2016The game design behind Redout - Giuseppe Enrico Franchi - Codemotion Milan 2016
The game design behind Redout - Giuseppe Enrico Franchi - Codemotion Milan 2016
 
It’s All About Developers. Discover Cisco DevNet. - Jason Goecke - Codemotion...
It’s All About Developers. Discover Cisco DevNet. - Jason Goecke - Codemotion...It’s All About Developers. Discover Cisco DevNet. - Jason Goecke - Codemotion...
It’s All About Developers. Discover Cisco DevNet. - Jason Goecke - Codemotion...
 

Similar to Build advanced Voice Assistants and Chat Bots - Stève Sfartz - Codemotion Milan 2016

Emulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API ProvidersEmulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API Providers
Cisco DevNet
 

Similar to Build advanced Voice Assistants and Chat Bots - Stève Sfartz - Codemotion Milan 2016 (20)

How to Build Advanced Voice Assistants and Chatbots
How to Build Advanced Voice Assistants and ChatbotsHow to Build Advanced Voice Assistants and Chatbots
How to Build Advanced Voice Assistants and Chatbots
 
Breizhcamp: Créer un bot, pas si simple. Faisons le point.
Breizhcamp: Créer un bot, pas si simple. Faisons le point.Breizhcamp: Créer un bot, pas si simple. Faisons le point.
Breizhcamp: Créer un bot, pas si simple. Faisons le point.
 
Rome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat botsRome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat bots
 
Building advanced Chats Bots and Voice Interactive Assistants - Stève Sfartz ...
Building advanced Chats Bots and Voice Interactive Assistants - Stève Sfartz ...Building advanced Chats Bots and Voice Interactive Assistants - Stève Sfartz ...
Building advanced Chats Bots and Voice Interactive Assistants - Stève Sfartz ...
 
Cisco Spark & Tropo API Workshop
Cisco Spark & Tropo API WorkshopCisco Spark & Tropo API Workshop
Cisco Spark & Tropo API Workshop
 
From IoT to Human Interactions: Voice and Messages to the rescue - Stève Sfar...
From IoT to Human Interactions: Voice and Messages to the rescue - Stève Sfar...From IoT to Human Interactions: Voice and Messages to the rescue - Stève Sfar...
From IoT to Human Interactions: Voice and Messages to the rescue - Stève Sfar...
 
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
 
Phone Communications in Javascript with Tropo Serverless
Phone Communications in Javascript with Tropo ServerlessPhone Communications in Javascript with Tropo Serverless
Phone Communications in Javascript with Tropo Serverless
 
Build advanced chat bots - Steve Sfartz - Codemotion Amsterdam 2017
Build advanced chat bots - Steve Sfartz - Codemotion Amsterdam 2017Build advanced chat bots - Steve Sfartz - Codemotion Amsterdam 2017
Build advanced chat bots - Steve Sfartz - Codemotion Amsterdam 2017
 
Coding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using SparkCoding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using Spark
 
Chatbots 101: design, code, deploy - Cisco Live Orlando 2018 - DEVNET-2896
Chatbots 101: design, code, deploy - Cisco Live Orlando 2018 - DEVNET-2896Chatbots 101: design, code, deploy - Cisco Live Orlando 2018 - DEVNET-2896
Chatbots 101: design, code, deploy - Cisco Live Orlando 2018 - DEVNET-2896
 
Meeting rooms are talking! are you listening?
Meeting rooms are talking! are you listening?Meeting rooms are talking! are you listening?
Meeting rooms are talking! are you listening?
 
Cisco Spark and Tropo and the Programmable Web
Cisco Spark and Tropo and the Programmable WebCisco Spark and Tropo and the Programmable Web
Cisco Spark and Tropo and the Programmable Web
 
Cisco Spark the Industry Challenge
Cisco Spark the Industry ChallengeCisco Spark the Industry Challenge
Cisco Spark the Industry Challenge
 
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
 
Emulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API ProvidersEmulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API Providers
 
Embedding Messages and Video Calls in your apps
Embedding Messages and Video Calls in your appsEmbedding Messages and Video Calls in your apps
Embedding Messages and Video Calls in your apps
 
Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...
Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...
Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...
 
Cisco Connect Halifax 2018 Cisco Spark hybrid services architectural design
Cisco Connect Halifax 2018   Cisco Spark hybrid services architectural designCisco Connect Halifax 2018   Cisco Spark hybrid services architectural design
Cisco Connect Halifax 2018 Cisco Spark hybrid services architectural design
 
Greach 2011 - Building Telephony Apps with Groovy and Grails
Greach 2011 - Building Telephony Apps with Groovy and GrailsGreach 2011 - Building Telephony Apps with Groovy and Grails
Greach 2011 - Building Telephony Apps with Groovy and Grails
 

More from Codemotion

More from Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Recently uploaded

Recently uploaded (20)

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 

Build advanced Voice Assistants and Chat Bots - Stève Sfartz - Codemotion Milan 2016

  • 1. Build advanced Voice Assistants and ChatBots Stève SFARTZ API Evangelist -Cisco DevNet stsfartz@cisco.com, @SteveSfartz, github://ObjectIsadvantag
  • 2. 2 • Experience the CodeMotion Milan 2016 Voice Machine • Step by step guide • Pick a Tropo phone number and connect it to a Javascript IVR • Setup a SMS Bridge to onboard participants into a Spark room • Check Tropo real-time activity via a ChatOps room • Connect an interactive assistant to a Spark room as a Webhook (Bots) • Considerations Agenda
  • 3. +39 051 042 1150 !create an account on http://tropo.com to go hands-on live!
  • 4. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public CodeMotion Milan 2016 IVR Interactive Voice Responder • Call +39 051 042 1150 and listen… • Dial 1 to receive more details by SMS, 2 for next, 3 for previous • Check you session details on your mobile phone • Text your email to the caller (+1 414 999 0205) /! you’re texting US !!! • Launch CiscoSpark, and meet the bot…
  • 5. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public dials #1 {CodeMotion} Milan 2016 - Tropo IVR - +39 051 042 1150 « Welcome » details via SMS ack texts email address /now current events calls texts « sparks » IVR JS script Events BotCisco Spark POST membership reachs Support room SMSBridge JS library /email texted Log2Spark JS library /new logs POST message « ChatOps » Room « Support » Room
  • 7. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public What is Tropo ? Cloud APIs enabling developers to quickly and easily embed communication capabilities into their applications and business processes.
  • 8. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public + • Ask • Call • Conference • Hangup • Record • Reject • Say • Transfer Tropo in a nutshell
  • 9. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public say("hello world");
  • 10. Play an Audio File say(“http://www.phono.com/audio/tropor ocks.mp3");
  • 11. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public call("+14155550100"); say("Tag, you’re it!"); Outbound Voice Call
  • 12. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public Asking a Send a Text Message call("+14155550100", {network:"SMS"} ); say("Tag, you’re it!");
  • 13. Asking a Question var result = ask("What's your favorite color? Choose from red, blue or green.", { choices:"red, blue, green" }); say("You said " + result.value); log("They said " + result.value);
  • 14. Voicemail Application record("Leave your message at the beep. Press pound when finished.", { beep:true, timeout:10, silenceTimeout:7, maxTime:60, terminator:'#', recordFormat:"audio/mp3", recordURI:"ftp://example.com/1.mp3", recordUser:"tropocloud", recordPassword:"password" } );
  • 15. Record an Entire Call startCallRecording("http://example.com/recording.js"); ask("What's your favorite color? Choose from red, blue or green.", { choices:"red, blue, green" }); stopCallRecording();
  • 16. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public • Local Numbers • Toll Free • 42+ countries • SIP Addresses Numbers • Inbound • Outbound • Trunking included Voice • Inbound • Outbound • Two-way Texting
  • 17. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public • Transfer • Conference • Headers Call Control • Speech Recognition • Text to Speech • Audio playback • Recording Rich Media • Redundant data centers • Auto-scaling • Usage-based Cloud
  • 18. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public Account Types • Free for testing • Low-volume • Restricted use • No production usage Developer • Pre-paid • Credit Card • Self-service signup • Shared Cloud • one minute billing increments Production • Post-paid invoices • Contract • SLA • Account Manager • Shorter billing increments • Training Enterprise
  • 19. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 24x7 support All features Monitored, Managed Cloud Developer Production Enterprise
  • 20. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public Globally available Global Outgoing Calls & Messages Numbers in 42 countries 80 speech languages
  • 21. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public How to setup a custom IVR • The IVR is composed of : • a local phone number • a custom script executed by the Tropo Scripting platform dials #1 +39 051 042 1150 « Welcome » details via SMS calls IVR script
  • 22. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public Hands-on: let’s setup the DevNet Quiz IVR • Create a new Tropo application on http://tropo.com • Point to the IVR script: http://bit.ly/MILAN2016-1 • Save the application 22
  • 23. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public Hands-on: setup the DevNet Quiz IVR • Add a phone number • note : pick a SMS-enabled phone number as we’ll leverage SMS later • Call your IVR 23
  • 24. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public IVR highlights • Fork a new Tropo session to send a SMS 24
  • 25. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public To go further… • Personalize your IVR • Modify the invites, play audio files • Pick international voices • Use SSML to enhance your User Experience • Understand how the Tropo Scripting platform manages your files • For development, host your scripts on an external URL for changes to reflect instanlty • As Tropo will fetch your script everytime it is invoked • Host on Github gist, edit your favorite IDE • https://www.tropo.com/2016/06/gists-can-help-tropo-scripting-development/ • When going live, host your scripts on Tropo Production File Servers 25
  • 26. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public Join the Cisco DevNet code labs https://github.com/CiscoDevNet/codemotion-milan-2016
  • 28. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public What are ChatOps ? • Step by step article to set this up • https://www.tropo.com/2016/06/devops-follow-tropo-spark/ 28 “Follow your Tropo application real-time activity in Cisco Spark”
  • 29. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public How to setup Cisco Spark ChatOps To stream logs into CiscoSpark and get instant view about Tropo activity: 1. Create a ChatOps room 2. Add an Incoming Webhook 3. Post messages from Tropo Quiz script Spark Log2Spark library /new logs POST message « ChatOps » Room 1 2 3
  • 30. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public Cisco Spark Secure & Open Complete & Simple Spark for Developers User Integrations, APIs/SDKs, etc. Spark Hybrid Services Cloud + Prem Partner Services Interconnect Message Meeting Call 1:1 and team messaging in virtual rooms A Cloud-based phone systemAudio, video, and web meetings
  • 31. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public What is so great about REST? same concept, many Cisco APIs Easy to Build Web apps Mobile apps M2M, Bots… REST API 31
  • 32. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public ‘Your App’ now with Cisco Collab! Spark APIs Extend Cisco Collaboration Cloud GET POST DELETE PUT /Rooms /Memberships /Messages /Webhooks /People 32 /Teams https://developer.ciscospark.com/
  • 33. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public Cisco Spark API v1 (July 2016) /People /Rooms /Membership /Messages /Teams /Webhooks List People List Rooms List Memberships List Messages List Teams List Webhooks Create a Room Create a Membership Create a Message Create a Team Create a Webhook Get Person Details Get Room details Get Membership details Get Message details Get Team details Get Webhook details Update a Room Update a Membership Update a Team Update a Webhook Delete a Room Delete a Membership Delete a Message Delete a Team Delete a Webhook GET POST DELETE PUT DELETE DELETE DELETE PUT PUT POST POST POST GET GET GET GET GET GET GET GETGET 33 DELETE PUT POST GET GET
  • 34. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public • Create a new Cisco Spark room from the CiscoSpark Developer Portal 34 https://developer.ciscospark.com/endpoint-rooms-post.html
  • 35. DevNet Events Bot Check upcoming events
  • 36. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public How to connect the ‘DevNet Quiz’ Bot /now event details« sparks » DevNet Events BotCisco Spark reaches the Support room « Support » Room
  • 37. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public Join the Cisco DevNet code labs https://github.com/CiscoDevNet/codemotion-milan-2016
  • 39. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public • from the CodeMotion Conference page • to a json payload provided by Andrea Ferlito • created a REST API out of a Sails.js template • https://github.com/ObjectIsAdvantag/CodeMotionMilan2016  Free your data, you cannot anticipate how much value is laying there, not exploited.  You may not have ideas, but be faithful: the community will have a lot !!! A bit of history 39
  • 40. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 40 Typical bot journey • Built a few bot samples in NodeJS, starting with Express simple code • https://github.com/CiscoDevNet/node-sparkbot/blob/master/tests/express-spark- webhook.js • THEN start a library to abstract: • Express boilerplate, • Notifications listener, • Bot Commands interpreter, • Bot Mentions detection & triming  sounds familiar ?
  • 41. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 41 Bot Frameworks survey
  • 42. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 42 Typical bot journey • Built a few bot samples, from Express simple code • https://github.com/CiscoDevNet/node-sparkbot/blob/master/tests/express- spark-webhook.js • Created a bot framework to simplify repetitive tasks • Express boilerplate, notifications listener, command interpreter, bot mentions detection • https://github.com/CiscoDevNet/node-sparkbot- samples/blob/master/templates/onCommand.js >> Time for choices Getting more opiniated • Automation but not loose of control (no magic behind the scene) • Metadata
  • 43. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 43 Typical bot journey • always gets more opiniated…. • NLP, Conversations, Contexts • 3rd party services or DIY • Howdy does a pretty good job about conversations & context storage • others concerns • OAUTH scopes, too large ? • What is this Bot code of conduct ? • All Web API classics apply: scalability, robustness, analytics, security
  • 45. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public dials #1 DevNet Quiz Overview +1 414-882-4782 « Welcome » « DEVNET3002 details » ack subscribes via email /challenge plays the challenge calls texts « sparks » Quiz script Quiz Bot Cisco Spark POST membership joins Quiz room CiscoSpark Bridge /email texted CiscoSpark ChatOps /new logs POST message « ChatOps » Room « Quiz » Room
  • 46. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 46 Key API Features and Use-Cases • /rooms/people  automate room creation and population • /messages  app-driven notifications and reports • /teams  self-service rooms • /webhooks  interactive assistants (chat bots) • TTS/Speech Recognition  voice driven interactive customer service • SMS  automated outbound notifications, inbound SMS apps • Recording/Transcription  voice messaging and voice notes/records • Telephony/Conferencing  notifications and team voice comms
  • 47. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 47 « Sparkers » community at Cisco DevNet https://developer.cisco.com/site/spark/ https://learninglabs.cisco.com/tracks/collab-cloud https://github.com/CiscoDevNet/awesome-ciscospark
  • 48. Developer Portal • Dev Centers • Support Centers 400,000 Members Learning labs Springboards & Sandbox Hackathons, CodeCamps DevNet Express Standards & Open Source DevNet Zone at Cisco Lives DevNet Kids, IEEE Women in Engineering API Documentation Projet Showcases Forums, Community blogs
  • 49. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public Cisco's presence at CodeMotion 2016 Nov 25th • 10:00: it's all about Developers, discover Cisco DevNet • 11:30: from IoT to Human interactions (Drone Demo) • 14:10: build advanced Voice Assistants and Chat Bots • codelabs: build Chat Bots, create your own IVR (Voice Machine) http://bit.ly/labs2511 Nov 26th • 11:30: Embed Video and Messaging without being an expert call +39-051-042-1150 to hear upcoming sessions