SlideShare a Scribd company logo
1 of 22
Azure Bot Services
ENG SOON CHEAH
Who am I?
• Microsoft MVP | Trainer | Speaker
• MCSA : Cloud Platform
• MCSE : Cloud Platform and Infrastructure
• Co-Organizer of Malaysia Mobile .Net Developers
Group
My Ai Journey
UWP + Azure
Xamarin
Cognitive
Services + Bot
Machine
Learning
Deep
Learning
?
Microsoft Bot Framework
The Microsoft Bot
Framework is a
comprehensive set
of tools and
services developers
can leverage to
build and deploy
high-quality,
conversational bots
in any language.
Supported Channels
Channels are
currently available
for Skype, web,
email, Facebook,
GroupMe,
Microsoft Teams,
Kik, Slack,
Telegram, Twilio,
and direct line app
integration.
The Connector
The Connector (or
Connector Service)
handles all
communication,
conversations,
state, and
authorization
activities between
a bot and users.
var connector = new
ConnectorClient(incomingMessage.ServiceUrl);
var replyMessage =
incomingMessage.CreateReply("How can I
help?");
await
connector.Conversations.ReplyToActivityAsync(r
eplyMessage);
Connector Service Flow
Your Bot’s Web
Service
CHANNEL
• Skype
• Web Chat
• Email
• Facebook
• Microsoft Teams
• GroupMe
• Kik
• Slack
• Telegram
• Twilio
• Direct Line
CONNECTOR
Routes messages, manages
state, bot registration,
tracking, services (such as
translation) and per-user and
per-bot storage
Activities
An Activity is a
specific event that
occurs between a
bot and users, such
as an actual
message, or
conversation
notification.
Types of Activities
Activity Type Description
Message Sent when general content is passed to or from a user and a bot
Conversation Update Sent when the conversation's properties change, for example the topic name,
or when user joins or leaves the group
Contact Relation Update Sent when bot added or removed to contact list
Delete User Data Send when user is removed from a conversation
Typing Sent when a user is typing
Ping Send when a keep-alive is needed
Messages
A Message is an overt communication between a bot and
users, such as a user asking a question, or a bot responding
with a reply.
Message Property Description
Text A text payload in markdown syntax which will be rendered as appropriate on each
channel.
TextFormat Plain, markdown, XML (Skype only)
Locale Two-digit culture/region locale
Intents and Prompts
?
Mechanisms leveraged by the Microsoft Bot Framework to
determine what a user really wants to do are typically referred
to as intents and prompts.
Managing State
• Custom storage methods, such as a remote database
• Class-specific logic at runtime
• Implicitly during a Dialog or Form process
• The Bot Framework State Client
Not all bots require state management outside of what the
Connector provides inherently, however if you need to manage
state, there are various methods.
Using Dialogs
• Send information to a User
• Prompt a User for more information or confirmation
• Provide conditional logic
• Provide “as you need it” content
• Dialogs can contain or forward to other Dialogs
Dialogs are a way of wrapping an entire “experience” into an
easily managed interaction based on a “chained” and
“conversational” paradigm.
Attachments, Cards, and Actions
• Media attachments:
Image, audio, video, file
• Rich card attachments:
Hero, thumbnail, receipt, sign-in
• Button and card actions:
Open URL, call, play audio/video,
show image, download file, sign-in
Bot conversations can contain enhanced content in the form of
Attachments, Cards, and Actions
Channel Inspector
The Channel Inspector is a web-
based, interactive tool you can use
to evaluate supported features for
specific chat clients, making it easy
to understand the style your users
will see and limitations in
presentation, based on target chat
platforms.
The Bot Framework Emulator
• Supports Mac, Linux and Windows
• View all Bot Framework card types
• Save multiple profiles for working offline
• Send requests and receive responses to/from your bot endpoint on
localhost
• Inspect responses, and emulate specific users and conversations
Emulate bot conversations easily on any device and any
supported channel scenario.
Azure Bot Services
The Azure Bot Service,
powered by the Microsoft
Bot Framework, provides
and integrated environment
for managing bot logic and
integration, including the
ability to edit services
without the need for a local
editor or source control.
Azure Bot Services
Bots can be created and
managed within a
browser directly, in both
C# and Node.js, using the
Azure editor, effectively
removing any need for a
local editor. You can
quickly test your bot
directly in the Azure
service environment.
Microsoft QnA Maker
Microsoft QnA Maker is a free
REST API and web-based service
that enables marketing, support,
operations, and developers to
train an artificial intelligence
engine to respond to user's
questions in a natural,
conversational, question and
answer-based format.
Microsoft QnA Maker
There are several ways to update a QnA knowledge base,
including simple FAQ reference via a URL or direct management
of QnA question and answer pairs.
DEMO
References
• Twitter : @CheahEngSoon
• Youtube Channel :
http://bit.ly/engsoonyoutube
• Bot Builder Sample
https://github.com/Microsoft/BotBuilder-Samples

More Related Content

What's hot

Lab jam websphere message broker labs
Lab jam   websphere message broker labsLab jam   websphere message broker labs
Lab jam websphere message broker labs
Eng Binary
 
Building a mobile application for dot netnuke v3
Building a mobile application for dot netnuke v3Building a mobile application for dot netnuke v3
Building a mobile application for dot netnuke v3
brchapman
 

What's hot (20)

Microsoft bot framework
Microsoft bot frameworkMicrosoft bot framework
Microsoft bot framework
 
20160930 bot framework workshop
20160930 bot framework workshop20160930 bot framework workshop
20160930 bot framework workshop
 
Build an Intelligent Bot (Node.js)
Build an Intelligent Bot (Node.js)Build an Intelligent Bot (Node.js)
Build an Intelligent Bot (Node.js)
 
Talking with bots - meetup presentation
Talking with bots  - meetup presentationTalking with bots  - meetup presentation
Talking with bots - meetup presentation
 
Live mesh & live framework
Live mesh & live frameworkLive mesh & live framework
Live mesh & live framework
 
Build a Great Conversationalist
Build a Great ConversationalistBuild a Great Conversationalist
Build a Great Conversationalist
 
The Future of Joomla
The Future of JoomlaThe Future of Joomla
The Future of Joomla
 
Midlogic customization presentation
Midlogic customization presentationMidlogic customization presentation
Midlogic customization presentation
 
Adobe flex - Layman Learning - Adobe Flash and Adobe Flex document viewers, c...
Adobe flex - Layman Learning - Adobe Flash and Adobe Flex document viewers, c...Adobe flex - Layman Learning - Adobe Flash and Adobe Flex document viewers, c...
Adobe flex - Layman Learning - Adobe Flash and Adobe Flex document viewers, c...
 
Developing Applications with Windows Phone 7
Developing Applications with Windows Phone 7Developing Applications with Windows Phone 7
Developing Applications with Windows Phone 7
 
Lab jam websphere message broker labs
Lab jam   websphere message broker labsLab jam   websphere message broker labs
Lab jam websphere message broker labs
 
Custom iPad Application Development
Custom iPad Application DevelopmentCustom iPad Application Development
Custom iPad Application Development
 
김영욱 - Microsoft Bot Framework [WSConf. Seoul 2017]
김영욱 - Microsoft Bot Framework [WSConf. Seoul 2017]김영욱 - Microsoft Bot Framework [WSConf. Seoul 2017]
김영욱 - Microsoft Bot Framework [WSConf. Seoul 2017]
 
Back to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web DevelopmentBack to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web Development
 
Build intelligent chatbot with bot framework
Build intelligent chatbot with bot frameworkBuild intelligent chatbot with bot framework
Build intelligent chatbot with bot framework
 
Build a great conversationalist using Azure Bot Service 2018
Build a great conversationalist using Azure Bot Service 2018Build a great conversationalist using Azure Bot Service 2018
Build a great conversationalist using Azure Bot Service 2018
 
Khude Barta - Online Messaging Application
Khude Barta - Online Messaging ApplicationKhude Barta - Online Messaging Application
Khude Barta - Online Messaging Application
 
SENCHA Web Programming Software
SENCHA Web Programming SoftwareSENCHA Web Programming Software
SENCHA Web Programming Software
 
Architecture of RIA from JAOO
Architecture of RIA from JAOOArchitecture of RIA from JAOO
Architecture of RIA from JAOO
 
Building a mobile application for dot netnuke v3
Building a mobile application for dot netnuke v3Building a mobile application for dot netnuke v3
Building a mobile application for dot netnuke v3
 

Similar to Azure Bot Services - Malaysia

Similar to Azure Bot Services - Malaysia (20)

Build an Intelligent Bot
Build an Intelligent BotBuild an Intelligent Bot
Build an Intelligent 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
 
Building a bot with an intent
Building a bot with an intentBuilding a bot with an intent
Building a bot with an intent
 
20160930 bot framework workshop
20160930 bot framework workshop20160930 bot framework workshop
20160930 bot framework workshop
 
#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)
 
Conversational AI: What's New?
Conversational AI: What's New?Conversational AI: What's New?
Conversational AI: What's New?
 
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
 
The lifecycle of a chatbot
The lifecycle of a chatbotThe lifecycle of a chatbot
The lifecycle of a chatbot
 
Da 0 all'AI conversazionale usando Microsoft Azure
Da 0 all'AI conversazionale usando Microsoft AzureDa 0 all'AI conversazionale usando Microsoft Azure
Da 0 all'AI conversazionale usando Microsoft Azure
 
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
 
#OSSPARIS19 - Création facile de chatbots - Créez votre chatbot en 20 minutes...
#OSSPARIS19 - Création facile de chatbots - Créez votre chatbot en 20 minutes...#OSSPARIS19 - Création facile de chatbots - Créez votre chatbot en 20 minutes...
#OSSPARIS19 - Création facile de chatbots - Créez votre chatbot en 20 minutes...
 
Adminstering biztalkusingchatbot
Adminstering biztalkusingchatbotAdminstering biztalkusingchatbot
Adminstering biztalkusingchatbot
 
Bot design AIsatPN 2018
Bot design AIsatPN 2018Bot design AIsatPN 2018
Bot design AIsatPN 2018
 
Developing intelligent bots from the beginning
Developing intelligent bots from the beginningDeveloping intelligent bots from the beginning
Developing intelligent bots from the beginning
 
Microsoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AIMicrosoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AI
 
Bots in the Enterprise
Bots in the Enterprise Bots in the Enterprise
Bots in the Enterprise
 
Microsoft Bot Framework (Node.js Edition)
Microsoft Bot Framework (Node.js Edition)Microsoft Bot Framework (Node.js Edition)
Microsoft Bot Framework (Node.js Edition)
 
Introduction to BOT Framework- Global Azure Bootcamp 2017
Introduction to BOT Framework- Global Azure Bootcamp 2017Introduction to BOT Framework- Global Azure Bootcamp 2017
Introduction to BOT Framework- Global Azure Bootcamp 2017
 
Solvion Trendwerkstatt - Microsoft Azure + Bots
Solvion Trendwerkstatt - Microsoft Azure + BotsSolvion Trendwerkstatt - Microsoft Azure + Bots
Solvion Trendwerkstatt - Microsoft Azure + Bots
 
Breaking into Bots
Breaking into BotsBreaking into Bots
Breaking into Bots
 

More from Cheah Eng Soon

More from Cheah Eng Soon (20)

Microsoft Defender for Endpoint
Microsoft Defender for EndpointMicrosoft Defender for Endpoint
Microsoft Defender for Endpoint
 
Azure Active Directory - Secure and Govern
Azure Active Directory - Secure and GovernAzure Active Directory - Secure and Govern
Azure Active Directory - Secure and Govern
 
Microsoft Zero Trust
Microsoft Zero TrustMicrosoft Zero Trust
Microsoft Zero Trust
 
MEM for OnPrem Environments
MEM for OnPrem EnvironmentsMEM for OnPrem Environments
MEM for OnPrem Environments
 
Microsoft Threat Protection Automated Incident Response
Microsoft Threat Protection Automated Incident Response Microsoft Threat Protection Automated Incident Response
Microsoft Threat Protection Automated Incident Response
 
Azure Penetration Testing
Azure Penetration TestingAzure Penetration Testing
Azure Penetration Testing
 
Azure Penetration Testing
Azure Penetration TestingAzure Penetration Testing
Azure Penetration Testing
 
Penetration Testing Azure for Ethical Hackers
Penetration Testing Azure for Ethical HackersPenetration Testing Azure for Ethical Hackers
Penetration Testing Azure for Ethical Hackers
 
Microsoft Threat Protection Automated Incident Response Demo
Microsoft Threat Protection Automated Incident Response DemoMicrosoft Threat Protection Automated Incident Response Demo
Microsoft Threat Protection Automated Incident Response Demo
 
Microsoft Secure Score Demo
Microsoft Secure Score DemoMicrosoft Secure Score Demo
Microsoft Secure Score Demo
 
Microsoft Cloud App Security Demo
Microsoft Cloud App Security DemoMicrosoft Cloud App Security Demo
Microsoft Cloud App Security Demo
 
M365 Attack Simulation Demo
M365 Attack Simulation DemoM365 Attack Simulation Demo
M365 Attack Simulation Demo
 
Cloud Security Demo
Cloud Security DemoCloud Security Demo
Cloud Security Demo
 
Azure Active Directory - External Identities Demo
Azure Active Directory - External Identities Demo Azure Active Directory - External Identities Demo
Azure Active Directory - External Identities Demo
 
Azure WAF
Azure WAFAzure WAF
Azure WAF
 
Azure Weekend 2020 Build Malaysia Bus Uncle Chatbot
Azure Weekend 2020 Build Malaysia Bus Uncle ChatbotAzure Weekend 2020 Build Malaysia Bus Uncle Chatbot
Azure Weekend 2020 Build Malaysia Bus Uncle Chatbot
 
Microsoft Azure的20大常见安全漏洞与配置错误
Microsoft Azure的20大常见安全漏洞与配置错误Microsoft Azure的20大常见安全漏洞与配置错误
Microsoft Azure的20大常见安全漏洞与配置错误
 
20 common security vulnerabilities and misconfiguration in Azure
20 common security vulnerabilities and misconfiguration in Azure20 common security vulnerabilities and misconfiguration in Azure
20 common security vulnerabilities and misconfiguration in Azure
 
Integrate Microsoft Graph with Azure Bot Services
Integrate Microsoft Graph with Azure Bot ServicesIntegrate Microsoft Graph with Azure Bot Services
Integrate Microsoft Graph with Azure Bot Services
 
Azure Sentinel with Office 365
Azure Sentinel with Office 365Azure Sentinel with Office 365
Azure Sentinel with Office 365
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Azure Bot Services - Malaysia

  • 2. Who am I? • Microsoft MVP | Trainer | Speaker • MCSA : Cloud Platform • MCSE : Cloud Platform and Infrastructure • Co-Organizer of Malaysia Mobile .Net Developers Group
  • 3. My Ai Journey UWP + Azure Xamarin Cognitive Services + Bot Machine Learning Deep Learning ?
  • 4. Microsoft Bot Framework The Microsoft Bot Framework is a comprehensive set of tools and services developers can leverage to build and deploy high-quality, conversational bots in any language.
  • 5. Supported Channels Channels are currently available for Skype, web, email, Facebook, GroupMe, Microsoft Teams, Kik, Slack, Telegram, Twilio, and direct line app integration.
  • 6. The Connector The Connector (or Connector Service) handles all communication, conversations, state, and authorization activities between a bot and users. var connector = new ConnectorClient(incomingMessage.ServiceUrl); var replyMessage = incomingMessage.CreateReply("How can I help?"); await connector.Conversations.ReplyToActivityAsync(r eplyMessage);
  • 7. Connector Service Flow Your Bot’s Web Service CHANNEL • Skype • Web Chat • Email • Facebook • Microsoft Teams • GroupMe • Kik • Slack • Telegram • Twilio • Direct Line CONNECTOR Routes messages, manages state, bot registration, tracking, services (such as translation) and per-user and per-bot storage
  • 8. Activities An Activity is a specific event that occurs between a bot and users, such as an actual message, or conversation notification.
  • 9. Types of Activities Activity Type Description Message Sent when general content is passed to or from a user and a bot Conversation Update Sent when the conversation's properties change, for example the topic name, or when user joins or leaves the group Contact Relation Update Sent when bot added or removed to contact list Delete User Data Send when user is removed from a conversation Typing Sent when a user is typing Ping Send when a keep-alive is needed
  • 10. Messages A Message is an overt communication between a bot and users, such as a user asking a question, or a bot responding with a reply. Message Property Description Text A text payload in markdown syntax which will be rendered as appropriate on each channel. TextFormat Plain, markdown, XML (Skype only) Locale Two-digit culture/region locale
  • 11. Intents and Prompts ? Mechanisms leveraged by the Microsoft Bot Framework to determine what a user really wants to do are typically referred to as intents and prompts.
  • 12. Managing State • Custom storage methods, such as a remote database • Class-specific logic at runtime • Implicitly during a Dialog or Form process • The Bot Framework State Client Not all bots require state management outside of what the Connector provides inherently, however if you need to manage state, there are various methods.
  • 13. Using Dialogs • Send information to a User • Prompt a User for more information or confirmation • Provide conditional logic • Provide “as you need it” content • Dialogs can contain or forward to other Dialogs Dialogs are a way of wrapping an entire “experience” into an easily managed interaction based on a “chained” and “conversational” paradigm.
  • 14. Attachments, Cards, and Actions • Media attachments: Image, audio, video, file • Rich card attachments: Hero, thumbnail, receipt, sign-in • Button and card actions: Open URL, call, play audio/video, show image, download file, sign-in Bot conversations can contain enhanced content in the form of Attachments, Cards, and Actions
  • 15. Channel Inspector The Channel Inspector is a web- based, interactive tool you can use to evaluate supported features for specific chat clients, making it easy to understand the style your users will see and limitations in presentation, based on target chat platforms.
  • 16. The Bot Framework Emulator • Supports Mac, Linux and Windows • View all Bot Framework card types • Save multiple profiles for working offline • Send requests and receive responses to/from your bot endpoint on localhost • Inspect responses, and emulate specific users and conversations Emulate bot conversations easily on any device and any supported channel scenario.
  • 17. Azure Bot Services The Azure Bot Service, powered by the Microsoft Bot Framework, provides and integrated environment for managing bot logic and integration, including the ability to edit services without the need for a local editor or source control.
  • 18. Azure Bot Services Bots can be created and managed within a browser directly, in both C# and Node.js, using the Azure editor, effectively removing any need for a local editor. You can quickly test your bot directly in the Azure service environment.
  • 19. Microsoft QnA Maker Microsoft QnA Maker is a free REST API and web-based service that enables marketing, support, operations, and developers to train an artificial intelligence engine to respond to user's questions in a natural, conversational, question and answer-based format.
  • 20. Microsoft QnA Maker There are several ways to update a QnA knowledge base, including simple FAQ reference via a URL or direct management of QnA question and answer pairs.
  • 21. DEMO
  • 22. References • Twitter : @CheahEngSoon • Youtube Channel : http://bit.ly/engsoonyoutube • Bot Builder Sample https://github.com/Microsoft/BotBuilder-Samples

Editor's Notes

  1. Regardless of the language or platform, developers building bots face the same common challenges: Bots require basic input and output, they need language and dialog skills, they need to be responsive and scalable; and they must connect to users in any conversation experience and language the user chooses. The Microsoft Bot Framework provides the foundation for what developers need to build, connect, manage and publish intelligent bots that interact naturally with users over a variety of services from text/SMS to Skype, Slack, Facebook Messenger, Microsoft Teams, Kik, Office 365 mail and other popular services.
  2. Channels are essentially third party services that a bot can communicate and interaction with in a standardized way. The Microsoft Bot Framework provides developers with a developer portal and SDK to build bots, a Bot Connector service to connect to social channels such as Twitter, Microsoft Teams, and Slack, and a Bot Directory to discover and use existing bots.
  3. The Microsoft Bot Connector is a communication service that helps you connect your bot with many different communication channels (Skype, SMS, email, and others). If you write a conversational bot or agent and expose a Microsoft Bot Framework-compatible API on the Internet, the Bot Framework Connector service will forward messages from your bot to a user, and will send user messages back to your bot. The Connector is the primary mechanism used to communicate all information between a user and a bot, and includes methods to assist with authentication and state management.
  4. Although all communication between a bot and a channel happens via the Connector., this is not a “technical” requirement, per se, but is instead the entire crux of communicating with diverse channel contracts universally. The Connector handles all the complexity of state management, bot registration, and storage in a way that can extend and apply across all third party services. Communication starts with a user interacting with your bot, then communicating via your bot service, then to the connector, and finally to the third party channel. Responses from the channel always occur in reverse of the user interaction flow.
  5. An Activity is the object or information used to communicate between a user and a bot. When an Activity is sent, there are a number of properties and methods you can use and populate to control your message and how it gets presented to a user. There are various types of Activities that can be used as well, including Activities to communicate system operations or channel system operations to the bot, enhancing the information about the bot and/or the state of the channel. Every Activity being routed through the Connector has a Type field, which is typically “Message”, however there are system notifications as well, such as “Typing”, “Ping”, or “User Data Deleted” (for when a user leaves a conversation.)
  6. The message activity is the core object exchanged between the user and the bot. It can represent a wide range of values from simple text input and response all the way to complex multiple card carousel with buttons and actions. For many developers, the Text property is the only property you need to worry about. A person sent you some text, or your bot is sending some text back. There are 2 core properties for this, the Text and Locale property.
  7. The Microsoft Bot Framework ships with a number of built-in prompts, such as number, text, and confirm, to help a bot determined what a user really intends, or to refine choice during the course of a conversation. These built-in prompts are implemented as a Dialog so they’ll return the users response, typically in a “waterfall” fashion. The built-in prompts also let the user cancel an action by saying something like ‘cancel’ or ‘never mind’ or even “start over”.
  8. Not all bots require state management outside of what the Connector provides inherently, however if you need to manage state, there are various methods. For light-weight, persistent state across sessions, the Bot Framework State Client is ideal, as it retains information based on specific user data and conversational history.
  9. Dialogs can help developers create simple bot experiences where a conversation and it’s elements are generally “known”. Dialogs typically leverage the concepts of “intents and prompts” to fine tune what a user really needs. Dialogs can also be nested or chained depending on the results of a prompt or dete4rmined intent, making them ideal for fundamental conversations.
  10. Although not universally supported by all channels, most third-party channels provide some ability to attach “rich” objects, meaning content other than text, like audio and video, as well as the ability to have “enhanced” interactions such as viewing images and downloading files. The Microsoft Bot Framework Connector performs all the heavy lifting of connecting attachment data structure to media attachments and rich cards on each channel, and provides failover scenarios where unsupported.
  11. Connecting to channels, like Skype, Slack and Microsoft Teams, is easy with the Microsoft Bot Framework platform, however users will often have varied experiences depending on the target platform and supported features. To make it easily to evaluate features on each platform you can use the Channel Inspector, an interactive web tool you can use to browse the features in each chat client.
  12. The Bot Framework Emulator is one of your most powerful tools in building your bot and supports the following: - Works on Mac, Linux and Windows - View all Bot Framework card types are supported - Save multiple profiles for when you’re working both online and offline - Simplifies configuration when you’re working with ngrok - Uses the webchat control for higher fidelity layout and consistency with the webchat experience - Send requests and receive responses to/from your bot endpoint on localhost - Inspect the Json response - Emulate a specific user and/or conversation
  13. You can expedite your bot development by leveraging Azure Bot Services, an Azure-based service that provisions and configures dependent services automatically, as well as providing an integrated environment where you can build, connect, deploy and manage bots. Azure Bot Services also speeds up initial development by providing out-of-the-box templates to get a developer started, including templates for a basic bot, LUIS bot, form bot, proactive bot, as well as a question and answer (Qna) bot.
  14. You can write your bot in C# or Node.js directly in the browser using the Azure editor without any need for a tool chain (local editor and source control). The integrated chat window sits side-by-side with the Azure editor, which lets you test your bot on the fly as you write the code in the browser. Azure Bot Service is powered by Microsoft Bot Framework and Azure Functions. By using Azure Functions, your bot will run in a serverless environment on Azure that will scale based on demand.
  15. Microsoft QnA Maker is a free, cross-platform, easy-to-use, REST API and web-based service that trains AI to respond to user's questions in a more natural, conversational way. Compatible across development platforms, hosting services, and channels, QnA Maker is a question and answer service with an actual graphical user interface, which means users don’t need to be developers to train, manage, and use it for a wide range of solutions.
  16. Creating your knowledge base is as straightforward as point the tool to the existing content via a URL, and “ingesting” the QnA content. The QnA tool can auto-extract question and answer pairs from most FAQ URLs and documents. If a web-based FAQ document is unable to be auto-extracted, there is an option to add QnA pairs individually. If necessary, you can also replace your entire knowledge by importing question and answer key pairs, making it ideal for bulk updates to your knowledge base.