SlideShare a Scribd company logo
www.luxoft.com
Having fun with Microsoft
Bot Framework & Azure
Cognitive Services
www.luxoft.com
www.luxoft.com
www.luxoft.com
www.luxoft.com
www.luxoft.com
www.luxoft.com
www.luxoft.com
www.luxoft.com
Bot Framework Architecture
www.luxoft.com
Bot Framework Architecture
www.luxoft.com
Registering new bot in telegram
www.luxoft.com
Demo: Image Describing Bot
https://t.me/LoGeekNightImageDescriptionBot https://vimeo.com/277372670
www.luxoft.com
Entry point of bot application
https://<your-website-url>/api/messages
[ResponseType(typeof(void))]
public virtual async Task<HttpResponseMessage> Post([FromBody] Activity activity)
{
// check if activity is of type message
if (activity != null && activity.GetActivityType() == ActivityTypes.Message)
{
await Conversation.SendAsync(activity, () => new RootDialog());
}
else
{
await HandleSystemMessage(activity);
}
return new HttpResponseMessage(System.Net.HttpStatusCode.Accepted);
}
www.luxoft.com
Activity types
private async Task<Activity> HandleSystemMessage(Activity message)
{
if (message.Type == ActivityTypes.DeleteUserData)
{
// GDPR stuff should be here in case we store user data
}
else if (message.Type == ActivityTypes.ConversationUpdate)
{
// Somebody was added or removed from the conversation
}
else if (message.Type == ActivityTypes.ContactRelationUpdate)
{
// Handle add/remove from contact lists
// Activity.From + Activity.Action represent what happened
}
else if (message.Type == ActivityTypes.Typing)
{
// Handle knowing tha the user is typing
}
else if (message.Type == ActivityTypes.Ping)
{
}
return null;
}
www.luxoft.com
Dialog Example
public class RootDialog : IDialog<object>
{
protected int count = 1;
public async Task StartAsync(IDialogContext context)
{
await context.PostAsync("Some welcome message");
context.Wait(MessageReceivedAsync);
}
public async Task MessageReceivedAsync( IDialogContext context,
IAwaitable<IMessageActivity> argument)
{
var message = await argument;
await context.PostAsync($"{this.count++}: You said {message.Text}");
context.Wait(MessageReceivedAsync);
}
}
www.luxoft.com
Debugging a bot with an Emulator
Setting up an endpoint in Bot Framework Emulator
www.luxoft.com
Debugging a bot with an Emulator
Sending messages to emulator
www.luxoft.com
What is inside Activity
https://vimeo.com/277352456
www.luxoft.com
Debugging a bot with ngrok
www.luxoft.com
Changing settings of IIS Express
● To make app visible from ngrok change .vsconfigapplicationhost.config
Run VS as administrator
www.luxoft.com
Setting up new endpoint on Azure Portal
www.luxoft.com
Debugging a bot. Connected channels
www.luxoft.com
Breakpoint from Skype
www.luxoft.com
Breakpoint from telegram
www.luxoft.com
Demo: meeting room booking bot
https://t.me/LoGeekMeetingRoomBot
https://vimeo.com/277376487
www.luxoft.com
Managing conversation flow
As GUI apps are series of screens, bots are series of dialogs.
RootDialog is a starting screen of an app.
Types of dialogs
● IDialog<T> – low level, gives the most control over the conversation
● FormFlow – allows to construct dialogs from a set of primitives
● LuisDialog – focuses on Natural Language Processing, like RegEx on
steroids
www.luxoft.com
LUIS Key Concepts
Utterances – phrases that user to an app
Intents – what user wants to achieve by a phrase (e.g. BookMeetingRoom)
Entities – “parameters” of the intent (e.g. time or name of a meeting room)
www.luxoft.com
LUIS UI overview
https://vimeo.com/277180936
www.luxoft.com
Summary
● Bots are powerful tools to solve users problems, yet relatively easy to
implement
● Microsoft Bot Framework significantly simplifies the process of bot creation
● Combination of Bots and Cognitive Services is a match made in Heaven
www.luxoft.com
Questions?
www.luxoft.com
Thank you for your attention!
Ad

Recommended

Cli in the browser
Cli in the browser
Mani Sarkar
 
.NET Fest 2018. Dino Esposito. ASP.NET Blazor—the C# Angular or the return of...
.NET Fest 2018. Dino Esposito. ASP.NET Blazor—the C# Angular or the return of...
NETFest
 
Plugins 2.0: The Overview
Plugins 2.0: The Overview
mrdon
 
Viktor Turskyi "Effective NodeJS Application Development"
Viktor Turskyi "Effective NodeJS Application Development"
Fwdays
 
Flask
Flask
Elita Lobo
 
Blazor - An Introduction
Blazor - An Introduction
JamieTaylor112
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiences
Andy_Gaskell
 
Blazor
Blazor
Sandun Perera
 
Blazor v1.1
Blazor v1.1
Juan Luis Guerrero Minero
 
Adrian Pomilio - Flex Ajax Bridge and Legacy Applications
Adrian Pomilio - Flex Ajax Bridge and Legacy Applications
360|Conferences
 
Isomorphic web application
Isomorphic web application
Oliver N
 
React JS
React JS
Software Infrastructure
 
TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015
DotNetCampus
 
Micro frontends
Micro frontends
Kleyson Prado
 
Introduction to Office Development Topics
Introduction to Office Development Topics
Haaron Gonzalez
 
Building a Reddit Clone from the Ground Up
Building a Reddit Clone from the Ground Up
UCLA Association of Computing Machinery
 
Modern Web Application Development Workflow - EclipseCon France 2014
Modern Web Application Development Workflow - EclipseCon France 2014
Stéphane Bégaudeau
 
AS
AS
document007
 
Flask
Flask
Glen Zangirolami
 
Introduction to Microsoft Bot Framework
Introduction to Microsoft Bot Framework
Sam Fernando
 
Dynamics 365 Saturday Amsterdam 02/2018 - Dynamics 365 and chatbots
Dynamics 365 Saturday Amsterdam 02/2018 - Dynamics 365 and chatbots
Joris Poelmans
 
Creating Intelligent Chatbots
Creating Intelligent Chatbots
Kevin Leung
 
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
Thomas Gölles
 
Chatbots - A CMD for Humans (Ort Braude 2018)
Chatbots - A CMD for Humans (Ort Braude 2018)
Moaid Hathot
 
Microsoft bot framework
Microsoft bot framework
Software Infrastructure
 
Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel)
Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel)
Moaid Hathot
 
Intro to Chatbots using Microsoft bot framework and Azure cognitive services
Intro to Chatbots using Microsoft bot framework and Azure cognitive services
Rachhek Shrestha
 
Build a mobile chatbot with Xamarin
Build a mobile chatbot with Xamarin
Luis Beltran
 
Help et phone home, building bots with Microsoft Bot Framework 4.
Help et phone home, building bots with Microsoft Bot Framework 4.
Willem Meints
 
Build a great conversationalist using Azure Bot Service 2018
Build a great conversationalist using Azure Bot Service 2018
Radoslav Gatev
 

More Related Content

What's hot (11)

Blazor v1.1
Blazor v1.1
Juan Luis Guerrero Minero
 
Adrian Pomilio - Flex Ajax Bridge and Legacy Applications
Adrian Pomilio - Flex Ajax Bridge and Legacy Applications
360|Conferences
 
Isomorphic web application
Isomorphic web application
Oliver N
 
React JS
React JS
Software Infrastructure
 
TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015
DotNetCampus
 
Micro frontends
Micro frontends
Kleyson Prado
 
Introduction to Office Development Topics
Introduction to Office Development Topics
Haaron Gonzalez
 
Building a Reddit Clone from the Ground Up
Building a Reddit Clone from the Ground Up
UCLA Association of Computing Machinery
 
Modern Web Application Development Workflow - EclipseCon France 2014
Modern Web Application Development Workflow - EclipseCon France 2014
Stéphane Bégaudeau
 
AS
AS
document007
 
Flask
Flask
Glen Zangirolami
 

Similar to Having fun with Microsoft Bot Framework and Azure Cognitive Services (20)

Introduction to Microsoft Bot Framework
Introduction to Microsoft Bot Framework
Sam Fernando
 
Dynamics 365 Saturday Amsterdam 02/2018 - Dynamics 365 and chatbots
Dynamics 365 Saturday Amsterdam 02/2018 - Dynamics 365 and chatbots
Joris Poelmans
 
Creating Intelligent Chatbots
Creating Intelligent Chatbots
Kevin Leung
 
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
Thomas Gölles
 
Chatbots - A CMD for Humans (Ort Braude 2018)
Chatbots - A CMD for Humans (Ort Braude 2018)
Moaid Hathot
 
Microsoft bot framework
Microsoft bot framework
Software Infrastructure
 
Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel)
Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel)
Moaid Hathot
 
Intro to Chatbots using Microsoft bot framework and Azure cognitive services
Intro to Chatbots using Microsoft bot framework and Azure cognitive services
Rachhek Shrestha
 
Build a mobile chatbot with Xamarin
Build a mobile chatbot with Xamarin
Luis Beltran
 
Help et phone home, building bots with Microsoft Bot Framework 4.
Help et phone home, building bots with Microsoft Bot Framework 4.
Willem Meints
 
Build a great conversationalist using Azure Bot Service 2018
Build a great conversationalist using Azure Bot Service 2018
Radoslav Gatev
 
Build an Intelligent Bot
Build an Intelligent Bot
Sorin Peste
 
Microsoft Bot Framework
Microsoft Bot Framework
vivek p s
 
Microsoft teams & bot framework - A developer's perspective
Microsoft teams & bot framework - A developer's perspective
Thomas Gölles
 
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp
 
Conversations as a Platform
Conversations as a Platform
Joshua Drew
 
Building a bot with an intent
Building a bot with an intent
Abhishek Sur
 
Introduction to BOT Framework- Global Azure Bootcamp 2017
Introduction to BOT Framework- Global Azure Bootcamp 2017
Jalpesh Vadgama
 
Bots are the New Apps: Building Bots with ASP.NET WebAPI & Language Understan...
Bots are the New Apps: Building Bots with ASP.NET WebAPI & Language Understan...
Nick Landry
 
An introduction to Microsoft Bot Framework
An introduction to Microsoft Bot Framework
Taswar Bhatti
 
Introduction to Microsoft Bot Framework
Introduction to Microsoft Bot Framework
Sam Fernando
 
Dynamics 365 Saturday Amsterdam 02/2018 - Dynamics 365 and chatbots
Dynamics 365 Saturday Amsterdam 02/2018 - Dynamics 365 and chatbots
Joris Poelmans
 
Creating Intelligent Chatbots
Creating Intelligent Chatbots
Kevin Leung
 
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
Thomas Gölles
 
Chatbots - A CMD for Humans (Ort Braude 2018)
Chatbots - A CMD for Humans (Ort Braude 2018)
Moaid Hathot
 
Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel)
Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel)
Moaid Hathot
 
Intro to Chatbots using Microsoft bot framework and Azure cognitive services
Intro to Chatbots using Microsoft bot framework and Azure cognitive services
Rachhek Shrestha
 
Build a mobile chatbot with Xamarin
Build a mobile chatbot with Xamarin
Luis Beltran
 
Help et phone home, building bots with Microsoft Bot Framework 4.
Help et phone home, building bots with Microsoft Bot Framework 4.
Willem Meints
 
Build a great conversationalist using Azure Bot Service 2018
Build a great conversationalist using Azure Bot Service 2018
Radoslav Gatev
 
Build an Intelligent Bot
Build an Intelligent Bot
Sorin Peste
 
Microsoft Bot Framework
Microsoft Bot Framework
vivek p s
 
Microsoft teams & bot framework - A developer's perspective
Microsoft teams & bot framework - A developer's perspective
Thomas Gölles
 
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp
 
Conversations as a Platform
Conversations as a Platform
Joshua Drew
 
Building a bot with an intent
Building a bot with an intent
Abhishek Sur
 
Introduction to BOT Framework- Global Azure Bootcamp 2017
Introduction to BOT Framework- Global Azure Bootcamp 2017
Jalpesh Vadgama
 
Bots are the New Apps: Building Bots with ASP.NET WebAPI & Language Understan...
Bots are the New Apps: Building Bots with ASP.NET WebAPI & Language Understan...
Nick Landry
 
An introduction to Microsoft Bot Framework
An introduction to Microsoft Bot Framework
Taswar Bhatti
 
Ad

Recently uploaded (20)

Advanced Token Development - Decentralized Innovation
Advanced Token Development - Decentralized Innovation
arohisinghas720
 
Looking for a BIRT Report Alternative Here’s Why Helical Insight Stands Out.pdf
Looking for a BIRT Report Alternative Here’s Why Helical Insight Stands Out.pdf
Varsha Nayak
 
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Philip Schwarz
 
How to Choose the Right Web Development Agency.pdf
How to Choose the Right Web Development Agency.pdf
Creative Fosters
 
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
soulamaabdoulaye128
 
Insurance Underwriting Software Enhancing Accuracy and Efficiency
Insurance Underwriting Software Enhancing Accuracy and Efficiency
Insurance Tech Services
 
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
 
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Natan Silnitsky
 
Reimagining Software Development and DevOps with Agentic AI
Reimagining Software Development and DevOps with Agentic AI
Maxim Salnikov
 
Making significant Software Architecture decisions
Making significant Software Architecture decisions
Bert Jan Schrijver
 
NVIDIA Artificial Intelligence Ecosystem and Workflows
NVIDIA Artificial Intelligence Ecosystem and Workflows
SandeepKS52
 
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
WSO2
 
wAIred_RabobankIgniteSession_12062025.pptx
wAIred_RabobankIgniteSession_12062025.pptx
SimonedeGijt
 
Artificial Intelligence Workloads and Data Center Management
Artificial Intelligence Workloads and Data Center Management
SandeepKS52
 
Migrating to Azure Cosmos DB the Right Way
Migrating to Azure Cosmos DB the Right Way
Alexander (Alex) Komyagin
 
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
IFI Techsolutions
 
Transmission Media. (Computer Networks)
Transmission Media. (Computer Networks)
S Pranav (Deepu)
 
Software Testing & it’s types (DevOps)
Software Testing & it’s types (DevOps)
S Pranav (Deepu)
 
Y - Recursion The Hard Way GopherCon EU 2025
Y - Recursion The Hard Way GopherCon EU 2025
Eleanor McHugh
 
Key Challenges in Troubleshooting Customer On-Premise Applications
Key Challenges in Troubleshooting Customer On-Premise Applications
Tier1 app
 
Advanced Token Development - Decentralized Innovation
Advanced Token Development - Decentralized Innovation
arohisinghas720
 
Looking for a BIRT Report Alternative Here’s Why Helical Insight Stands Out.pdf
Looking for a BIRT Report Alternative Here’s Why Helical Insight Stands Out.pdf
Varsha Nayak
 
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Philip Schwarz
 
How to Choose the Right Web Development Agency.pdf
How to Choose the Right Web Development Agency.pdf
Creative Fosters
 
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
soulamaabdoulaye128
 
Insurance Underwriting Software Enhancing Accuracy and Efficiency
Insurance Underwriting Software Enhancing Accuracy and Efficiency
Insurance Tech Services
 
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
 
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Natan Silnitsky
 
Reimagining Software Development and DevOps with Agentic AI
Reimagining Software Development and DevOps with Agentic AI
Maxim Salnikov
 
Making significant Software Architecture decisions
Making significant Software Architecture decisions
Bert Jan Schrijver
 
NVIDIA Artificial Intelligence Ecosystem and Workflows
NVIDIA Artificial Intelligence Ecosystem and Workflows
SandeepKS52
 
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
WSO2
 
wAIred_RabobankIgniteSession_12062025.pptx
wAIred_RabobankIgniteSession_12062025.pptx
SimonedeGijt
 
Artificial Intelligence Workloads and Data Center Management
Artificial Intelligence Workloads and Data Center Management
SandeepKS52
 
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
IFI Techsolutions
 
Transmission Media. (Computer Networks)
Transmission Media. (Computer Networks)
S Pranav (Deepu)
 
Software Testing & it’s types (DevOps)
Software Testing & it’s types (DevOps)
S Pranav (Deepu)
 
Y - Recursion The Hard Way GopherCon EU 2025
Y - Recursion The Hard Way GopherCon EU 2025
Eleanor McHugh
 
Key Challenges in Troubleshooting Customer On-Premise Applications
Key Challenges in Troubleshooting Customer On-Premise Applications
Tier1 app
 
Ad

Having fun with Microsoft Bot Framework and Azure Cognitive Services