SlideShare a Scribd company logo
1 of 50
Building Bots with Azure Bot
Service
Kanio Dimitrov
Azure Functions
Azure Functions vs Web Jobs
 Triggers
 Binging Outputs
 Dynamic Plan
 Serverless -> Azure Functions
Comparison
Microsoft Bot Framework
The Microsoft Bot Framework is a
comprehensive offering that you use to
build and deploy high quality bots for
your users to enjoy wherever they are
talking.
Components
 Bot Builder SDK
 Bot Connector
 Developer Portal
 Bot Directory
 Emulator
Components
Experience
SDK
.NET SDK
Node.js SDK
REST API
Bot Builder Open Source
Workflow
 Write Bot
 Register
 Connect to Channel
 Skype
 Web Chat
 Direct Line REST API
 Publish it
 Directory
 Review
Review Guidelines
 Your bot must do something meaningful that adds value to the user
(e.g., respond to basic commands, have at least some level of
communication etc.)
 The bot profile image, name, keywords and description must NOT:
 Be offensive or explicit;
 Include third party trademarks, service marks or logos;
 impersonate or imply endorsement by a third party;
 use names unrelated to the bot;
 use Microsoft logos, trademarks or service marks unless you have permission
from Microsoft;
 be too long or verbose. The description should be 8-10 words.
Review Guidelines
 Microsoft Bot Framework does not currently support payments
within bots.
 Your bot may not transmit financial instrument details through the user to bot
interface;
 However, your bot may transmit links to secure payment services to users but
you must disclose this in your bot's terms of use and privacy policy (and any
profile page or website for the bot) before a user agrees to use your bot;
 You may not publish bots on Skype that include links or otherwise direct users
to payment services for the purchase of digital goods.
Developer
Portal
 Register
 Connect to
Channels
 Test
 Publish
 Measure
 Manage
Azure Bot Service
Files
File Description
Bot.sln The Microsoft Visual Studio solutions file. Used locally if you set up continuous
integration.
commands.json This file contains the commands that start debughost in Task Runner Explorer
when you open the Bot.sln file. If you don't install Task Runner Explorer, you
can delete this file.
debughost.cmd This file contains the commands to load and run your bot. Used locally if you
set up continuous integration and want to debug your bot locally. For more
information, see Debugging C# bots built using the Azure Bot Service on
Windows. The file also contains your app ID and password. You would set the
ID and password if you want to debug authentication. If you set these, you
must provide the ID and password in the emulator, too.
function.json This file contains the function’s bindings. You should not modify this file.
Files
File Description
host.json A metadata file that contains the global configuration options affecting the
function.
project.json This file contains the project’s NuGet references. You should only have to
change this file if you add a new reference.
project.lock.json This file is generated automatically, and should not be modified.
readme.md This file contains the function’s bindings. You should not modify this file.
Demo – Create Basic Bot
Authenticate
Process Message
Welcome Message
Activity
EchoDialog
EchoDialog - MessageReceiveAsync
EchoDialog - AfterResetAsync
Demo – Create Form Bot
Activity
Main Dialog
Message
Received
Async
Basic
Form
Language Understanding Bot - Activity
Basic LUIS Dialog
Demo – Proactive Bot
Proactive Scenario
Resources
• Azure Storage (used to create the queue)
• Azure Bot Service (your bot)
• logic that receives the message from user
• adds the message to Azure queue
• receives the triggers from Azure Function
• sends back the message it received from trigger’s payload
• Azure Function App (a queueTrigger Azure Function)
• Triggered whenever there is a message in the queue
• Communicates to the Bot service via Direct Line
• Everything is pre-configured
Get message & send to queue
Receive message from Azure Function
Function Binding
Function Code
https://qnamaker.ai/
Questions and Answers Bot
Continuous Integration
When you setup continuous integration, the Azure's bot editor will be
disabled.
Setup
Demo – Local Debugging
Workflow
 Package Restore:
 cmd prompt -> folder with project.json -> dotnet restore
 Run debughost.cmd to load and run your bot
 Copy the endpoint that debughost is listening on
 Start the framework’s emulator
 Paste the endpoint into the address bar
 Append /api/messages to the endpoint
 Leave the Microsoft App Id and Microsoft App Password fields blank
 Click Connect
 Start playing with the bot by typing a message
Workflow
 You can see the logs in the console window
 If you want to do breakpoint debugging in Visual Studio 2015
 Stop the DebugHost.cmd script
 Load the solution for your project
 Click Task Runner Explorer at the bottom of your Visual Studio window
 Bot loading up in the debug host environment in the Task Runner Explorer
window
 Your bot is now live
 When using the emulator, responses will be visible in Task Runner Explorer
 breakpoints are hit only after clicking Start in the Visual Studio environment
(attach to the Azure Function host (func command from Azure Functions CLI))
 For compiling errors check Task Runner Explorer

More Related Content

What's hot

Introduction to Microsoft Bot Framework
Introduction to Microsoft Bot FrameworkIntroduction to Microsoft Bot Framework
Introduction to Microsoft Bot FrameworkAlok Rajasukumaran
 
Microsoft Botframework and LUIS
Microsoft Botframework and LUISMicrosoft Botframework and LUIS
Microsoft Botframework and LUISIan Philpot
 
Chatbot development with Microsoft Bot Framework
Chatbot development with Microsoft Bot FrameworkChatbot development with Microsoft Bot Framework
Chatbot development with Microsoft Bot FrameworkMd. Mahedee Hasan
 
Facebook Messenger Platform Framework
Facebook Messenger Platform FrameworkFacebook Messenger Platform Framework
Facebook Messenger Platform FrameworkRam Murat Sharma
 
Build intelligent chatbot with bot framework
Build intelligent chatbot with bot frameworkBuild intelligent chatbot with bot framework
Build intelligent chatbot with bot frameworkPuja Pramudya
 
Live Identity Services Drilldown - PDC 2008
Live Identity Services Drilldown - PDC 2008Live Identity Services Drilldown - PDC 2008
Live Identity Services Drilldown - PDC 2008Jorgen Thelin
 
#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)Faction XYZ
 
Build your first messenger bot
Build your first messenger botBuild your first messenger bot
Build your first messenger botNowa Labs Pte Ltd
 
Practical Microsoft Bot Framework for Office 365 developers
Practical Microsoft Bot Framework for Office 365 developersPractical Microsoft Bot Framework for Office 365 developers
Practical Microsoft Bot Framework for Office 365 developersOlli Jääskeläinen
 
Chatbot development with Microsoft Bot Framework and LUIS
Chatbot development with Microsoft Bot Framework and LUISChatbot development with Microsoft Bot Framework and LUIS
Chatbot development with Microsoft Bot Framework and LUISMd. Mahedee Hasan
 
What's New in Visual Studio 2010
What's New in Visual Studio 2010What's New in Visual Studio 2010
What's New in Visual Studio 2010John Bristowe
 
Claims-Based Identity in SharePoint 2010
Claims-Based Identity in SharePoint 2010Claims-Based Identity in SharePoint 2010
Claims-Based Identity in SharePoint 2010Danny Jessee
 
REST API in Agile Testing by Fadly Mahendra
REST API in Agile Testing by Fadly MahendraREST API in Agile Testing by Fadly Mahendra
REST API in Agile Testing by Fadly MahendraFadly Mahendra
 
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudSharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudDanny Jessee
 
Connecting to Data from Windows Phone 8
Connecting to Data from Windows Phone 8Connecting to Data from Windows Phone 8
Connecting to Data from Windows Phone 8Woodruff Solutions LLC
 
San Diego ASP.NET Meeting Oct 21st
San  Diego  ASP.NET Meeting Oct 21stSan  Diego  ASP.NET Meeting Oct 21st
San Diego ASP.NET Meeting Oct 21stWoody Pewitt
 
21 app packaging, monetization and publication
21   app packaging, monetization and publication21   app packaging, monetization and publication
21 app packaging, monetization and publicationWindowsPhoneRocks
 

What's hot (20)

Introduction to Microsoft Bot Framework
Introduction to Microsoft Bot FrameworkIntroduction to Microsoft Bot Framework
Introduction to Microsoft Bot Framework
 
Microsoft Botframework and LUIS
Microsoft Botframework and LUISMicrosoft Botframework and LUIS
Microsoft Botframework and LUIS
 
Chatbot development with Microsoft Bot Framework
Chatbot development with Microsoft Bot FrameworkChatbot development with Microsoft Bot Framework
Chatbot development with Microsoft Bot Framework
 
Facebook Messenger Platform Framework
Facebook Messenger Platform FrameworkFacebook Messenger Platform Framework
Facebook Messenger Platform Framework
 
Build intelligent chatbot with bot framework
Build intelligent chatbot with bot frameworkBuild intelligent chatbot with bot framework
Build intelligent chatbot with bot framework
 
VS 2010 codename Rosario
VS 2010 codename RosarioVS 2010 codename Rosario
VS 2010 codename Rosario
 
Live Identity Services Drilldown - PDC 2008
Live Identity Services Drilldown - PDC 2008Live Identity Services Drilldown - PDC 2008
Live Identity Services Drilldown - PDC 2008
 
Intro to Bot Framework v3
Intro to Bot Framework v3Intro to Bot Framework v3
Intro to Bot Framework v3
 
#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)
 
Build your first messenger bot
Build your first messenger botBuild your first messenger bot
Build your first messenger bot
 
Practical Microsoft Bot Framework for Office 365 developers
Practical Microsoft Bot Framework for Office 365 developersPractical Microsoft Bot Framework for Office 365 developers
Practical Microsoft Bot Framework for Office 365 developers
 
Chatbot development with Microsoft Bot Framework and LUIS
Chatbot development with Microsoft Bot Framework and LUISChatbot development with Microsoft Bot Framework and LUIS
Chatbot development with Microsoft Bot Framework and LUIS
 
What's New in Visual Studio 2010
What's New in Visual Studio 2010What's New in Visual Studio 2010
What's New in Visual Studio 2010
 
Claims-Based Identity in SharePoint 2010
Claims-Based Identity in SharePoint 2010Claims-Based Identity in SharePoint 2010
Claims-Based Identity in SharePoint 2010
 
REST API in Agile Testing by Fadly Mahendra
REST API in Agile Testing by Fadly MahendraREST API in Agile Testing by Fadly Mahendra
REST API in Agile Testing by Fadly Mahendra
 
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudSharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
 
Connecting to Data from Windows Phone 8
Connecting to Data from Windows Phone 8Connecting to Data from Windows Phone 8
Connecting to Data from Windows Phone 8
 
San Diego ASP.NET Meeting Oct 21st
San  Diego  ASP.NET Meeting Oct 21stSan  Diego  ASP.NET Meeting Oct 21st
San Diego ASP.NET Meeting Oct 21st
 
21 app packaging, monetization and publication
21   app packaging, monetization and publication21   app packaging, monetization and publication
21 app packaging, monetization and publication
 
Botgun
BotgunBotgun
Botgun
 

Viewers also liked

Serverles com Azure Functions & DocumentDB
Serverles com Azure Functions & DocumentDBServerles com Azure Functions & DocumentDB
Serverles com Azure Functions & DocumentDBJosé Roberto Araújo
 
Tokyo azure meetup #10 azure update, october
Tokyo azure meetup #10   azure update, octoberTokyo azure meetup #10   azure update, october
Tokyo azure meetup #10 azure update, octoberTokyo Azure Meetup
 
Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processingrewa_monami
 
Advanced Azure deployments with Azure Resource Manager and templates
Advanced Azure deployments with Azure Resource Manager and templatesAdvanced Azure deployments with Azure Resource Manager and templates
Advanced Azure deployments with Azure Resource Manager and templatesStephane Lapointe
 
Chatbot Meetup Utrecht December 2016
Chatbot Meetup Utrecht December 2016Chatbot Meetup Utrecht December 2016
Chatbot Meetup Utrecht December 2016Leo Bekhuis
 
Your friendly Robot Companions
Your friendly Robot CompanionsYour friendly Robot Companions
Your friendly Robot CompanionsXOXCO
 
Integrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformIntegrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformBizTalk360
 
公聽會資料─豐富專案區段徵收
公聽會資料─豐富專案區段徵收公聽會資料─豐富專案區段徵收
公聽會資料─豐富專案區段徵收傑凱 楊
 
Oxygen therapy in acutely ill patients
Oxygen therapy in acutely ill patientsOxygen therapy in acutely ill patients
Oxygen therapy in acutely ill patientsAdel Hamada
 
Japan's third phase of quality assurance in the context of international comm...
Japan's third phase of quality assurance in the context of international comm...Japan's third phase of quality assurance in the context of international comm...
Japan's third phase of quality assurance in the context of international comm...Syun Tutiya
 
Web-based visualization of 3D distance restraints integrated with NGL molecul...
Web-based visualization of 3D distance restraints integrated with NGL molecul...Web-based visualization of 3D distance restraints integrated with NGL molecul...
Web-based visualization of 3D distance restraints integrated with NGL molecul...Alexander Rose
 
Bot Revolution lab at Codemotion Milan 2016
Bot Revolution lab at Codemotion Milan 2016Bot Revolution lab at Codemotion Milan 2016
Bot Revolution lab at Codemotion Milan 2016gjuljo
 
Building blocks for building bots
Building blocks for building botsBuilding blocks for building bots
Building blocks for building botsRita Zhang
 
"There's a bot for that!" - The World of Conversational UIs and Chat Bots
"There's a bot for that!" - The World of Conversational UIs and Chat Bots"There's a bot for that!" - The World of Conversational UIs and Chat Bots
"There's a bot for that!" - The World of Conversational UIs and Chat BotsVishrut Shukla
 
Enayo de los 10 factores para una calidad educativa
Enayo de los 10 factores para una calidad educativaEnayo de los 10 factores para una calidad educativa
Enayo de los 10 factores para una calidad educativamisifus92
 
Seven Segment Displau
Seven Segment DisplauSeven Segment Displau
Seven Segment DisplauMishu Rana
 

Viewers also liked (20)

Serverles com Azure Functions & DocumentDB
Serverles com Azure Functions & DocumentDBServerles com Azure Functions & DocumentDB
Serverles com Azure Functions & DocumentDB
 
Tokyo azure meetup #10 azure update, october
Tokyo azure meetup #10   azure update, octoberTokyo azure meetup #10   azure update, october
Tokyo azure meetup #10 azure update, october
 
Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processing
 
Advanced Azure deployments with Azure Resource Manager and templates
Advanced Azure deployments with Azure Resource Manager and templatesAdvanced Azure deployments with Azure Resource Manager and templates
Advanced Azure deployments with Azure Resource Manager and templates
 
Chatbot Meetup Utrecht December 2016
Chatbot Meetup Utrecht December 2016Chatbot Meetup Utrecht December 2016
Chatbot Meetup Utrecht December 2016
 
Your friendly Robot Companions
Your friendly Robot CompanionsYour friendly Robot Companions
Your friendly Robot Companions
 
Azure app service
Azure app serviceAzure app service
Azure app service
 
Integrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformIntegrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service Platform
 
Navidad
NavidadNavidad
Navidad
 
公聽會資料─豐富專案區段徵收
公聽會資料─豐富專案區段徵收公聽會資料─豐富專案區段徵收
公聽會資料─豐富專案區段徵收
 
Redes sociales
Redes socialesRedes sociales
Redes sociales
 
Oxygen therapy in acutely ill patients
Oxygen therapy in acutely ill patientsOxygen therapy in acutely ill patients
Oxygen therapy in acutely ill patients
 
Japan's third phase of quality assurance in the context of international comm...
Japan's third phase of quality assurance in the context of international comm...Japan's third phase of quality assurance in the context of international comm...
Japan's third phase of quality assurance in the context of international comm...
 
Web-based visualization of 3D distance restraints integrated with NGL molecul...
Web-based visualization of 3D distance restraints integrated with NGL molecul...Web-based visualization of 3D distance restraints integrated with NGL molecul...
Web-based visualization of 3D distance restraints integrated with NGL molecul...
 
Bot Revolution lab at Codemotion Milan 2016
Bot Revolution lab at Codemotion Milan 2016Bot Revolution lab at Codemotion Milan 2016
Bot Revolution lab at Codemotion Milan 2016
 
Building blocks for building bots
Building blocks for building botsBuilding blocks for building bots
Building blocks for building bots
 
"There's a bot for that!" - The World of Conversational UIs and Chat Bots
"There's a bot for that!" - The World of Conversational UIs and Chat Bots"There's a bot for that!" - The World of Conversational UIs and Chat Bots
"There's a bot for that!" - The World of Conversational UIs and Chat Bots
 
Savona
SavonaSavona
Savona
 
Enayo de los 10 factores para una calidad educativa
Enayo de los 10 factores para una calidad educativaEnayo de los 10 factores para una calidad educativa
Enayo de los 10 factores para una calidad educativa
 
Seven Segment Displau
Seven Segment DisplauSeven Segment Displau
Seven Segment Displau
 

Similar to Tokyo azure meetup #13 build bots with azure bot services

Build a Great Conversationalist
Build a Great ConversationalistBuild a Great Conversationalist
Build a Great ConversationalistLorenzo Barbieri
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power pointjustmeanscsr
 
Azure Bot Framework
Azure Bot FrameworkAzure Bot Framework
Azure Bot FrameworkPhat Nguyen
 
Better User Experience with .NET
Better User Experience with .NETBetter User Experience with .NET
Better User Experience with .NETPeter Gfader
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with PythonBrian Lyttle
 
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the KeyIIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the KeyAustraliaChapterIIBA
 
aOS Moscow - E4 - PowerApps for enterprise developers - Fabio Franzini
aOS Moscow - E4 - PowerApps for enterprise developers - Fabio FranziniaOS Moscow - E4 - PowerApps for enterprise developers - Fabio Franzini
aOS Moscow - E4 - PowerApps for enterprise developers - Fabio FranziniaOS Community
 
Developing intelligent bots from the beginning
Developing intelligent bots from the beginningDeveloping intelligent bots from the beginning
Developing intelligent bots from the beginningSuthahar J
 
Advanced BCS - Business Data Connectivity Models and Custom Connectors - SPTe...
Advanced BCS - Business Data Connectivity Models and Custom Connectors - SPTe...Advanced BCS - Business Data Connectivity Models and Custom Connectors - SPTe...
Advanced BCS - Business Data Connectivity Models and Custom Connectors - SPTe...Corey Roth
 
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agentsPVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agentsAndrey Karpov
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019Thomas Daly
 
HoloLens Unity Build Pipelines on Azure DevOps
HoloLens Unity Build Pipelines on Azure DevOpsHoloLens Unity Build Pipelines on Azure DevOps
HoloLens Unity Build Pipelines on Azure DevOpsSarah Sexton
 
Bot Framework with Xamarin Forms
Bot Framework with Xamarin FormsBot Framework with Xamarin Forms
Bot Framework with Xamarin FormsCheah Eng Soon
 
Announcing asp.net core updates in .net 5 preview 8
Announcing asp.net core updates in .net 5 preview 8Announcing asp.net core updates in .net 5 preview 8
Announcing asp.net core updates in .net 5 preview 8Concetto Labs
 
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB
 
M365 global developer bootcamp 2019 PA
M365 global developer bootcamp 2019  PAM365 global developer bootcamp 2019  PA
M365 global developer bootcamp 2019 PAThomas Daly
 
Streamlining React Component Development and Sharing with bit.pptx
Streamlining React Component Development and Sharing with bit.pptxStreamlining React Component Development and Sharing with bit.pptx
Streamlining React Component Development and Sharing with bit.pptxShubhamJayswal6
 

Similar to Tokyo azure meetup #13 build bots with azure bot services (20)

Build a Great Conversationalist
Build a Great ConversationalistBuild a Great Conversationalist
Build a Great Conversationalist
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power point
 
M365 Teams Automation
M365 Teams AutomationM365 Teams Automation
M365 Teams Automation
 
Azure Bot Framework
Azure Bot FrameworkAzure Bot Framework
Azure Bot Framework
 
Better User Experience with .NET
Better User Experience with .NETBetter User Experience with .NET
Better User Experience with .NET
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with Python
 
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the KeyIIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
 
aOS Moscow - E4 - PowerApps for enterprise developers - Fabio Franzini
aOS Moscow - E4 - PowerApps for enterprise developers - Fabio FranziniaOS Moscow - E4 - PowerApps for enterprise developers - Fabio Franzini
aOS Moscow - E4 - PowerApps for enterprise developers - Fabio Franzini
 
Developing intelligent bots from the beginning
Developing intelligent bots from the beginningDeveloping intelligent bots from the beginning
Developing intelligent bots from the beginning
 
Advanced BCS - Business Data Connectivity Models and Custom Connectors - SPTe...
Advanced BCS - Business Data Connectivity Models and Custom Connectors - SPTe...Advanced BCS - Business Data Connectivity Models and Custom Connectors - SPTe...
Advanced BCS - Business Data Connectivity Models and Custom Connectors - SPTe...
 
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agentsPVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019
 
HoloLens Unity Build Pipelines on Azure DevOps
HoloLens Unity Build Pipelines on Azure DevOpsHoloLens Unity Build Pipelines on Azure DevOps
HoloLens Unity Build Pipelines on Azure DevOps
 
Bot Framework with Xamarin Forms
Bot Framework with Xamarin FormsBot Framework with Xamarin Forms
Bot Framework with Xamarin Forms
 
The first looks at VSTS2010
The first looks at VSTS2010The first looks at VSTS2010
The first looks at VSTS2010
 
Announcing asp.net core updates in .net 5 preview 8
Announcing asp.net core updates in .net 5 preview 8Announcing asp.net core updates in .net 5 preview 8
Announcing asp.net core updates in .net 5 preview 8
 
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
 
M365 global developer bootcamp 2019 PA
M365 global developer bootcamp 2019  PAM365 global developer bootcamp 2019  PA
M365 global developer bootcamp 2019 PA
 
Streamlining React Component Development and Sharing with bit.pptx
Streamlining React Component Development and Sharing with bit.pptxStreamlining React Component Development and Sharing with bit.pptx
Streamlining React Component Development and Sharing with bit.pptx
 
Resume
ResumeResume
Resume
 

More from Tokyo Azure Meetup

Tokyo Azure Meetup #14 - Azure Functions Proxies
Tokyo Azure Meetup #14  -  Azure Functions ProxiesTokyo Azure Meetup #14  -  Azure Functions Proxies
Tokyo Azure Meetup #14 - Azure Functions ProxiesTokyo Azure Meetup
 
Tokyo Azure Meetup #9 - Azure Update, september
Tokyo Azure Meetup #9 - Azure Update, septemberTokyo Azure Meetup #9 - Azure Update, september
Tokyo Azure Meetup #9 - Azure Update, septemberTokyo Azure Meetup
 
Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, augustTokyo Azure Meetup
 
Tokyo Azure Meetup #6 - Azure Monthly Update - June
Tokyo Azure Meetup #6 - Azure Monthly Update - JuneTokyo Azure Meetup #6 - Azure Monthly Update - June
Tokyo Azure Meetup #6 - Azure Monthly Update - JuneTokyo Azure Meetup
 
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup
 
Tokyo Azure Meetup #4 - Build 2016 Overview
Tokyo Azure Meetup #4 -  Build 2016 OverviewTokyo Azure Meetup #4 -  Build 2016 Overview
Tokyo Azure Meetup #4 - Build 2016 OverviewTokyo Azure Meetup
 
Tokyo azure meetup #2 big data made easy
Tokyo azure meetup #2   big data made easyTokyo azure meetup #2   big data made easy
Tokyo azure meetup #2 big data made easyTokyo Azure Meetup
 
Toyko azure meetup # 1 azure paa s overview
Toyko azure meetup # 1   azure paa s overviewToyko azure meetup # 1   azure paa s overview
Toyko azure meetup # 1 azure paa s overviewTokyo Azure Meetup
 
Tokyo azure meetup #9 azure update, october
Tokyo azure meetup #9   azure update, octoberTokyo azure meetup #9   azure update, october
Tokyo azure meetup #9 azure update, octoberTokyo Azure Meetup
 
Tokyo azure meetup #12 service fabric internals
Tokyo azure meetup #12   service fabric internalsTokyo azure meetup #12   service fabric internals
Tokyo azure meetup #12 service fabric internalsTokyo Azure Meetup
 
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup
 
Tokyo Azure Meetup #6 - Azure Machine Learning with Microsoft Dynamics
Tokyo Azure Meetup #6 - Azure Machine Learning with Microsoft DynamicsTokyo Azure Meetup #6 - Azure Machine Learning with Microsoft Dynamics
Tokyo Azure Meetup #6 - Azure Machine Learning with Microsoft DynamicsTokyo Azure Meetup
 

More from Tokyo Azure Meetup (13)

Tokyo Azure Meetup #14 - Azure Functions Proxies
Tokyo Azure Meetup #14  -  Azure Functions ProxiesTokyo Azure Meetup #14  -  Azure Functions Proxies
Tokyo Azure Meetup #14 - Azure Functions Proxies
 
Tokyo Azure Meetup #9 - Azure Update, september
Tokyo Azure Meetup #9 - Azure Update, septemberTokyo Azure Meetup #9 - Azure Update, september
Tokyo Azure Meetup #9 - Azure Update, september
 
Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, august
 
Tokyo Azure Meetup #6 - Azure Monthly Update - June
Tokyo Azure Meetup #6 - Azure Monthly Update - JuneTokyo Azure Meetup #6 - Azure Monthly Update - June
Tokyo Azure Meetup #6 - Azure Monthly Update - June
 
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
 
Tokyo Azure Meetup #4 - Build 2016 Overview
Tokyo Azure Meetup #4 -  Build 2016 OverviewTokyo Azure Meetup #4 -  Build 2016 Overview
Tokyo Azure Meetup #4 - Build 2016 Overview
 
Tokyo azure meetup #2 big data made easy
Tokyo azure meetup #2   big data made easyTokyo azure meetup #2   big data made easy
Tokyo azure meetup #2 big data made easy
 
Toyko azure meetup # 1 azure paa s overview
Toyko azure meetup # 1   azure paa s overviewToyko azure meetup # 1   azure paa s overview
Toyko azure meetup # 1 azure paa s overview
 
Tokyo azure meetup #9 azure update, october
Tokyo azure meetup #9   azure update, octoberTokyo azure meetup #9   azure update, october
Tokyo azure meetup #9 azure update, october
 
Tokyo azure meetup #12 service fabric internals
Tokyo azure meetup #12   service fabric internalsTokyo azure meetup #12   service fabric internals
Tokyo azure meetup #12 service fabric internals
 
Azure Update, July 2016
Azure Update, July 2016Azure Update, July 2016
Azure Update, July 2016
 
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
 
Tokyo Azure Meetup #6 - Azure Machine Learning with Microsoft Dynamics
Tokyo Azure Meetup #6 - Azure Machine Learning with Microsoft DynamicsTokyo Azure Meetup #6 - Azure Machine Learning with Microsoft Dynamics
Tokyo Azure Meetup #6 - Azure Machine Learning with Microsoft Dynamics
 

Recently uploaded

Steel Structures - Building technology.pptx
Steel Structures - Building technology.pptxSteel Structures - Building technology.pptx
Steel Structures - Building technology.pptxNikhil Raut
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsSachinPawar510423
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
Industrial Safety Unit-I SAFETY TERMINOLOGIES
Industrial Safety Unit-I SAFETY TERMINOLOGIESIndustrial Safety Unit-I SAFETY TERMINOLOGIES
Industrial Safety Unit-I SAFETY TERMINOLOGIESNarmatha D
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
The SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teamsThe SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teamsDILIPKUMARMONDAL6
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONjhunlian
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdfCaalaaAbdulkerim
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptNarmatha D
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfRajuKanojiya4
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 

Recently uploaded (20)

Steel Structures - Building technology.pptx
Steel Structures - Building technology.pptxSteel Structures - Building technology.pptx
Steel Structures - Building technology.pptx
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documents
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
Industrial Safety Unit-I SAFETY TERMINOLOGIES
Industrial Safety Unit-I SAFETY TERMINOLOGIESIndustrial Safety Unit-I SAFETY TERMINOLOGIES
Industrial Safety Unit-I SAFETY TERMINOLOGIES
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
The SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teamsThe SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teams
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdf
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.ppt
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdf
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 

Tokyo azure meetup #13 build bots with azure bot services

  • 1. Building Bots with Azure Bot Service Kanio Dimitrov
  • 3. Azure Functions vs Web Jobs  Triggers  Binging Outputs  Dynamic Plan  Serverless -> Azure Functions
  • 5. Microsoft Bot Framework The Microsoft Bot Framework is a comprehensive offering that you use to build and deploy high quality bots for your users to enjoy wherever they are talking.
  • 6. Components  Bot Builder SDK  Bot Connector  Developer Portal  Bot Directory  Emulator
  • 9. SDK .NET SDK Node.js SDK REST API Bot Builder Open Source
  • 10. Workflow  Write Bot  Register  Connect to Channel  Skype  Web Chat  Direct Line REST API  Publish it  Directory  Review
  • 11. Review Guidelines  Your bot must do something meaningful that adds value to the user (e.g., respond to basic commands, have at least some level of communication etc.)  The bot profile image, name, keywords and description must NOT:  Be offensive or explicit;  Include third party trademarks, service marks or logos;  impersonate or imply endorsement by a third party;  use names unrelated to the bot;  use Microsoft logos, trademarks or service marks unless you have permission from Microsoft;  be too long or verbose. The description should be 8-10 words.
  • 12. Review Guidelines  Microsoft Bot Framework does not currently support payments within bots.  Your bot may not transmit financial instrument details through the user to bot interface;  However, your bot may transmit links to secure payment services to users but you must disclose this in your bot's terms of use and privacy policy (and any profile page or website for the bot) before a user agrees to use your bot;  You may not publish bots on Skype that include links or otherwise direct users to payment services for the purchase of digital goods.
  • 13.
  • 14.
  • 15. Developer Portal  Register  Connect to Channels  Test  Publish  Measure  Manage
  • 16.
  • 17.
  • 18.
  • 20. Files File Description Bot.sln The Microsoft Visual Studio solutions file. Used locally if you set up continuous integration. commands.json This file contains the commands that start debughost in Task Runner Explorer when you open the Bot.sln file. If you don't install Task Runner Explorer, you can delete this file. debughost.cmd This file contains the commands to load and run your bot. Used locally if you set up continuous integration and want to debug your bot locally. For more information, see Debugging C# bots built using the Azure Bot Service on Windows. The file also contains your app ID and password. You would set the ID and password if you want to debug authentication. If you set these, you must provide the ID and password in the emulator, too. function.json This file contains the function’s bindings. You should not modify this file.
  • 21. Files File Description host.json A metadata file that contains the global configuration options affecting the function. project.json This file contains the project’s NuGet references. You should only have to change this file if you add a new reference. project.lock.json This file is generated automatically, and should not be modified. readme.md This file contains the function’s bindings. You should not modify this file.
  • 22. Demo – Create Basic Bot
  • 30. Demo – Create Form Bot
  • 39. Resources • Azure Storage (used to create the queue) • Azure Bot Service (your bot) • logic that receives the message from user • adds the message to Azure queue • receives the triggers from Azure Function • sends back the message it received from trigger’s payload • Azure Function App (a queueTrigger Azure Function) • Triggered whenever there is a message in the queue • Communicates to the Bot service via Direct Line • Everything is pre-configured
  • 40. Get message & send to queue
  • 41. Receive message from Azure Function
  • 46. Continuous Integration When you setup continuous integration, the Azure's bot editor will be disabled.
  • 47. Setup
  • 48. Demo – Local Debugging
  • 49. Workflow  Package Restore:  cmd prompt -> folder with project.json -> dotnet restore  Run debughost.cmd to load and run your bot  Copy the endpoint that debughost is listening on  Start the framework’s emulator  Paste the endpoint into the address bar  Append /api/messages to the endpoint  Leave the Microsoft App Id and Microsoft App Password fields blank  Click Connect  Start playing with the bot by typing a message
  • 50. Workflow  You can see the logs in the console window  If you want to do breakpoint debugging in Visual Studio 2015  Stop the DebugHost.cmd script  Load the solution for your project  Click Task Runner Explorer at the bottom of your Visual Studio window  Bot loading up in the debug host environment in the Task Runner Explorer window  Your bot is now live  When using the emulator, responses will be visible in Task Runner Explorer  breakpoints are hit only after clicking Start in the Visual Studio environment (attach to the Azure Function host (func command from Azure Functions CLI))  For compiling errors check Task Runner Explorer