Introduction to Microsoft Bot Framework Sam Fernando (Senior Microsoft Solutions Architect) – ASG Group
Agenda  What’s a bot?  The “bot framework”  Capabilities of the framework  Channels  Deploying & Debugging techniques  Design considerations  Submitting to the marketplace  Tools of the trade
What is a Bot? “a device or piece of software that can execute commands, reply to messages, or perform routine tasks, as online searches, either automatically or with minimal human intervention (often used in combination)” Dictionary.com
The Bot Framework  Release in 2016  New canvas for developers  New opportunities for businesses  Personal way to access, discover & interact  Microsoft actively investing and working with channel providers
Business impact  Enhance productivity  Reach customers – multi platform & multi channels  Engage in a natural way  Expose products & services in high engaged platforms  Reduce human assistance  Improve customer experience
Bot Builder • A framework to develop bots • SDKs • .Net, NodeJs • Large set of samples Bot Framework Portal • Register • Manage • Central portal Channels • Ways of exposing the bots • Skype • Facebook • Web Chat • etc Cognitive • Make bots smarter • Self learn • Natural interaction • LUIS
Some use cases  Customer self service  Discover products & services  Connect with field staff integration  Lookup knowledge base  Proactively engage with customers  Assist with team collaboration  Personal digital assistant  A shortcut to get data from enterprise apps
Channels
It’s demo time….
How to develop & debug a bot in Visual Studio
How to develop a bot in Azure
Framework Capabilities  Connect line of business system  Dialogs  Form flow  Proactive messaging  Rich messaging  Hand off to human  IVR & Calling  Intelligence  and many more…
Dialogs  Control the bot’s conversation  Screen or dialog based navigation  Dialog lifecycle
Form Flow  Structured conversation  Bind a model to a conversation  Structured data capture  Automatically generate dialogs  Reduce time taken to create a bot  Less flexible compared to creating a custom dialog  Data validations  Navigation (go back, help & etc)  Different field types
Proactive Bots  Store subscriber/conversation information  Connect with subscribers on demand  React to server side events or triggers
Publishing to Facebook & Cortana
Attachments, Rich Cards
Adaptive Cards  Microsoft is actively investing in the bot framework  Adding more intuitive ways to present and capture data  Declarative/Generic card definitions  Automatic styling  Increasing channel adoption  Render to image  Render to text  Render to image + text
Hand-off to a human  Assist complex queries  Bot middleware  Routing  Agent recognition  Supervisor intervention  Agent only commands
Bing Search QnA Maker Recommendations API Vision API Text Analytics LUIS Speech Recognition Intelligent bots
LUIS  Language Understanding Intelligent Service  Add conversational intelligence  Learn and adapt  Pre built domains  Multilingual
FAQ to Bot in minutes… Convert Structured, Editorial content (FAQ Documents, FAQ URL) into Bot readable knowledgebase
Bot design considerations  Does the bot easily solve the customer’s query in a minimum number of steps?  Does the bot solve the query faster or better than alternatives?  Does the bot run on platforms users care about?
First interaction  Hi, how can we help you?  Hi, how can we help you? Check status Get help What’s new
Plan for unexpected questions  User : Make a reservation for Friday dinner  Bot : Sure, table reserved for Friday dinner, Is this confirmed? Yes No  User : actually let’s change to Saturday dinner
Don’t expect users to follow the structure  Bot : What city are you travelling to?  User : “CANCEL”  Bot : What city are you travelling to?  User : “HELP”  Bot : What city are you travelling to?
Validate input  Bot : Please enter phone number  User : “CANCEL”  Bot : Thanks, “CANCEL” has been recorded as your phone number
Be transparent  Bot : How can I help you?  User : I want to know about the new products  User : Hello  User : Are you there?  User : ……
Submitting a Bot to Marketplace  Must do something meaningful  Appropriate bot profile  Instructions for taking payments  Privacy Policy & Terms and conditions  Code of conduct  More info : https://docs.microsoft.com/en-us/bot- framework/portal-bot-review-guidelines
Tools of the trade  Bot Builder Framework (github)  Bot Framework Portal  Bot Framework Simulator  Azure Cognitive Services  LUIS Portal  Cortana Portal
Recap  What’s a bot?  The “bot framework”  Capabilities of the framework  Channels  Deploying & Debugging techniques  Design considerations  Submitting to the marketplace  Tools of the trade
More reading.. Bot Framework Portal – https://dev.botframework.com/ Bot Builder SDK - https://github.com/Microsoft/BotBuilder Bot Builder Emulator - https://github.com/Microsoft/BotFramework-Emulator LUIS - https://www.luis.ai QnA Maker - https://qnamaker.ai Azure Bot Service - https://azure.microsoft.com/en-au/services/bot-service/ Cortana Developer Dashboard - https://developer.microsoft.com/en-us/cortana/dashboard
Questions?
Thank you!  Sam.Fernando@smsmt.com  linkedin.com/in/samfernandoau  www.slideshare.net/shamiraf

Introduction to Microsoft Bot Framework

  • 1.
    Introduction to Microsoft BotFramework Sam Fernando (Senior Microsoft Solutions Architect) – ASG Group
  • 2.
    Agenda  What’s abot?  The “bot framework”  Capabilities of the framework  Channels  Deploying & Debugging techniques  Design considerations  Submitting to the marketplace  Tools of the trade
  • 3.
    What is aBot? “a device or piece of software that can execute commands, reply to messages, or perform routine tasks, as online searches, either automatically or with minimal human intervention (often used in combination)” Dictionary.com
  • 4.
    The Bot Framework Release in 2016  New canvas for developers  New opportunities for businesses  Personal way to access, discover & interact  Microsoft actively investing and working with channel providers
  • 5.
    Business impact  Enhanceproductivity  Reach customers – multi platform & multi channels  Engage in a natural way  Expose products & services in high engaged platforms  Reduce human assistance  Improve customer experience
  • 6.
    Bot Builder • Aframework to develop bots • SDKs • .Net, NodeJs • Large set of samples Bot Framework Portal • Register • Manage • Central portal Channels • Ways of exposing the bots • Skype • Facebook • Web Chat • etc Cognitive • Make bots smarter • Self learn • Natural interaction • LUIS
  • 8.
    Some use cases Customer self service  Discover products & services  Connect with field staff integration  Lookup knowledge base  Proactively engage with customers  Assist with team collaboration  Personal digital assistant  A shortcut to get data from enterprise apps
  • 9.
  • 10.
  • 11.
    How to develop& debug a bot in Visual Studio
  • 12.
    How to developa bot in Azure
  • 13.
    Framework Capabilities  Connectline of business system  Dialogs  Form flow  Proactive messaging  Rich messaging  Hand off to human  IVR & Calling  Intelligence  and many more…
  • 14.
    Dialogs  Control thebot’s conversation  Screen or dialog based navigation  Dialog lifecycle
  • 15.
    Form Flow  Structuredconversation  Bind a model to a conversation  Structured data capture  Automatically generate dialogs  Reduce time taken to create a bot  Less flexible compared to creating a custom dialog  Data validations  Navigation (go back, help & etc)  Different field types
  • 16.
    Proactive Bots  Storesubscriber/conversation information  Connect with subscribers on demand  React to server side events or triggers
  • 17.
  • 18.
  • 19.
    Adaptive Cards  Microsoftis actively investing in the bot framework  Adding more intuitive ways to present and capture data  Declarative/Generic card definitions  Automatic styling  Increasing channel adoption  Render to image  Render to text  Render to image + text
  • 21.
    Hand-off to ahuman  Assist complex queries  Bot middleware  Routing  Agent recognition  Supervisor intervention  Agent only commands
  • 22.
    Bing Search QnA Maker RecommendationsAPI Vision API Text Analytics LUIS Speech Recognition Intelligent bots
  • 23.
    LUIS  Language UnderstandingIntelligent Service  Add conversational intelligence  Learn and adapt  Pre built domains  Multilingual
  • 24.
    FAQ to Botin minutes… Convert Structured, Editorial content (FAQ Documents, FAQ URL) into Bot readable knowledgebase
  • 25.
    Bot design considerations Does the bot easily solve the customer’s query in a minimum number of steps?  Does the bot solve the query faster or better than alternatives?  Does the bot run on platforms users care about?
  • 26.
    First interaction  Hi,how can we help you?  Hi, how can we help you? Check status Get help What’s new
  • 27.
    Plan for unexpectedquestions  User : Make a reservation for Friday dinner  Bot : Sure, table reserved for Friday dinner, Is this confirmed? Yes No  User : actually let’s change to Saturday dinner
  • 28.
    Don’t expect usersto follow the structure  Bot : What city are you travelling to?  User : “CANCEL”  Bot : What city are you travelling to?  User : “HELP”  Bot : What city are you travelling to?
  • 29.
    Validate input  Bot: Please enter phone number  User : “CANCEL”  Bot : Thanks, “CANCEL” has been recorded as your phone number
  • 30.
    Be transparent  Bot: How can I help you?  User : I want to know about the new products  User : Hello  User : Are you there?  User : ……
  • 31.
    Submitting a Botto Marketplace  Must do something meaningful  Appropriate bot profile  Instructions for taking payments  Privacy Policy & Terms and conditions  Code of conduct  More info : https://docs.microsoft.com/en-us/bot- framework/portal-bot-review-guidelines
  • 32.
    Tools of thetrade  Bot Builder Framework (github)  Bot Framework Portal  Bot Framework Simulator  Azure Cognitive Services  LUIS Portal  Cortana Portal
  • 33.
    Recap  What’s abot?  The “bot framework”  Capabilities of the framework  Channels  Deploying & Debugging techniques  Design considerations  Submitting to the marketplace  Tools of the trade
  • 34.
    More reading.. Bot FrameworkPortal – https://dev.botframework.com/ Bot Builder SDK - https://github.com/Microsoft/BotBuilder Bot Builder Emulator - https://github.com/Microsoft/BotFramework-Emulator LUIS - https://www.luis.ai QnA Maker - https://qnamaker.ai Azure Bot Service - https://azure.microsoft.com/en-au/services/bot-service/ Cortana Developer Dashboard - https://developer.microsoft.com/en-us/cortana/dashboard
  • 35.
  • 36.
    Thank you!  Sam.Fernando@smsmt.com linkedin.com/in/samfernandoau  www.slideshare.net/shamiraf