SlideShare a Scribd company logo
The Journey to Conversational Interfaces
Romin Irani | Xoriant | @iRomin
Agenda
Chatbot Ecosystem
Our Story
Help Desk Bots
Initial Target Platform -
Slack
NLP + ML + API.AI
Chatbots! Chatbots! Chatbots!
It is usually another way to interact with your Web Application,
API or Mobile Application
Multiple Messaging Platforms
“Chatbots” are expected to be “The Thing” to do in 2017 ;-)
Rule-based v/s AI
● /find * contains=`xyz`
● /find pdf since=2d
● I’d like all documents that
contain “xyz”
● Get me all PDF documents
created in the last 2 days
Why Slack ?
Popular Messaging Platform
Integrates with Popular Applications
APIs for Custom Integration
Good Documentation
App Store
Starting point to learn more
Respond to Questions
Notifications
Customized Bot
Analyze
Slack API - Go Language packages
You can do everything with standard Go packages
Alternately, here are a couple of packages to consider:
https://github.com/nlopes/slack
https://github.com/bluele/slack
Skills needed
Basic Go Syntax (Struct, Dealing with JSON)
Respond
Notify
Analyze
Respond
/ticket list
Reporting Issue - Slash Command
Slash Command → Messages that start with a slash (/)
For e.g. /ticket or /report or /search
/ticket listlist
Handling a Request from Slack
http.HandleFunc("/ticket", MyTicketHandler)
func MyTicketHandler(w http.ResponseWriter, r *http.Request) {
//Extract out multiple params from Request
//Validate if the request is coming from Slack and your
team
//Perform business logic
//Compose the Response Struct
json.NewEncoder(w).Encode(/* Slack Response Struct */)
Slack Incoming POST parameters
token=oyIQ0AjzcBNgxGMcIsEumUpQ
team_id=T0001
team_domain=example
channel_id=C2147483705
channel_name=general
user_id=U2147483697
user_name=romin
command=/ticket
text=list
response_url=https://hooks.slack.com/commands/1234/5678
Slack Message Formats - 1
{
"username": "Server Monitor"
"text": "Cloud Storage Service is facing intermittent
issues.nhttp://status.cloud.google.com",
}
Slack Message Formats - 2
{
"attachments": [
{
"title": "New Ticket: Printer is not working",
"title_link": "https://api.slack.com/",
"text": "The Printer is not functioning….",
"fields": [
{
"title": "Priority",
"value": "High"
},
{
"title": "Reported by",
"value": "romin",
}
],
"footer": "My Help Desk system",
"ts": 1395676789
}
]
}
Notify
Sending Notifications - Incoming Webhook
A mechanism to post a message to a
Channel or a specific user
New Tickets are routed as Notifications to
respective Channels (Teams)
Updates to Tickets are routed to the
specific Users
v := url.Values{"payload": {string(b)}}
http.PostForm(WebhookURL, v)
Analyze
Analytics - Outgoing Webhook
Calls your Webhook based on messages sent in a Channel
Any message or specific Trigger Words
Track Command Usage , Sentiment Analysis and more
Explosion of Commands
…
/ticket list
/ticket create <title> <details> <priority>
<department>
/ticket update <status> <comment>
/ticket close <id>
/ticket view <id>
/ticket help
….
Can we do better?
General AI Agents
Messaging Platforms
NLP , AI as a Service
Platforms
Frameworks & Deployment
Platforms
Source: https://www.oreilly.com/ideas/infographic-the-bot-platform-ecosystem
Our current architecture
Messaging
Platforms
NLP
Integrations
Machine
Learning
Domains
Bot Endpoint
+ Logic
Diagram inspired from : https://rasa.ai/
Which tickets are
assigned to me?
User input in Natural Language
1
NLP Tool
2
intent : tickets_search,
entities:
status : open,
user : romin,
Max_count : 5,
Structured Data
3
Here are your tickets:
1….
2…
3….
Bot output in Natural Language
5
How it works?
Tickets
API / Database
4
Lessons Learnt
Go + Slack is a powerful combination to get going with your
Bots.
Need to target most popular Chat platforms.
Build v/s Buying a Machine Learning Engine. Good
Alternatives out there but choose carefully.
Voice Interfaces.
It is a journey.
Thank You

More Related Content

PPTX
Chatbots are coming!
PDF
Rasa AI: Building clever chatbots
PPTX
[VFS 2019] Building chatbot with RASA
PDF
Scalable state of-the-art conversational AI
PPTX
Conversational interfaces for chatbots and artificial intelligence final
PDF
Conversational AI with Rasa - PyData Workshop
PPTX
Ai chatbot
PDF
Build Mandarin AI Conversational Agent with Rasa
Chatbots are coming!
Rasa AI: Building clever chatbots
[VFS 2019] Building chatbot with RASA
Scalable state of-the-art conversational AI
Conversational interfaces for chatbots and artificial intelligence final
Conversational AI with Rasa - PyData Workshop
Ai chatbot
Build Mandarin AI Conversational Agent with Rasa

What's hot (7)

PDF
Deprecating the state machine: building conversational AI with the Rasa stack
PPTX
Build a chatbot using rasa
PDF
Going beyond “Sorry, I didn’t get that”: building AI assistants that scale us...
PDF
Rasa Developer Summit - Josh Converse, Dynamic Offset - Three Part Harmony: H...
PPTX
Chatbot
PPTX
Building NLP solutions using Python
PDF
El libro de jugadas de phil jackson: triángulo ofensivo y otras tácticas de...
Deprecating the state machine: building conversational AI with the Rasa stack
Build a chatbot using rasa
Going beyond “Sorry, I didn’t get that”: building AI assistants that scale us...
Rasa Developer Summit - Josh Converse, Dynamic Offset - Three Part Harmony: H...
Chatbot
Building NLP solutions using Python
El libro de jugadas de phil jackson: triángulo ofensivo y otras tácticas de...
Ad

Viewers also liked (20)

PDF
Chatbot Artificial Intelligence
PPTX
AI Agent and Chatbot Trends For Enterprises
PDF
Android activities & views
PDF
Chat bot: get ready for the next trend of business
PPTX
Gradle and Android Studio : Best of Friends
PPTX
Voice Interfaces Usergroup Berlin - 05-10-2016 : Kay Lerch on Morse-Coder skill
PPTX
Cognitive Services & LUIS
PPTX
Speech Recognition, Text to Speech, and Voice Interfaces
PPTX
How to Succeed With Rewarded Video Ads
PPTX
Mobile Gaming Monetization Trends in 2016
PDF
Gradle & Android Studio - Introduction
PPTX
KiwiPyCon 2014 talk - Understanding human language with Python
PDF
Designing a Conversational Intelligent Bot which can cook
PPTX
Building blocks for building bots
PPTX
ICS2208 lecture4
PDF
Applying Science to Conversational UX Design
PDF
Intents in Android
PPTX
hellofuture conversational commerce and chatbots
PDF
Amazon Alexa Voice Interfaces Meetup Berlin August 2016
PDF
The cognitive bank ibm launch deck 2016
Chatbot Artificial Intelligence
AI Agent and Chatbot Trends For Enterprises
Android activities & views
Chat bot: get ready for the next trend of business
Gradle and Android Studio : Best of Friends
Voice Interfaces Usergroup Berlin - 05-10-2016 : Kay Lerch on Morse-Coder skill
Cognitive Services & LUIS
Speech Recognition, Text to Speech, and Voice Interfaces
How to Succeed With Rewarded Video Ads
Mobile Gaming Monetization Trends in 2016
Gradle & Android Studio - Introduction
KiwiPyCon 2014 talk - Understanding human language with Python
Designing a Conversational Intelligent Bot which can cook
Building blocks for building bots
ICS2208 lecture4
Applying Science to Conversational UX Design
Intents in Android
hellofuture conversational commerce and chatbots
Amazon Alexa Voice Interfaces Meetup Berlin August 2016
The cognitive bank ibm launch deck 2016
Ad

Similar to The Journey to conversational interfaces (20)

PDF
[2019 south bay meetup] Building more contextual message with Block Kit
PPTX
Python For Large Company?
PDF
Life on Clouds: a forensics overview
PDF
Insight User Conference Bootcamp - Use the Engagement Tracking and Metrics A...
PPTX
SAPO Messenger Meets Web 2.0
DOCX
unit1 part 1 sem4 php.docx
PPTX
Introduction to Shiny for building web apps in R
ZIP
OneTeam Media Server
PPTX
AWS User Group Singapore / Amazon Lex -- JAWSDAYS 2017
PPT
BSidesDC 2016 Beyond Automated Testing
PPT
SharePoint workflow deep-dive
ZIP
OneTeam Media Server
PDF
From Site to System (specifically, business process management systems)
PPTX
flask.pptx
PPT
PDF
20CS2008 Computer Networks
PPTX
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
PPT
Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2...
PDF
An Introduction to Microservices
PDF
How we built NoCRM - Piotr Karwatka, CTO of Divante
[2019 south bay meetup] Building more contextual message with Block Kit
Python For Large Company?
Life on Clouds: a forensics overview
Insight User Conference Bootcamp - Use the Engagement Tracking and Metrics A...
SAPO Messenger Meets Web 2.0
unit1 part 1 sem4 php.docx
Introduction to Shiny for building web apps in R
OneTeam Media Server
AWS User Group Singapore / Amazon Lex -- JAWSDAYS 2017
BSidesDC 2016 Beyond Automated Testing
SharePoint workflow deep-dive
OneTeam Media Server
From Site to System (specifically, business process management systems)
flask.pptx
20CS2008 Computer Networks
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2...
An Introduction to Microservices
How we built NoCRM - Piotr Karwatka, CTO of Divante

More from Romin Irani (15)

PPTX
Google Cloud Platform Update - NEXT 2017
PPTX
Introduction to Google Cloud Machine Learning APIs
PPTX
Blogging Tips - A guide to why you should blog
PPTX
How to Contribute to your Project
PPTX
Go Language Hands-on Workshop Material
PPTX
Google Cloud Platform Updates
PPTX
Internet of Things Overview
PPTX
Powering your Apps via Google Cloud Platform
PPTX
How to get business ready for Wearables: GDayX Mumbai 2014
PDF
Development Workshop on ET1, Android and Motorola RhoElements
PDF
Talk on Future of Enterprise Mobile App Development
PPT
Android developer webinar-march-2012-mindstormsoftware
PPT
HTML5 Webinar - Mind Storm Software
PPTX
Smart Computing : Cloud + Mobile + Social
PPT
Thadomal IEEE-HTML5-Workshop
Google Cloud Platform Update - NEXT 2017
Introduction to Google Cloud Machine Learning APIs
Blogging Tips - A guide to why you should blog
How to Contribute to your Project
Go Language Hands-on Workshop Material
Google Cloud Platform Updates
Internet of Things Overview
Powering your Apps via Google Cloud Platform
How to get business ready for Wearables: GDayX Mumbai 2014
Development Workshop on ET1, Android and Motorola RhoElements
Talk on Future of Enterprise Mobile App Development
Android developer webinar-march-2012-mindstormsoftware
HTML5 Webinar - Mind Storm Software
Smart Computing : Cloud + Mobile + Social
Thadomal IEEE-HTML5-Workshop

Recently uploaded (20)

PPTX
Online Work Permit System for Fast Permit Processing
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
System and Network Administraation Chapter 3
PDF
Digital Strategies for Manufacturing Companies
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
ai tools demonstartion for schools and inter college
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
AI in Product Development-omnex systems
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Transform Your Business with a Software ERP System
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
Online Work Permit System for Fast Permit Processing
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
System and Network Administraation Chapter 3
Digital Strategies for Manufacturing Companies
Navsoft: AI-Powered Business Solutions & Custom Software Development
2025 Textile ERP Trends: SAP, Odoo & Oracle
Upgrade and Innovation Strategies for SAP ERP Customers
ai tools demonstartion for schools and inter college
Understanding Forklifts - TECH EHS Solution
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
AI in Product Development-omnex systems
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Operating system designcfffgfgggggggvggggggggg
Softaken Excel to vCard Converter Software.pdf
VVF-Customer-Presentation2025-Ver1.9.pptx
Transform Your Business with a Software ERP System
Wondershare Filmora 15 Crack With Activation Key [2025

The Journey to conversational interfaces

  • 1. The Journey to Conversational Interfaces Romin Irani | Xoriant | @iRomin
  • 2. Agenda Chatbot Ecosystem Our Story Help Desk Bots Initial Target Platform - Slack NLP + ML + API.AI
  • 3. Chatbots! Chatbots! Chatbots! It is usually another way to interact with your Web Application, API or Mobile Application Multiple Messaging Platforms “Chatbots” are expected to be “The Thing” to do in 2017 ;-)
  • 4. Rule-based v/s AI ● /find * contains=`xyz` ● /find pdf since=2d ● I’d like all documents that contain “xyz” ● Get me all PDF documents created in the last 2 days
  • 5. Why Slack ? Popular Messaging Platform Integrates with Popular Applications APIs for Custom Integration Good Documentation App Store Starting point to learn more
  • 7. Slack API - Go Language packages You can do everything with standard Go packages Alternately, here are a couple of packages to consider: https://github.com/nlopes/slack https://github.com/bluele/slack Skills needed Basic Go Syntax (Struct, Dealing with JSON)
  • 10. Reporting Issue - Slash Command Slash Command → Messages that start with a slash (/) For e.g. /ticket or /report or /search /ticket listlist
  • 11. Handling a Request from Slack http.HandleFunc("/ticket", MyTicketHandler) func MyTicketHandler(w http.ResponseWriter, r *http.Request) { //Extract out multiple params from Request //Validate if the request is coming from Slack and your team //Perform business logic //Compose the Response Struct json.NewEncoder(w).Encode(/* Slack Response Struct */)
  • 12. Slack Incoming POST parameters token=oyIQ0AjzcBNgxGMcIsEumUpQ team_id=T0001 team_domain=example channel_id=C2147483705 channel_name=general user_id=U2147483697 user_name=romin command=/ticket text=list response_url=https://hooks.slack.com/commands/1234/5678
  • 13. Slack Message Formats - 1 { "username": "Server Monitor" "text": "Cloud Storage Service is facing intermittent issues.nhttp://status.cloud.google.com", }
  • 14. Slack Message Formats - 2 { "attachments": [ { "title": "New Ticket: Printer is not working", "title_link": "https://api.slack.com/", "text": "The Printer is not functioning….", "fields": [ { "title": "Priority", "value": "High" }, { "title": "Reported by", "value": "romin", } ], "footer": "My Help Desk system", "ts": 1395676789 } ] }
  • 16. Sending Notifications - Incoming Webhook A mechanism to post a message to a Channel or a specific user New Tickets are routed as Notifications to respective Channels (Teams) Updates to Tickets are routed to the specific Users v := url.Values{"payload": {string(b)}} http.PostForm(WebhookURL, v)
  • 18. Analytics - Outgoing Webhook Calls your Webhook based on messages sent in a Channel Any message or specific Trigger Words Track Command Usage , Sentiment Analysis and more
  • 19. Explosion of Commands … /ticket list /ticket create <title> <details> <priority> <department> /ticket update <status> <comment> /ticket close <id> /ticket view <id> /ticket help ….
  • 20. Can we do better?
  • 21. General AI Agents Messaging Platforms NLP , AI as a Service Platforms Frameworks & Deployment Platforms Source: https://www.oreilly.com/ideas/infographic-the-bot-platform-ecosystem
  • 23. Diagram inspired from : https://rasa.ai/ Which tickets are assigned to me? User input in Natural Language 1 NLP Tool 2 intent : tickets_search, entities: status : open, user : romin, Max_count : 5, Structured Data 3 Here are your tickets: 1…. 2… 3…. Bot output in Natural Language 5 How it works? Tickets API / Database 4
  • 24. Lessons Learnt Go + Slack is a powerful combination to get going with your Bots. Need to target most popular Chat platforms. Build v/s Buying a Machine Learning Engine. Good Alternatives out there but choose carefully. Voice Interfaces. It is a journey.

Editor's Notes

  • #3: Help Desk System Deal with Tickets Legacy Web Application - PHP Based Research Bots and build out the Help Desk Chatbot Select a Platform to Host it Build in multiple other features like Notification & Analytics
  • #5: Rule based Single purpose Understand a fixed set of commands Easier to build / host Only as smart as you program it to be AI based It has a brain NLP Ability to learn over time (Train) Complex to build out and host
  • #8: Slash Command Incoming Webhook Outgoing Webhook Bot User Events API Realtime Message API (Websocket)
  • #20: The Programmer in us took over We designed detailed command line syntax for multiple resources /report <title> <details> <priority> <department> /list <userid> /close <ticketid> Difficult to remember. /help ended up as the most used command!!! Could have created a conversation but it is a tough problem to address. Too constrained How can we make it feel more natural? NLP , AI , etc. Build v/s Buy What about other Chat Platforms?