SlideShare a Scribd company logo
Building Chat Bots !!
What is a Chatbot, Slack, SlackBot ..
Chatbot
• A Chatbot is a computer program which conducts a conversation
via audio or textual methods.
• E.g.
• Voice based bots : Alexa, Siri
• Text based chat bots: Slack, Facebook, Skype.
Slack
• Slack is a cloud-based messaging app for team collaboration. Got
very popular due to app integrations. Slack teams consist of
channels, users (humans and bots)
• Similar Instant messenger platforms are Skype, Facebook
Messenger, Whatsapp
SlackBot ??
©2017 PayPal Inc. Confidential and proprietary.
Bot Platform to order
from marketplacess.
TacoBot within the
Slack
Twitter Bot to order Pizza
by Tweeting Pizza Emoji
Early disruptors in bots domain
PayPal announced their own Slackbot in
early 2017 for to use PayPal within Slack.
Followed by PayPal in 2017…..
What can a Slackbot do
Slack Bot interact with a user on a Slack team by
1. Connecting to Slack’s Real time Messaging (RTM )API and
opening a web-socket connection with Slack.
• Bot user will Monitor and process channel activity
• Post messages and react to users
• Web API to post formatted messages, attachments,
emoji
• Make messages interactive with buttons
2. Listening to Slack Events via HTTP based Events API aka
Slack Webhooks . Configure events at
https://api.slack.com/events
Developing a SlackBot
Two Kinds of Slack bot you can develop :
Custom Bots
• Custom for a team’s requirements
• Can be used for company’s process automation etc.
Bot Users attached to Slack App
• For distribution to other teams
• Governed by OAuth permission scopes
• Distributed via Slack Button or Slack Appstore
Apps generally start as custom bots and evolve into a Slack App.
©2017 PayPal Inc. Confidential and proprietary.
Programming a Slack bot
1. Make authenticated API calls and consume Slack
RTM API
2. Use existing library or SDKs (such as node-slack-
client) https://github.com/slackhq/node-slack-client
3. Botkit Framework :
• Does heavy lifting for Slack API interaction
• Open source bot builder platform for Node.js
• Targets Slack, Facebook, Twilio currently
• http://howdy.ai/botkit
Using Botkit to develop a custom Bot using Slack RTM API.
CODE WALKTHROUGH
Project Structure
Clone: https://github.com/vasujain/slack-bot-github
• node_modules/ contain botkit module – generated by npm install
• package.json specifies your project details and dependencies
• index.js is the entry point
• Util.js for utility functions
• Config.json for string sensitive data
• Npm-debug.log created by default for error logging
• Lib/ directory containing slack libraries
©2017 PayPal Inc. Confidential and proprietary.
Developing a Custom SlackBot - Setup
1. Install Botkit
• From NPM
• npm install --save botkit
• From Github
• git clone
git@github.com:howdyai/botkit.git
• npm install
2. Create a new bot user integration and
customize it
https://my.slack.com/services/new/bot
Developing a Custom SlackBot – Hello World
3. Capture token generated in #1, to be used to
connect to Slack API
4. Constructs base 64 encoded value and add it to
config.json (not mandatory for regular bots)
5. Run a sample bot
• npm start index.js
6. Invite Bot to your team
7. Say Hello to your Bot
Lets Integrate an API in our bot
1. API to integrate – Github
2. Get tokens and make first successful API call
3. Convert REST Call into Node Code
4. Write a controller using Intents from Slack input
and parsing them for API call
5. Integrate Node code
6. Parse API Response and construct Slack Response
7. Happy Bot-ing !!
©2017 PayPal Inc. Confidential and proprietary.
Demo for GitBit !!
&
Questions
Thank You !!
„ http://www.greenmellenmedia.com/wp-content/uploads/slack-chat.png
„ https://tctechcrunch2011.files.wordpress.com/2016/05/robot-customer-
service.png
„ https://blog.zipfworks.com/content/images/2016/06/1-6J2T-
ftDoHNGEvuMQiuWLA.jpeg
„ https://www.wired.com/wp-content/uploads/2015/08/SlackBot-
featured1.jpg
„ https://cdn-images-
1.medium.com/max/800/1*SRq8BmUQl1YWXTCbO859kw.png
„ https://robotsandpencils.com/wp-
content/uploads/2016/03/Hero_graphic_BeepBoop@2x.png
„ https://beepboophq.storage.googleapis.com/_web/en_US/grande.edeb24.p
ng
„ https://beepboophq.storage.googleapis.com/_web/en_US/venti.dba620.png
Image
Credits
Building Enterprise Chat Bots

More Related Content

What's hot

Developing WordPress Plugins : For Begineers
Developing WordPress Plugins :  For BegineersDeveloping WordPress Plugins :  For Begineers
Developing WordPress Plugins : For Begineers
M A Hossain Tonu
 
Flask
FlaskFlask
Live Coverage at The New York Times
Live Coverage at The New York TimesLive Coverage at The New York Times
Live Coverage at The New York Times
Scott Taylor
 
Hands On With OpenSocial and Embedded Experiences
Hands On With OpenSocial and Embedded ExperiencesHands On With OpenSocial and Embedded Experiences
Hands On With OpenSocial and Embedded Experiences
Ryan Baxter
 
Story of a Cerberus Bot
Story of a Cerberus BotStory of a Cerberus Bot
Story of a Cerberus Bot
dega1999
 
Dd13.2013.milano.open ntf
Dd13.2013.milano.open ntfDd13.2013.milano.open ntf
Dd13.2013.milano.open ntf
Ulrich Krause
 
A Day of REST
A Day of RESTA Day of REST
A Day of REST
Scott Taylor
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Ryan Cuprak
 
WordPress: Getting Under the Hood
WordPress: Getting Under the HoodWordPress: Getting Under the Hood
WordPress: Getting Under the Hood
Scott Taylor
 
O365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van RousseltO365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van Rousselt
NCCOMMS
 
React Native
React NativeReact Native
React Native
Fatih Şimşek
 
Nom Nom: Consuming REST APIs
Nom Nom: Consuming REST APIsNom Nom: Consuming REST APIs
Nom Nom: Consuming REST APIs
Tessa Mero
 
Joomla Day Australia 2019
Joomla Day Australia 2019Joomla Day Australia 2019
Joomla Day Australia 2019
George Wilson
 
Mikrofrontend a Module Federation
Mikrofrontend a Module FederationMikrofrontend a Module Federation
Mikrofrontend a Module Federation
The Software House
 
Local development environment for micro services with docker
Local development environment for micro services with dockerLocal development environment for micro services with docker
Local development environment for micro services with docker
LINE Corporation
 
Natural Language UI Testing using Behavior Driven Development with Pavlov and...
Natural Language UI Testing using Behavior Driven Development with Pavlov and...Natural Language UI Testing using Behavior Driven Development with Pavlov and...
Natural Language UI Testing using Behavior Driven Development with Pavlov and...
Eric DeLabar
 
Strategies for securing your banks & enterprises (from someone who robs bank...
 Strategies for securing your banks & enterprises (from someone who robs bank... Strategies for securing your banks & enterprises (from someone who robs bank...
Strategies for securing your banks & enterprises (from someone who robs bank...
ITCamp
 
O365Con18 - Working with PowerShell, VS Code and GitHub - Thomas Vochten
O365Con18 - Working with PowerShell, VS Code and GitHub - Thomas VochtenO365Con18 - Working with PowerShell, VS Code and GitHub - Thomas Vochten
O365Con18 - Working with PowerShell, VS Code and GitHub - Thomas Vochten
NCCOMMS
 
Show110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real WorldShow110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real World
pdhannan
 
XPages Mobile Controls DanNotes 11/23/11
XPages Mobile Controls DanNotes 11/23/11XPages Mobile Controls DanNotes 11/23/11
XPages Mobile Controls DanNotes 11/23/11
Niklas Heidloff
 

What's hot (20)

Developing WordPress Plugins : For Begineers
Developing WordPress Plugins :  For BegineersDeveloping WordPress Plugins :  For Begineers
Developing WordPress Plugins : For Begineers
 
Flask
FlaskFlask
Flask
 
Live Coverage at The New York Times
Live Coverage at The New York TimesLive Coverage at The New York Times
Live Coverage at The New York Times
 
Hands On With OpenSocial and Embedded Experiences
Hands On With OpenSocial and Embedded ExperiencesHands On With OpenSocial and Embedded Experiences
Hands On With OpenSocial and Embedded Experiences
 
Story of a Cerberus Bot
Story of a Cerberus BotStory of a Cerberus Bot
Story of a Cerberus Bot
 
Dd13.2013.milano.open ntf
Dd13.2013.milano.open ntfDd13.2013.milano.open ntf
Dd13.2013.milano.open ntf
 
A Day of REST
A Day of RESTA Day of REST
A Day of REST
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
 
WordPress: Getting Under the Hood
WordPress: Getting Under the HoodWordPress: Getting Under the Hood
WordPress: Getting Under the Hood
 
O365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van RousseltO365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van Rousselt
 
React Native
React NativeReact Native
React Native
 
Nom Nom: Consuming REST APIs
Nom Nom: Consuming REST APIsNom Nom: Consuming REST APIs
Nom Nom: Consuming REST APIs
 
Joomla Day Australia 2019
Joomla Day Australia 2019Joomla Day Australia 2019
Joomla Day Australia 2019
 
Mikrofrontend a Module Federation
Mikrofrontend a Module FederationMikrofrontend a Module Federation
Mikrofrontend a Module Federation
 
Local development environment for micro services with docker
Local development environment for micro services with dockerLocal development environment for micro services with docker
Local development environment for micro services with docker
 
Natural Language UI Testing using Behavior Driven Development with Pavlov and...
Natural Language UI Testing using Behavior Driven Development with Pavlov and...Natural Language UI Testing using Behavior Driven Development with Pavlov and...
Natural Language UI Testing using Behavior Driven Development with Pavlov and...
 
Strategies for securing your banks & enterprises (from someone who robs bank...
 Strategies for securing your banks & enterprises (from someone who robs bank... Strategies for securing your banks & enterprises (from someone who robs bank...
Strategies for securing your banks & enterprises (from someone who robs bank...
 
O365Con18 - Working with PowerShell, VS Code and GitHub - Thomas Vochten
O365Con18 - Working with PowerShell, VS Code and GitHub - Thomas VochtenO365Con18 - Working with PowerShell, VS Code and GitHub - Thomas Vochten
O365Con18 - Working with PowerShell, VS Code and GitHub - Thomas Vochten
 
Show110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real WorldShow110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real World
 
XPages Mobile Controls DanNotes 11/23/11
XPages Mobile Controls DanNotes 11/23/11XPages Mobile Controls DanNotes 11/23/11
XPages Mobile Controls DanNotes 11/23/11
 

Similar to Building Enterprise Chat Bots

How to build a slack bot
How to build a slack botHow to build a slack bot
How to build a slack bot
Ganesh S
 
Chatbot Meetup
Chatbot MeetupChatbot Meetup
Chatbot Meetup
Luca Bianchi
 
Build an Intelligent Bot
Build an Intelligent BotBuild an Intelligent Bot
Build an Intelligent Bot
Sorin Peste
 
Getting Started With bots
Getting Started With botsGetting Started With bots
Getting Started With bots
Gaurav sharma
 
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s PerspectiveESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
Thomas Gölles
 
20160930 bot framework workshop
20160930 bot framework workshop20160930 bot framework workshop
20160930 bot framework workshop
Meng-Ru (Raymond) Tsai
 
Build your first messenger bot
Build your first messenger botBuild your first messenger bot
Build your first messenger bot
Nowa Labs Pte Ltd
 
Microsoft teams & bot framework - A developer's perspective
Microsoft teams & bot framework - A developer's perspectiveMicrosoft teams & bot framework - A developer's perspective
Microsoft teams & bot framework - A developer's perspective
Thomas Gölles
 
Deep dive into advanced teams development
Deep dive into advanced teams developmentDeep dive into advanced teams development
Deep dive into advanced teams development
BIWUG
 
Serverless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speedServerless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speed
Luca Bianchi
 
HKOSCON 2020 - Open by default
HKOSCON 2020 - Open by defaultHKOSCON 2020 - Open by default
HKOSCON 2020 - Open by default
William Chong
 
#BeBot Meetup - Chatbots & LUIS by Nick Trogh (Microsoft)
#BeBot Meetup - Chatbots & LUIS by Nick Trogh (Microsoft)#BeBot Meetup - Chatbots & LUIS by Nick Trogh (Microsoft)
#BeBot Meetup - Chatbots & LUIS by Nick Trogh (Microsoft)
Faction XYZ
 
Conversations as a Platform
Conversations as a PlatformConversations as a Platform
Conversations as a Platform
Joshua Drew
 
Serverless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speedServerless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speed
Paolo Montrasio
 
BeEF_EUSecWest-2012_Michele-Orru
BeEF_EUSecWest-2012_Michele-OrruBeEF_EUSecWest-2012_Michele-Orru
BeEF_EUSecWest-2012_Michele-Orru
Michele Orru
 
PDCConf2021 - Serverless WhatsApp Chatbot with Azure AI.pptx
PDCConf2021 - Serverless WhatsApp Chatbot with Azure AI.pptxPDCConf2021 - Serverless WhatsApp Chatbot with Azure AI.pptx
PDCConf2021 - Serverless WhatsApp Chatbot with Azure AI.pptx
Luis Beltran
 
Speedupiosdevelopment
SpeedupiosdevelopmentSpeedupiosdevelopment
Speedupiosdevelopment
slidepaddemo
 
Intro to Appcelerator Titanium - Code for Fort Lauderdale 2015
Intro to Appcelerator Titanium - Code for Fort Lauderdale 2015Intro to Appcelerator Titanium - Code for Fort Lauderdale 2015
Intro to Appcelerator Titanium - Code for Fort Lauderdale 2015
Adam Paxton
 
Bot. You said bot? Let build bot then! - Laurent Ellerbach
Bot. You said bot? Let build bot then! - Laurent EllerbachBot. You said bot? Let build bot then! - Laurent Ellerbach
Bot. You said bot? Let build bot then! - Laurent Ellerbach
ITCamp
 
ITCamp 2017 - Laurent Ellerbach - Bot. You said bot? Let's build a bot then...
ITCamp 2017 - Laurent Ellerbach - Bot. You said bot? Let's build a bot then...ITCamp 2017 - Laurent Ellerbach - Bot. You said bot? Let's build a bot then...
ITCamp 2017 - Laurent Ellerbach - Bot. You said bot? Let's build a bot then...
ITCamp
 

Similar to Building Enterprise Chat Bots (20)

How to build a slack bot
How to build a slack botHow to build a slack bot
How to build a slack bot
 
Chatbot Meetup
Chatbot MeetupChatbot Meetup
Chatbot Meetup
 
Build an Intelligent Bot
Build an Intelligent BotBuild an Intelligent Bot
Build an Intelligent Bot
 
Getting Started With bots
Getting Started With botsGetting Started With bots
Getting Started With bots
 
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s PerspectiveESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
 
20160930 bot framework workshop
20160930 bot framework workshop20160930 bot framework workshop
20160930 bot framework workshop
 
Build your first messenger bot
Build your first messenger botBuild your first messenger bot
Build your first messenger bot
 
Microsoft teams & bot framework - A developer's perspective
Microsoft teams & bot framework - A developer's perspectiveMicrosoft teams & bot framework - A developer's perspective
Microsoft teams & bot framework - A developer's perspective
 
Deep dive into advanced teams development
Deep dive into advanced teams developmentDeep dive into advanced teams development
Deep dive into advanced teams development
 
Serverless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speedServerless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speed
 
HKOSCON 2020 - Open by default
HKOSCON 2020 - Open by defaultHKOSCON 2020 - Open by default
HKOSCON 2020 - Open by default
 
#BeBot Meetup - Chatbots & LUIS by Nick Trogh (Microsoft)
#BeBot Meetup - Chatbots & LUIS by Nick Trogh (Microsoft)#BeBot Meetup - Chatbots & LUIS by Nick Trogh (Microsoft)
#BeBot Meetup - Chatbots & LUIS by Nick Trogh (Microsoft)
 
Conversations as a Platform
Conversations as a PlatformConversations as a Platform
Conversations as a Platform
 
Serverless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speedServerless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speed
 
BeEF_EUSecWest-2012_Michele-Orru
BeEF_EUSecWest-2012_Michele-OrruBeEF_EUSecWest-2012_Michele-Orru
BeEF_EUSecWest-2012_Michele-Orru
 
PDCConf2021 - Serverless WhatsApp Chatbot with Azure AI.pptx
PDCConf2021 - Serverless WhatsApp Chatbot with Azure AI.pptxPDCConf2021 - Serverless WhatsApp Chatbot with Azure AI.pptx
PDCConf2021 - Serverless WhatsApp Chatbot with Azure AI.pptx
 
Speedupiosdevelopment
SpeedupiosdevelopmentSpeedupiosdevelopment
Speedupiosdevelopment
 
Intro to Appcelerator Titanium - Code for Fort Lauderdale 2015
Intro to Appcelerator Titanium - Code for Fort Lauderdale 2015Intro to Appcelerator Titanium - Code for Fort Lauderdale 2015
Intro to Appcelerator Titanium - Code for Fort Lauderdale 2015
 
Bot. You said bot? Let build bot then! - Laurent Ellerbach
Bot. You said bot? Let build bot then! - Laurent EllerbachBot. You said bot? Let build bot then! - Laurent Ellerbach
Bot. You said bot? Let build bot then! - Laurent Ellerbach
 
ITCamp 2017 - Laurent Ellerbach - Bot. You said bot? Let's build a bot then...
ITCamp 2017 - Laurent Ellerbach - Bot. You said bot? Let's build a bot then...ITCamp 2017 - Laurent Ellerbach - Bot. You said bot? Let's build a bot then...
ITCamp 2017 - Laurent Ellerbach - Bot. You said bot? Let's build a bot then...
 

More from Vasu Jain

Tech jobs beyond programming - Game design
Tech jobs beyond programming - Game designTech jobs beyond programming - Game design
Tech jobs beyond programming - Game design
Vasu Jain
 
Conversational AI & Smart Homes
Conversational AI & Smart HomesConversational AI & Smart Homes
Conversational AI & Smart Homes
Vasu Jain
 
Sentiment analysis of tweets [SCSE, 13]
Sentiment analysis of tweets [SCSE, 13]Sentiment analysis of tweets [SCSE, 13]
Sentiment analysis of tweets [SCSE, 13]
Vasu Jain
 
Sentiment analysis of tweets
Sentiment analysis of tweetsSentiment analysis of tweets
Sentiment analysis of tweets
Vasu Jain
 
Indexing and Mining a Billion Time series using iSAX 2.0
Indexing and Mining a Billion Time series using iSAX 2.0Indexing and Mining a Billion Time series using iSAX 2.0
Indexing and Mining a Billion Time series using iSAX 2.0
Vasu Jain
 
How google is using linked data today and vision for tomorrow
How google is using linked data today and vision for tomorrowHow google is using linked data today and vision for tomorrow
How google is using linked data today and vision for tomorrow
Vasu Jain
 
Internet Explorer 9
Internet Explorer 9Internet Explorer 9
Internet Explorer 9
Vasu Jain
 
Cloud Computing Architecture
Cloud Computing Architecture Cloud Computing Architecture
Cloud Computing Architecture
Vasu Jain
 
Power Point 2010
Power Point 2010 Power Point 2010
Power Point 2010
Vasu Jain
 
Microsoft Office 2010 Overview
Microsoft Office 2010 OverviewMicrosoft Office 2010 Overview
Microsoft Office 2010 Overview
Vasu Jain
 
Windows 7 What's Next
Windows 7 What's NextWindows 7 What's Next
Windows 7 What's Next
Vasu Jain
 
Windows Phone 7
Windows Phone 7Windows Phone 7
Windows Phone 7
Vasu Jain
 

More from Vasu Jain (12)

Tech jobs beyond programming - Game design
Tech jobs beyond programming - Game designTech jobs beyond programming - Game design
Tech jobs beyond programming - Game design
 
Conversational AI & Smart Homes
Conversational AI & Smart HomesConversational AI & Smart Homes
Conversational AI & Smart Homes
 
Sentiment analysis of tweets [SCSE, 13]
Sentiment analysis of tweets [SCSE, 13]Sentiment analysis of tweets [SCSE, 13]
Sentiment analysis of tweets [SCSE, 13]
 
Sentiment analysis of tweets
Sentiment analysis of tweetsSentiment analysis of tweets
Sentiment analysis of tweets
 
Indexing and Mining a Billion Time series using iSAX 2.0
Indexing and Mining a Billion Time series using iSAX 2.0Indexing and Mining a Billion Time series using iSAX 2.0
Indexing and Mining a Billion Time series using iSAX 2.0
 
How google is using linked data today and vision for tomorrow
How google is using linked data today and vision for tomorrowHow google is using linked data today and vision for tomorrow
How google is using linked data today and vision for tomorrow
 
Internet Explorer 9
Internet Explorer 9Internet Explorer 9
Internet Explorer 9
 
Cloud Computing Architecture
Cloud Computing Architecture Cloud Computing Architecture
Cloud Computing Architecture
 
Power Point 2010
Power Point 2010 Power Point 2010
Power Point 2010
 
Microsoft Office 2010 Overview
Microsoft Office 2010 OverviewMicrosoft Office 2010 Overview
Microsoft Office 2010 Overview
 
Windows 7 What's Next
Windows 7 What's NextWindows 7 What's Next
Windows 7 What's Next
 
Windows Phone 7
Windows Phone 7Windows Phone 7
Windows Phone 7
 

Recently uploaded

Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
IJECEIAES
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
insn4465
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...
bijceesjournal
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
KrishnaveniKrishnara1
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
SakkaravarthiShanmug
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
ecqow
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
Hitesh Mohapatra
 
Certificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi AhmedCertificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi Ahmed
Mahmoud Morsy
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
Madan Karki
 
People as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimalaPeople as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimala
riddhimaagrawal986
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
Atif Razi
 
Design and optimization of ion propulsion drone
Design and optimization of ion propulsion droneDesign and optimization of ion propulsion drone
Design and optimization of ion propulsion drone
bjmsejournal
 
integral complex analysis chapter 06 .pdf
integral complex analysis chapter 06 .pdfintegral complex analysis chapter 06 .pdf
integral complex analysis chapter 06 .pdf
gaafergoudaay7aga
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
bijceesjournal
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
Prakhyath Rai
 
AI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptxAI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptx
architagupta876
 

Recently uploaded (20)

Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
 
Certificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi AhmedCertificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi Ahmed
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
 
People as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimalaPeople as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimala
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
 
Design and optimization of ion propulsion drone
Design and optimization of ion propulsion droneDesign and optimization of ion propulsion drone
Design and optimization of ion propulsion drone
 
integral complex analysis chapter 06 .pdf
integral complex analysis chapter 06 .pdfintegral complex analysis chapter 06 .pdf
integral complex analysis chapter 06 .pdf
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
 
AI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptxAI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptx
 

Building Enterprise Chat Bots

  • 2. What is a Chatbot, Slack, SlackBot .. Chatbot • A Chatbot is a computer program which conducts a conversation via audio or textual methods. • E.g. • Voice based bots : Alexa, Siri • Text based chat bots: Slack, Facebook, Skype. Slack • Slack is a cloud-based messaging app for team collaboration. Got very popular due to app integrations. Slack teams consist of channels, users (humans and bots) • Similar Instant messenger platforms are Skype, Facebook Messenger, Whatsapp SlackBot ?? ©2017 PayPal Inc. Confidential and proprietary.
  • 3. Bot Platform to order from marketplacess. TacoBot within the Slack Twitter Bot to order Pizza by Tweeting Pizza Emoji Early disruptors in bots domain
  • 4. PayPal announced their own Slackbot in early 2017 for to use PayPal within Slack. Followed by PayPal in 2017…..
  • 5. What can a Slackbot do Slack Bot interact with a user on a Slack team by 1. Connecting to Slack’s Real time Messaging (RTM )API and opening a web-socket connection with Slack. • Bot user will Monitor and process channel activity • Post messages and react to users • Web API to post formatted messages, attachments, emoji • Make messages interactive with buttons 2. Listening to Slack Events via HTTP based Events API aka Slack Webhooks . Configure events at https://api.slack.com/events
  • 6. Developing a SlackBot Two Kinds of Slack bot you can develop : Custom Bots • Custom for a team’s requirements • Can be used for company’s process automation etc. Bot Users attached to Slack App • For distribution to other teams • Governed by OAuth permission scopes • Distributed via Slack Button or Slack Appstore Apps generally start as custom bots and evolve into a Slack App. ©2017 PayPal Inc. Confidential and proprietary.
  • 7. Programming a Slack bot 1. Make authenticated API calls and consume Slack RTM API 2. Use existing library or SDKs (such as node-slack- client) https://github.com/slackhq/node-slack-client 3. Botkit Framework : • Does heavy lifting for Slack API interaction • Open source bot builder platform for Node.js • Targets Slack, Facebook, Twilio currently • http://howdy.ai/botkit Using Botkit to develop a custom Bot using Slack RTM API.
  • 9. Project Structure Clone: https://github.com/vasujain/slack-bot-github • node_modules/ contain botkit module – generated by npm install • package.json specifies your project details and dependencies • index.js is the entry point • Util.js for utility functions • Config.json for string sensitive data • Npm-debug.log created by default for error logging • Lib/ directory containing slack libraries ©2017 PayPal Inc. Confidential and proprietary.
  • 10. Developing a Custom SlackBot - Setup 1. Install Botkit • From NPM • npm install --save botkit • From Github • git clone git@github.com:howdyai/botkit.git • npm install 2. Create a new bot user integration and customize it https://my.slack.com/services/new/bot
  • 11. Developing a Custom SlackBot – Hello World 3. Capture token generated in #1, to be used to connect to Slack API 4. Constructs base 64 encoded value and add it to config.json (not mandatory for regular bots) 5. Run a sample bot • npm start index.js 6. Invite Bot to your team 7. Say Hello to your Bot
  • 12. Lets Integrate an API in our bot 1. API to integrate – Github 2. Get tokens and make first successful API call 3. Convert REST Call into Node Code 4. Write a controller using Intents from Slack input and parsing them for API call 5. Integrate Node code 6. Parse API Response and construct Slack Response 7. Happy Bot-ing !! ©2017 PayPal Inc. Confidential and proprietary.
  • 13. Demo for GitBit !! & Questions
  • 14.
  • 16. „ http://www.greenmellenmedia.com/wp-content/uploads/slack-chat.png „ https://tctechcrunch2011.files.wordpress.com/2016/05/robot-customer- service.png „ https://blog.zipfworks.com/content/images/2016/06/1-6J2T- ftDoHNGEvuMQiuWLA.jpeg „ https://www.wired.com/wp-content/uploads/2015/08/SlackBot- featured1.jpg „ https://cdn-images- 1.medium.com/max/800/1*SRq8BmUQl1YWXTCbO859kw.png „ https://robotsandpencils.com/wp- content/uploads/2016/03/Hero_graphic_BeepBoop@2x.png „ https://beepboophq.storage.googleapis.com/_web/en_US/grande.edeb24.p ng „ https://beepboophq.storage.googleapis.com/_web/en_US/venti.dba620.png Image Credits