SlideShare a Scribd company logo
Introduction to the Microsoft Bot Framework v4
Expression Spectrum
Machine
Language
C, C++
C#, Java,
JavaScript,
PHP, Perl
Graphical
User
Interface
Natural
Language
• Computers need to be told what to do – exactly and
unambiguously.
• Ever since Grace Hopper, computer scientists have
been working to make it easier for humans to express
their intentions to computers.
Shell scripts,
PowerShell
Power
Platform,
Excel
RAD
tools
COBOL
not the one with the most AI
solves the user’s needs in the
quickest/easiest way
This Photo by Unknown Author is
licensed under CC BY-SA-NC
Your Bot
Web Service
External
App Web
Service
LUIS
BotBuilder v3 BotBuilder v4
C#, Node.js
Inconsistent naming
Monolithic and opinionated
Complex dependency trees
Opinionated
C#, JavaScript, Python, Java
Incorporates feedback from v3
Less “opinionated”, more flexible
Modular and Extensible
Not backward compatible
Bot Framework
Channel Service
Adapter
Middleware
Bot
Turn Context
A “turn”
demo
Testing your Bot
App Service with Remote
Debugger
Run directly in Azure
Attach Visual Studio debugger
Bot Framework Emulator
Separate download
Does not require registration
Can connect to bot on localhost
Supports speech recognition
Send sample Team Member
Events
ngrok Tunnel
Tunnels internet requests
to local machine
Allows inspection of
request/response
Free version changes the
URL every time you use it
(8 hr max/use)
Middleware
Event (C#, JavaScript) Fires when Description
OnTurnAsync,
onTurn
Any activity is received Base class calls the other handlers –
if you override w/o calling
base.OnTurnAsync(), no further
processing will happen!
OnMessageActivityAsync,
onMessage
A message is received Override to handle message
activities
OnConversationUpdateActivi
tyAsync,
onConversationUpdate
A conversation update is
received
Eg/ someone enters or leaves the
conversation
OnInvokeAsync, onInvoke An Invoke activity is
received
Used heavily in Teams for message
extensions, adaptive cards
QnA Maker
demo
• are reusable
• can be hierarchical (screens within
screens, dialogs within dialogs)
Both GUI screens and Bot dialogs:
• separate concerns
• organize the user interaction
person
bot
Waterfall Dialog
luis.ai (UI)
REST API
REST API
Introduction to the Microsoft Bot Framework v4
demo
https://dev.botframework.com/
https://www.qnamaker.ai/
https://www.luis.ai/
https://github.com/microsoft/BotBuil
der-Samples
https://github.com/BobGerman/Bots

More Related Content

What's hot (20)

PPTX
AzureOpenAI.pptx
Udaiappa Ramachandran
 
PDF
API Management - Why it matters!
Sven Bernhardt
 
PPTX
Azure Logic Apps
BizTalk360
 
PPTX
Azure Chat Bot application
Vivek Singh
 
PDF
What is No-Code/Low-Code App Development and Why Should Your Business Care?
kintone
 
PPTX
Introduction to power apps
RezaDorrani1
 
PPTX
Build your First Chat Bot using Power Virtual Agents (PVA)
Dhruvin Shah
 
PDF
Powerapps & Flow
Xpand IT
 
PPTX
Firebase Overview
aashutosh kumar
 
PDF
API Best Practices Webinar: Metrics - What to Measure
Apigee | Google Cloud
 
PDF
Best Practice on using Azure OpenAI Service
Kumton Suttiraksiri
 
PDF
AI Builder with Power Platform
Cheah Eng Soon
 
PDF
Automating and Orchestrating Processes and Decisions Across the Enterprise
Denis Gagné
 
PDF
General overview low code/ no code
Cedrik Dudek
 
PDF
Power automate a workflow automation platform
Amit Kumawat
 
PDF
Low code development platform
madisonsmith415303
 
PPTX
Microsoft power platform
Michael Stephenson
 
PPTX
API Frenzy: API Strategy 101
Akana
 
PPTX
OpenAI-Copilot-ChatGPT.pptx
Udaiappa Ramachandran
 
PPTX
Achieving Hyperautomation with UiPath
Auxis Consulting & Outsourcing
 
AzureOpenAI.pptx
Udaiappa Ramachandran
 
API Management - Why it matters!
Sven Bernhardt
 
Azure Logic Apps
BizTalk360
 
Azure Chat Bot application
Vivek Singh
 
What is No-Code/Low-Code App Development and Why Should Your Business Care?
kintone
 
Introduction to power apps
RezaDorrani1
 
Build your First Chat Bot using Power Virtual Agents (PVA)
Dhruvin Shah
 
Powerapps & Flow
Xpand IT
 
Firebase Overview
aashutosh kumar
 
API Best Practices Webinar: Metrics - What to Measure
Apigee | Google Cloud
 
Best Practice on using Azure OpenAI Service
Kumton Suttiraksiri
 
AI Builder with Power Platform
Cheah Eng Soon
 
Automating and Orchestrating Processes and Decisions Across the Enterprise
Denis Gagné
 
General overview low code/ no code
Cedrik Dudek
 
Power automate a workflow automation platform
Amit Kumawat
 
Low code development platform
madisonsmith415303
 
Microsoft power platform
Michael Stephenson
 
API Frenzy: API Strategy 101
Akana
 
OpenAI-Copilot-ChatGPT.pptx
Udaiappa Ramachandran
 
Achieving Hyperautomation with UiPath
Auxis Consulting & Outsourcing
 

Similar to Introduction to the Microsoft Bot Framework v4 (20)

PPTX
Chatbots - A CMD for Humans (Ort Braude 2018)
Moaid Hathot
 
PPTX
Build a mobile chatbot with Xamarin
Luis Beltran
 
PPTX
Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel)
Moaid Hathot
 
PDF
Build your first messenger bot
Nowa Labs Pte Ltd
 
PPT
Building a bot with an intent
Abhishek Sur
 
PDF
[TechWorldSummit Stockholm 2019] Building Bots for Human with Conversational ...
Tomomi Imura
 
PPTX
Intro to Chatbots using Microsoft bot framework and Azure cognitive services
Rachhek Shrestha
 
PPTX
Build an Intelligent Bot (Node.js)
Sorin Peste
 
PPTX
Clever data building a chatbot from your database
Luis Beltran
 
PDF
Chatbots DDD North2016
Galiya Warrier
 
PDF
Chatbot Meetup
Luca Bianchi
 
PDF
Bot Revolution lab at Codemotion Milan 2016
gjuljo
 
PPTX
Conversational AI: What's New?
Microsoft Tech Community
 
PPTX
Human vs Bot: Giocare a Sasso-Carta-Forbici - Matteo Valoriani, Antimo Musone...
Codemotion
 
PPTX
AI Machine vs Human
antimo musone
 
PPTX
Build an Intelligent Bot
Sorin Peste
 
PPTX
2019 11 26 BotTO November 2019 Meetup at TD
Bruno Capuano
 
PPTX
Building bots to automate common developer tasks - Writing your first smart c...
Sigmoid
 
PDF
Story of a Cerberus Bot
dega1999
 
PDF
Introduction to Facebook Messenger, Conversational UI & NLP
Saurabh Sharma
 
Chatbots - A CMD for Humans (Ort Braude 2018)
Moaid Hathot
 
Build a mobile chatbot with Xamarin
Luis Beltran
 
Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel)
Moaid Hathot
 
Build your first messenger bot
Nowa Labs Pte Ltd
 
Building a bot with an intent
Abhishek Sur
 
[TechWorldSummit Stockholm 2019] Building Bots for Human with Conversational ...
Tomomi Imura
 
Intro to Chatbots using Microsoft bot framework and Azure cognitive services
Rachhek Shrestha
 
Build an Intelligent Bot (Node.js)
Sorin Peste
 
Clever data building a chatbot from your database
Luis Beltran
 
Chatbots DDD North2016
Galiya Warrier
 
Chatbot Meetup
Luca Bianchi
 
Bot Revolution lab at Codemotion Milan 2016
gjuljo
 
Conversational AI: What's New?
Microsoft Tech Community
 
Human vs Bot: Giocare a Sasso-Carta-Forbici - Matteo Valoriani, Antimo Musone...
Codemotion
 
AI Machine vs Human
antimo musone
 
Build an Intelligent Bot
Sorin Peste
 
2019 11 26 BotTO November 2019 Meetup at TD
Bruno Capuano
 
Building bots to automate common developer tasks - Writing your first smart c...
Sigmoid
 
Story of a Cerberus Bot
dega1999
 
Introduction to Facebook Messenger, Conversational UI & NLP
Saurabh Sharma
 
Ad

More from Bob German (20)

PPTX
Adaptive cards 101
Bob German
 
PPTX
Introduction to Teams Development - North American Collaboration Summit
Bob German
 
PPTX
Future-proof Development for Classic SharePoint
Bob German
 
PPTX
Azure for SharePoint Developers - Workshop - Part 4: Bots
Bob German
 
PPTX
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Bob German
 
PPTX
Azure for SharePoint Developers - Workshop - Part 2: Azure Functions
Bob German
 
PPTX
Azure for SharePoint Developers - Workshop - Part 1: Azure AD
Bob German
 
PPTX
Azure for SharePoint Developers - Workshop - Part 5: Logic Apps
Bob German
 
PPTX
Azure AD for browser-based application developers
Bob German
 
PPTX
Mastering Azure Functions
Bob German
 
PPTX
Going with the Flow: Rationalizing the workflow options in SharePoint Online
Bob German
 
PPTX
Modern SharePoint, the Good, the Bad, and the Ugly
Bob German
 
PPTX
Developing JavaScript Widgets
Bob German
 
PPTX
Introduction to TypeScript
Bob German
 
PPTX
Developing JavaScript Widgets
Bob German
 
PPTX
TypeScript and SharePoint Framework
Bob German
 
PPTX
German introduction to sp framework
Bob German
 
PPTX
SPSNYC - Next Generation Portals
Bob German
 
PPTX
Typescript 102 angular and type script
Bob German
 
PPTX
Typescript 101 introduction
Bob German
 
Adaptive cards 101
Bob German
 
Introduction to Teams Development - North American Collaboration Summit
Bob German
 
Future-proof Development for Classic SharePoint
Bob German
 
Azure for SharePoint Developers - Workshop - Part 4: Bots
Bob German
 
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Bob German
 
Azure for SharePoint Developers - Workshop - Part 2: Azure Functions
Bob German
 
Azure for SharePoint Developers - Workshop - Part 1: Azure AD
Bob German
 
Azure for SharePoint Developers - Workshop - Part 5: Logic Apps
Bob German
 
Azure AD for browser-based application developers
Bob German
 
Mastering Azure Functions
Bob German
 
Going with the Flow: Rationalizing the workflow options in SharePoint Online
Bob German
 
Modern SharePoint, the Good, the Bad, and the Ugly
Bob German
 
Developing JavaScript Widgets
Bob German
 
Introduction to TypeScript
Bob German
 
Developing JavaScript Widgets
Bob German
 
TypeScript and SharePoint Framework
Bob German
 
German introduction to sp framework
Bob German
 
SPSNYC - Next Generation Portals
Bob German
 
Typescript 102 angular and type script
Bob German
 
Typescript 101 introduction
Bob German
 
Ad

Recently uploaded (20)

PPTX
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
PDF
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
PDF
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
PPTX
Equipment Management Software BIS Safety UK.pptx
BIS Safety Software
 
PDF
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
PPTX
Platform for Enterprise Solution - Java EE5
abhishekoza1981
 
PPTX
Feb 2021 Cohesity first pitch presentation.pptx
enginsayin1
 
PDF
GetOnCRM Speeds Up Agentforce 3 Deployment for Enterprise AI Wins.pdf
GetOnCRM Solutions
 
PDF
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Imma Valls Bernaus
 
DOCX
Import Data Form Excel to Tally Services
Tally xperts
 
PDF
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
PDF
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
PPTX
The Role of a PHP Development Company in Modern Web Development
SEO Company for School in Delhi NCR
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PDF
Alarm in Android-Scheduling Timed Tasks Using AlarmManager in Android.pdf
Nabin Dhakal
 
PPTX
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
PPTX
Engineering the Java Web Application (MVC)
abhishekoza1981
 
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
Equipment Management Software BIS Safety UK.pptx
BIS Safety Software
 
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
Platform for Enterprise Solution - Java EE5
abhishekoza1981
 
Feb 2021 Cohesity first pitch presentation.pptx
enginsayin1
 
GetOnCRM Speeds Up Agentforce 3 Deployment for Enterprise AI Wins.pdf
GetOnCRM Solutions
 
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Imma Valls Bernaus
 
Import Data Form Excel to Tally Services
Tally xperts
 
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
The Role of a PHP Development Company in Modern Web Development
SEO Company for School in Delhi NCR
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
Alarm in Android-Scheduling Timed Tasks Using AlarmManager in Android.pdf
Nabin Dhakal
 
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
Engineering the Java Web Application (MVC)
abhishekoza1981
 

Introduction to the Microsoft Bot Framework v4

Editor's Notes

  • #7: Activities are more than receiving messages, and include Typing (user is typing) and ConversationUpdate (members added and removed from the conversation). Text messages are always possible, but beyond that message formats vary by application; Bot needs to deal with that.
  • #9: Explain that setup is in the notes; show templates Crank up the NodeJS echobot in the emulator; explain Show Bot service registration Show Teams manifest Show bot in Teams
  • #10: Emulator download page: https://emulator.botframework.com/
  • #15: Read more: https://review.docs.microsoft.com/en-us/botframework/designing-bots/core/dialogs?branch=design-center