SlideShare a Scribd company logo
1 of 28
…if cloud computing was transportation
Agenda
 Bot Framework and Azure Bot
Service
 Activities, Messages, and
Dialogs
 Language Understanding with
LUIS
 Message Cards/Adaptive Cards
 Office 365 Connectors in Teams
Your Bot Web
Service
External App
Web Service LUIS
Azure Bot Services
conversations and 1:1 conversations
Channel conversation
Access to channel data, including
members
Events when users added/removed
from channel
Messages will contain ‘at’ (@)
mentions of the bot
<at>MyBot</at>
1:1 conversation
Access only to user – not team
Event when user initiates conversation
No ‘at’ mentions for the Bot
User Data Saved for a user
Conversation
Data
Saved for the
whole
conversation
Private
Conversation
Data
Saved for a user
within just this
conversation
Call DeleteStateForUser() to
forget users when they leave
a conversation
Teams-Bot-extensions
Extensions and utilities
ConnectorClient
Parse activities to system events
Parse activities to channel/member information
Extract @mentions from text
ProcessAttachments
Data models
Tenant
Team/channel
ComposeExtension
Cards
Tenant filtering
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
3rd party tool tunnels
internet requests to local
machine
Allows inspection of
request/response
Free version changes the
URL every use (8 hr max)
demo
Messages – Text formats
Format
From user
to bot
From bot
to user
Notes
Rich text Basic markdown, no tables
Pictures
Maximum 1024×1024 and 1 MB in PNG, JPEG, or GIF
format; animated GIF not officially supported
Cards
Currently supports Hero, Thumbnail, and Office 365
Connector cards
Emojis
Currently supports emojis via UTF-16 (such as U+1F600
for grinning face)
Message Cards for Outlook, Teams, and more
https://messagecardplayground.azurewebsites.net
demo
Introduction to Messaging Extensions
Look up information while composing a
message in channel or chat
Users select entity from your extension/app
Card added to message
Multiple extensions can be registered for your app
Entity display is customizable
Initial display control
Automatic rendering & submission of search
You decide entities and render in cards
demo
demo
Get videoBooking Information Agenda Information Exhibitor Information General Q&ATop Business Intents
Conference Management BotBusiness Domain
Make Booking Get agenda
Get Booking
Balance
Get Booking
Status
Booking
Refund
Exhibitor.
How to Apply
Reset
Password
General Q&A
None
LUIS Intents
Exhibitor.
Levels
Entities are optional but highly recommended
Entities represent parameters or data for an intent
Entities are shared across intents
There are different types of entities
Simple List
Hierarchical Composite
Begin with 10-15 utterances per intent
Collect phrases that you think users will say
Use the representative language of the user
Include utterances that mean the same but are constructed differently.
Be mindful that utterances aren't always well formed
Choose varied terminology as well as phrasing
None intent should have between 10-20 % of the total utterances.
Teams
Service
POST https://outlook.office.com/webhook/7bfe...
Your application
HTTP/1.1 200 OK
demo
http://bit.ly/Design4Teams
https://aka.ms/InstallTeamsApp
Studio
http://bit.ly/AzBotBuilder
https://www.luis.ai/
http://bit.ly/Bot4Graph
http://bit.ly/Bot4Excel
Azure for SharePoint Developers - Workshop - Part 4: Bots

More Related Content

What's hot

High-Trust Add-Ins SharePoint for On-Premises Development
High-Trust Add-Ins SharePoint for On-Premises DevelopmentHigh-Trust Add-Ins SharePoint for On-Premises Development
High-Trust Add-Ins SharePoint for On-Premises DevelopmentEdin Kapic
 
Azure AD for browser-based application developers
Azure AD for browser-based application developersAzure AD for browser-based application developers
Azure AD for browser-based application developersBob German
 
70 346 Managing office 365 identities
70 346 Managing office 365 identities70 346 Managing office 365 identities
70 346 Managing office 365 identitiesclounoud
 
ESPC15 - Extending Authentication and Authorization
ESPC15 - Extending Authentication and AuthorizationESPC15 - Extending Authentication and Authorization
ESPC15 - Extending Authentication and AuthorizationEdin Kapic
 
Extending Authentication and Authorization
Extending Authentication and AuthorizationExtending Authentication and Authorization
Extending Authentication and AuthorizationEdin Kapic
 
Be an integration superhero with Azure and build API-enabled and connected en...
Be an integration superhero with Azure and build API-enabled and connected en...Be an integration superhero with Azure and build API-enabled and connected en...
Be an integration superhero with Azure and build API-enabled and connected en...Microsoft Tech Community
 
Understanding Claim based Authentication
Understanding Claim based AuthenticationUnderstanding Claim based Authentication
Understanding Claim based AuthenticationMohammad Yousri
 
SPS London 2015 - IoT and Room Reservation Cloud-Style
SPS London 2015 - IoT and Room Reservation Cloud-StyleSPS London 2015 - IoT and Room Reservation Cloud-Style
SPS London 2015 - IoT and Room Reservation Cloud-StyleEdin Kapic
 
Federation Services
Federation ServicesFederation Services
Federation ServicesEmpowerID
 
Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365
Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365
Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365Shahzad S
 
Cross-Lingual Web API Classification
Cross-Lingual Web API ClassificationCross-Lingual Web API Classification
Cross-Lingual Web API Classificationmmaleshkova
 
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
 
Azure Serrvices Platform Pro Dev Partners
Azure Serrvices Platform Pro Dev PartnersAzure Serrvices Platform Pro Dev Partners
Azure Serrvices Platform Pro Dev PartnersJohn Stame
 
Decoupled cms sunshinephp 2014
Decoupled cms sunshinephp 2014Decoupled cms sunshinephp 2014
Decoupled cms sunshinephp 2014Lukas Smith
 
e-SUAP - Security - Windows azure access control list (english version)
e-SUAP - Security - Windows azure access control list (english version)e-SUAP - Security - Windows azure access control list (english version)
e-SUAP - Security - Windows azure access control list (english version)Sabino Labarile
 
Short Sales Overview of EmpowerID
Short Sales Overview of EmpowerIDShort Sales Overview of EmpowerID
Short Sales Overview of EmpowerIDEmpowerID
 

What's hot (20)

High-Trust Add-Ins SharePoint for On-Premises Development
High-Trust Add-Ins SharePoint for On-Premises DevelopmentHigh-Trust Add-Ins SharePoint for On-Premises Development
High-Trust Add-Ins SharePoint for On-Premises Development
 
Azure AD for browser-based application developers
Azure AD for browser-based application developersAzure AD for browser-based application developers
Azure AD for browser-based application developers
 
Slides
SlidesSlides
Slides
 
70 346 Managing office 365 identities
70 346 Managing office 365 identities70 346 Managing office 365 identities
70 346 Managing office 365 identities
 
ESPC15 - Extending Authentication and Authorization
ESPC15 - Extending Authentication and AuthorizationESPC15 - Extending Authentication and Authorization
ESPC15 - Extending Authentication and Authorization
 
Extending Authentication and Authorization
Extending Authentication and AuthorizationExtending Authentication and Authorization
Extending Authentication and Authorization
 
SSO_Good_Bad_Ugly
SSO_Good_Bad_UglySSO_Good_Bad_Ugly
SSO_Good_Bad_Ugly
 
Be an integration superhero with Azure and build API-enabled and connected en...
Be an integration superhero with Azure and build API-enabled and connected en...Be an integration superhero with Azure and build API-enabled and connected en...
Be an integration superhero with Azure and build API-enabled and connected en...
 
Presentation
PresentationPresentation
Presentation
 
Understanding Claim based Authentication
Understanding Claim based AuthenticationUnderstanding Claim based Authentication
Understanding Claim based Authentication
 
SPS London 2015 - IoT and Room Reservation Cloud-Style
SPS London 2015 - IoT and Room Reservation Cloud-StyleSPS London 2015 - IoT and Room Reservation Cloud-Style
SPS London 2015 - IoT and Room Reservation Cloud-Style
 
Federation Services
Federation ServicesFederation Services
Federation Services
 
Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365
Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365
Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365
 
Cross-Lingual Web API Classification
Cross-Lingual Web API ClassificationCross-Lingual Web API Classification
Cross-Lingual Web API Classification
 
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
 
Azure Serrvices Platform Pro Dev Partners
Azure Serrvices Platform Pro Dev PartnersAzure Serrvices Platform Pro Dev Partners
Azure Serrvices Platform Pro Dev Partners
 
Is BCS Dead?
Is BCS Dead?Is BCS Dead?
Is BCS Dead?
 
Decoupled cms sunshinephp 2014
Decoupled cms sunshinephp 2014Decoupled cms sunshinephp 2014
Decoupled cms sunshinephp 2014
 
e-SUAP - Security - Windows azure access control list (english version)
e-SUAP - Security - Windows azure access control list (english version)e-SUAP - Security - Windows azure access control list (english version)
e-SUAP - Security - Windows azure access control list (english version)
 
Short Sales Overview of EmpowerID
Short Sales Overview of EmpowerIDShort Sales Overview of EmpowerID
Short Sales Overview of EmpowerID
 

Similar to Azure for SharePoint Developers - Workshop - Part 4: Bots

Building apps for microsoft teams - aossg
Building apps for microsoft teams - aossgBuilding apps for microsoft teams - aossg
Building apps for microsoft teams - aossgJenkins NS
 
Microsoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AIMicrosoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AIThomas Gölles
 
Bot & AI - A Bot for Productivity
Bot & AI - A Bot for ProductivityBot & AI - A Bot for Productivity
Bot & AI - A Bot for ProductivityMarvin Heng
 
Bots, adaptive cards, task module, message extensions in microsoft teams
Bots, adaptive cards, task module, message extensions in microsoft teamsBots, adaptive cards, task module, message extensions in microsoft teams
Bots, adaptive cards, task module, message extensions in microsoft teamsJenkins NS
 
Introduction to UI flows - Office 365 Nashville 2020
Introduction to UI flows - Office 365 Nashville 2020Introduction to UI flows - Office 365 Nashville 2020
Introduction to UI flows - Office 365 Nashville 2020Tomasz Poszytek
 
Breaking Down and Understanding Office 365 - SPSJHB 2015
Breaking Down and Understanding Office 365 - SPSJHB 2015Breaking Down and Understanding Office 365 - SPSJHB 2015
Breaking Down and Understanding Office 365 - SPSJHB 2015Michael Noel
 
Bots, adaptive cards, task module, message extensions in microsoft teams
Bots, adaptive cards, task module, message extensions in microsoft teamsBots, adaptive cards, task module, message extensions in microsoft teams
Bots, adaptive cards, task module, message extensions in microsoft teamsJenkins NS
 
Global office 365 developer bootcamp Slovenia 2018
Global office 365 developer bootcamp Slovenia 2018Global office 365 developer bootcamp Slovenia 2018
Global office 365 developer bootcamp Slovenia 2018Thomas Gölles
 
SharePoint Fest Chicago - SharePoint 2010 Integration and Interoperability: W...
SharePoint Fest Chicago - SharePoint 2010 Integration and Interoperability: W...SharePoint Fest Chicago - SharePoint 2010 Integration and Interoperability: W...
SharePoint Fest Chicago - SharePoint 2010 Integration and Interoperability: W...Richard Harbridge
 
Building apps for microsoft teams - aosKL
Building apps for microsoft teams - aosKL Building apps for microsoft teams - aosKL
Building apps for microsoft teams - aosKL Jenkins NS
 
SharePoint 2010 Integration and Interoperability - SharePoint Saturday Hartford
SharePoint 2010 Integration and Interoperability - SharePoint Saturday HartfordSharePoint 2010 Integration and Interoperability - SharePoint Saturday Hartford
SharePoint 2010 Integration and Interoperability - SharePoint Saturday HartfordRichard Harbridge
 
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
 
How to Implement Conversational IVR
How to Implement Conversational  IVRHow to Implement Conversational  IVR
How to Implement Conversational IVRkore.ai
 
SharePoint 2010 Integration and Interoperability: What you need to know
SharePoint 2010 Integration and Interoperability: What you need to knowSharePoint 2010 Integration and Interoperability: What you need to know
SharePoint 2010 Integration and Interoperability: What you need to knowRichard Harbridge
 
#MSGraph introduction at #M365SaturdayOttawa
#MSGraph introduction at #M365SaturdayOttawa#MSGraph introduction at #M365SaturdayOttawa
#MSGraph introduction at #M365SaturdayOttawaVincent Biret
 
Automating your tasks with microsoft flow
Automating your tasks with microsoft flowAutomating your tasks with microsoft flow
Automating your tasks with microsoft flowDipti Chhatrapati
 
SharePoint Fest Denver - SharePoint 2010 Integration and Interoperability: Wh...
SharePoint Fest Denver - SharePoint 2010 Integration and Interoperability: Wh...SharePoint Fest Denver - SharePoint 2010 Integration and Interoperability: Wh...
SharePoint Fest Denver - SharePoint 2010 Integration and Interoperability: Wh...Richard Harbridge
 
SharePoint Fest Denver - SharePoint 2010 Integration and Interoperability: Wh...
SharePoint Fest Denver - SharePoint 2010 Integration and Interoperability: Wh...SharePoint Fest Denver - SharePoint 2010 Integration and Interoperability: Wh...
SharePoint Fest Denver - SharePoint 2010 Integration and Interoperability: Wh...Richard Harbridge
 
SharePoint Saturday Warsaw - Conversational AI applications in Microsoft Teams
SharePoint Saturday Warsaw - Conversational AI applications in Microsoft TeamsSharePoint Saturday Warsaw - Conversational AI applications in Microsoft Teams
SharePoint Saturday Warsaw - Conversational AI applications in Microsoft TeamsThomas Gölles
 
Build the ultimate team hub with Microsoft Teams
Build the ultimate team hub with Microsoft TeamsBuild the ultimate team hub with Microsoft Teams
Build the ultimate team hub with Microsoft TeamsMicrosoft Tech Community
 

Similar to Azure for SharePoint Developers - Workshop - Part 4: Bots (20)

Building apps for microsoft teams - aossg
Building apps for microsoft teams - aossgBuilding apps for microsoft teams - aossg
Building apps for microsoft teams - aossg
 
Microsoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AIMicrosoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AI
 
Bot & AI - A Bot for Productivity
Bot & AI - A Bot for ProductivityBot & AI - A Bot for Productivity
Bot & AI - A Bot for Productivity
 
Bots, adaptive cards, task module, message extensions in microsoft teams
Bots, adaptive cards, task module, message extensions in microsoft teamsBots, adaptive cards, task module, message extensions in microsoft teams
Bots, adaptive cards, task module, message extensions in microsoft teams
 
Introduction to UI flows - Office 365 Nashville 2020
Introduction to UI flows - Office 365 Nashville 2020Introduction to UI flows - Office 365 Nashville 2020
Introduction to UI flows - Office 365 Nashville 2020
 
Breaking Down and Understanding Office 365 - SPSJHB 2015
Breaking Down and Understanding Office 365 - SPSJHB 2015Breaking Down and Understanding Office 365 - SPSJHB 2015
Breaking Down and Understanding Office 365 - SPSJHB 2015
 
Bots, adaptive cards, task module, message extensions in microsoft teams
Bots, adaptive cards, task module, message extensions in microsoft teamsBots, adaptive cards, task module, message extensions in microsoft teams
Bots, adaptive cards, task module, message extensions in microsoft teams
 
Global office 365 developer bootcamp Slovenia 2018
Global office 365 developer bootcamp Slovenia 2018Global office 365 developer bootcamp Slovenia 2018
Global office 365 developer bootcamp Slovenia 2018
 
SharePoint Fest Chicago - SharePoint 2010 Integration and Interoperability: W...
SharePoint Fest Chicago - SharePoint 2010 Integration and Interoperability: W...SharePoint Fest Chicago - SharePoint 2010 Integration and Interoperability: W...
SharePoint Fest Chicago - SharePoint 2010 Integration and Interoperability: W...
 
Building apps for microsoft teams - aosKL
Building apps for microsoft teams - aosKL Building apps for microsoft teams - aosKL
Building apps for microsoft teams - aosKL
 
SharePoint 2010 Integration and Interoperability - SharePoint Saturday Hartford
SharePoint 2010 Integration and Interoperability - SharePoint Saturday HartfordSharePoint 2010 Integration and Interoperability - SharePoint Saturday Hartford
SharePoint 2010 Integration and Interoperability - SharePoint Saturday Hartford
 
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
 
How to Implement Conversational IVR
How to Implement Conversational  IVRHow to Implement Conversational  IVR
How to Implement Conversational IVR
 
SharePoint 2010 Integration and Interoperability: What you need to know
SharePoint 2010 Integration and Interoperability: What you need to knowSharePoint 2010 Integration and Interoperability: What you need to know
SharePoint 2010 Integration and Interoperability: What you need to know
 
#MSGraph introduction at #M365SaturdayOttawa
#MSGraph introduction at #M365SaturdayOttawa#MSGraph introduction at #M365SaturdayOttawa
#MSGraph introduction at #M365SaturdayOttawa
 
Automating your tasks with microsoft flow
Automating your tasks with microsoft flowAutomating your tasks with microsoft flow
Automating your tasks with microsoft flow
 
SharePoint Fest Denver - SharePoint 2010 Integration and Interoperability: Wh...
SharePoint Fest Denver - SharePoint 2010 Integration and Interoperability: Wh...SharePoint Fest Denver - SharePoint 2010 Integration and Interoperability: Wh...
SharePoint Fest Denver - SharePoint 2010 Integration and Interoperability: Wh...
 
SharePoint Fest Denver - SharePoint 2010 Integration and Interoperability: Wh...
SharePoint Fest Denver - SharePoint 2010 Integration and Interoperability: Wh...SharePoint Fest Denver - SharePoint 2010 Integration and Interoperability: Wh...
SharePoint Fest Denver - SharePoint 2010 Integration and Interoperability: Wh...
 
SharePoint Saturday Warsaw - Conversational AI applications in Microsoft Teams
SharePoint Saturday Warsaw - Conversational AI applications in Microsoft TeamsSharePoint Saturday Warsaw - Conversational AI applications in Microsoft Teams
SharePoint Saturday Warsaw - Conversational AI applications in Microsoft Teams
 
Build the ultimate team hub with Microsoft Teams
Build the ultimate team hub with Microsoft TeamsBuild the ultimate team hub with Microsoft Teams
Build the ultimate team hub with Microsoft Teams
 

More from Bob German

Introduction to the Microsoft Bot Framework v4
Introduction to the Microsoft Bot Framework v4Introduction to the Microsoft Bot Framework v4
Introduction to the Microsoft Bot Framework v4Bob German
 
Adaptive cards 101
Adaptive cards 101Adaptive cards 101
Adaptive cards 101Bob German
 
Introduction to Teams Development - North American Collaboration Summit
Introduction to Teams Development - North American Collaboration SummitIntroduction to Teams Development - North American Collaboration Summit
Introduction to Teams Development - North American Collaboration SummitBob German
 
Future-proof Development for Classic SharePoint
Future-proof Development for Classic SharePointFuture-proof Development for Classic SharePoint
Future-proof Development for Classic SharePointBob German
 
Azure for SharePoint Developers - Workshop - Part 2: Azure Functions
Azure for SharePoint Developers - Workshop - Part 2: Azure FunctionsAzure for SharePoint Developers - Workshop - Part 2: Azure Functions
Azure for SharePoint Developers - Workshop - Part 2: Azure FunctionsBob German
 
Mastering Azure Functions
Mastering Azure FunctionsMastering Azure Functions
Mastering Azure FunctionsBob German
 
Going with the Flow: Rationalizing the workflow options in SharePoint Online
Going with the Flow: Rationalizing the workflow options in SharePoint OnlineGoing with the Flow: Rationalizing the workflow options in SharePoint Online
Going with the Flow: Rationalizing the workflow options in SharePoint OnlineBob German
 
Modern SharePoint, the Good, the Bad, and the Ugly
Modern SharePoint, the Good, the Bad, and the UglyModern SharePoint, the Good, the Bad, and the Ugly
Modern SharePoint, the Good, the Bad, and the UglyBob German
 
Developing JavaScript Widgets
Developing JavaScript WidgetsDeveloping JavaScript Widgets
Developing JavaScript WidgetsBob German
 
Introduction to TypeScript
Introduction to TypeScriptIntroduction to TypeScript
Introduction to TypeScriptBob German
 
Developing JavaScript Widgets
Developing JavaScript WidgetsDeveloping JavaScript Widgets
Developing JavaScript WidgetsBob German
 
TypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkTypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkBob German
 
German introduction to sp framework
German   introduction to sp frameworkGerman   introduction to sp framework
German introduction to sp frameworkBob German
 
SPSNYC - Next Generation Portals
SPSNYC - Next Generation PortalsSPSNYC - Next Generation Portals
SPSNYC - Next Generation PortalsBob German
 
Typescript 102 angular and type script
Typescript 102   angular and type scriptTypescript 102   angular and type script
Typescript 102 angular and type scriptBob German
 
Typescript 101 introduction
Typescript 101   introductionTypescript 101   introduction
Typescript 101 introductionBob German
 
Search First Migration - Using SharePoint 2013 Search for SharePoint 2010
Search First Migration - Using SharePoint 2013 Search for SharePoint 2010Search First Migration - Using SharePoint 2013 Search for SharePoint 2010
Search First Migration - Using SharePoint 2013 Search for SharePoint 2010Bob German
 
Enterprise Content Management + SharePoint 2013 - SPSNH
Enterprise Content Management + SharePoint 2013 - SPSNHEnterprise Content Management + SharePoint 2013 - SPSNH
Enterprise Content Management + SharePoint 2013 - SPSNHBob German
 

More from Bob German (18)

Introduction to the Microsoft Bot Framework v4
Introduction to the Microsoft Bot Framework v4Introduction to the Microsoft Bot Framework v4
Introduction to the Microsoft Bot Framework v4
 
Adaptive cards 101
Adaptive cards 101Adaptive cards 101
Adaptive cards 101
 
Introduction to Teams Development - North American Collaboration Summit
Introduction to Teams Development - North American Collaboration SummitIntroduction to Teams Development - North American Collaboration Summit
Introduction to Teams Development - North American Collaboration Summit
 
Future-proof Development for Classic SharePoint
Future-proof Development for Classic SharePointFuture-proof Development for Classic SharePoint
Future-proof Development for Classic SharePoint
 
Azure for SharePoint Developers - Workshop - Part 2: Azure Functions
Azure for SharePoint Developers - Workshop - Part 2: Azure FunctionsAzure for SharePoint Developers - Workshop - Part 2: Azure Functions
Azure for SharePoint Developers - Workshop - Part 2: Azure Functions
 
Mastering Azure Functions
Mastering Azure FunctionsMastering Azure Functions
Mastering Azure Functions
 
Going with the Flow: Rationalizing the workflow options in SharePoint Online
Going with the Flow: Rationalizing the workflow options in SharePoint OnlineGoing with the Flow: Rationalizing the workflow options in SharePoint Online
Going with the Flow: Rationalizing the workflow options in SharePoint Online
 
Modern SharePoint, the Good, the Bad, and the Ugly
Modern SharePoint, the Good, the Bad, and the UglyModern SharePoint, the Good, the Bad, and the Ugly
Modern SharePoint, the Good, the Bad, and the Ugly
 
Developing JavaScript Widgets
Developing JavaScript WidgetsDeveloping JavaScript Widgets
Developing JavaScript Widgets
 
Introduction to TypeScript
Introduction to TypeScriptIntroduction to TypeScript
Introduction to TypeScript
 
Developing JavaScript Widgets
Developing JavaScript WidgetsDeveloping JavaScript Widgets
Developing JavaScript Widgets
 
TypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkTypeScript and SharePoint Framework
TypeScript and SharePoint Framework
 
German introduction to sp framework
German   introduction to sp frameworkGerman   introduction to sp framework
German introduction to sp framework
 
SPSNYC - Next Generation Portals
SPSNYC - Next Generation PortalsSPSNYC - Next Generation Portals
SPSNYC - Next Generation Portals
 
Typescript 102 angular and type script
Typescript 102   angular and type scriptTypescript 102   angular and type script
Typescript 102 angular and type script
 
Typescript 101 introduction
Typescript 101   introductionTypescript 101   introduction
Typescript 101 introduction
 
Search First Migration - Using SharePoint 2013 Search for SharePoint 2010
Search First Migration - Using SharePoint 2013 Search for SharePoint 2010Search First Migration - Using SharePoint 2013 Search for SharePoint 2010
Search First Migration - Using SharePoint 2013 Search for SharePoint 2010
 
Enterprise Content Management + SharePoint 2013 - SPSNH
Enterprise Content Management + SharePoint 2013 - SPSNHEnterprise Content Management + SharePoint 2013 - SPSNH
Enterprise Content Management + SharePoint 2013 - SPSNH
 

Recently uploaded

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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 Processorsdebabhi2
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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 RobisonAnna Loughnan Colquhoun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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...Martijn de Jong
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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 DevelopmentsTrustArc
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Recently uploaded (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - 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...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Azure for SharePoint Developers - Workshop - Part 4: Bots

  • 1.
  • 2. …if cloud computing was transportation
  • 3. Agenda  Bot Framework and Azure Bot Service  Activities, Messages, and Dialogs  Language Understanding with LUIS  Message Cards/Adaptive Cards  Office 365 Connectors in Teams
  • 4. Your Bot Web Service External App Web Service LUIS
  • 6. conversations and 1:1 conversations Channel conversation Access to channel data, including members Events when users added/removed from channel Messages will contain ‘at’ (@) mentions of the bot <at>MyBot</at> 1:1 conversation Access only to user – not team Event when user initiates conversation No ‘at’ mentions for the Bot
  • 7.
  • 8. User Data Saved for a user Conversation Data Saved for the whole conversation Private Conversation Data Saved for a user within just this conversation Call DeleteStateForUser() to forget users when they leave a conversation
  • 9. Teams-Bot-extensions Extensions and utilities ConnectorClient Parse activities to system events Parse activities to channel/member information Extract @mentions from text ProcessAttachments Data models Tenant Team/channel ComposeExtension Cards Tenant filtering
  • 10. 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 3rd party tool tunnels internet requests to local machine Allows inspection of request/response Free version changes the URL every use (8 hr max)
  • 11. demo
  • 12. Messages – Text formats Format From user to bot From bot to user Notes Rich text Basic markdown, no tables Pictures Maximum 1024×1024 and 1 MB in PNG, JPEG, or GIF format; animated GIF not officially supported Cards Currently supports Hero, Thumbnail, and Office 365 Connector cards Emojis Currently supports emojis via UTF-16 (such as U+1F600 for grinning face)
  • 13. Message Cards for Outlook, Teams, and more https://messagecardplayground.azurewebsites.net
  • 14.
  • 15.
  • 16. demo
  • 17. Introduction to Messaging Extensions Look up information while composing a message in channel or chat Users select entity from your extension/app Card added to message Multiple extensions can be registered for your app Entity display is customizable Initial display control Automatic rendering & submission of search You decide entities and render in cards
  • 18. demo
  • 19.
  • 20. demo
  • 21. Get videoBooking Information Agenda Information Exhibitor Information General Q&ATop Business Intents Conference Management BotBusiness Domain Make Booking Get agenda Get Booking Balance Get Booking Status Booking Refund Exhibitor. How to Apply Reset Password General Q&A None LUIS Intents Exhibitor. Levels
  • 22. Entities are optional but highly recommended Entities represent parameters or data for an intent Entities are shared across intents There are different types of entities
  • 24. Begin with 10-15 utterances per intent Collect phrases that you think users will say Use the representative language of the user Include utterances that mean the same but are constructed differently. Be mindful that utterances aren't always well formed Choose varied terminology as well as phrasing None intent should have between 10-20 % of the total utterances.
  • 26. demo

Editor's Notes

  1. WRK403 - What Every SharePoint Developer should know about Microsoft Azure While the SharePoint Framework is the new place to customize the SharePoint UI, it runs completely within the web browser, and does nothing to help with background processing or other server-side work, including situations where you need to elevate permissions beyond what the end user is allowed to do. Both sandboxed and farm solutions are off the table in SharePoint Online, leaving few SharePoint-based options for this kind of work. Fortunately, Microsoft Azure is well positioned to handle these situations and many more, and should be part of every SharePoint developer's tool set. This workshop will introduce Azure platform services including Azure Active Directory, web apps, logic apps, Azure Functions, and more. You will learn practical approaches to integrate these with SharePoint. Scenarios will include: • Surfacing line of business data in SharePoint via Azure web apps and functions • Elevating permission in a SharePoint web part • Using Azure functions as timer jobs and web services • Implementing workflows and business orchestration with Azure Logic Apps • Storing and querying large data sets (beyond 5,000 rows) in SQL Azure • Safely managing security and secrets in your Azure code with Managed Service Identities and Key Vault Attendees should have a working knowledge of C# development and familiarity with SharePoint Online. Don't miss this opportunity to upgrade your development skills for modern SharePoint!
  2. 2
  3. 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.
  4. Scorable dialog registered as Global Handler in Application_Start Prompt dialog called from other dialogs Bot Menu is not in Bot code – only manifest & Teams client
  5. Extension library accelerates development Manages connection to Bot service – facilitates updats Types to represent events Strongly-typed data models
  6. Emulator download page: https://emulator.botframework.com/
  7. Use Cbot – start below Type ngrok http 8080 and explain Start ngrok and Cbot Send some Cbot messages – “Help” and then “Card Please” Show ngrok trace http://localhost:4040 Open Bot emulator http://localhost:3978/api/messages – same queries Demo Cbot and walk through code - Messages controller - RootDialogSimple - Child dialogs Show bot registration Show manifest
  8. Use the MessageCard Playground to view samples and design your own cards CRM Opportunity is a nice example
  9. hideOriginalBody is useful if the card itself contains all the information a user would need or if the content of the card is redundant with the content of the body. Always include an HTML body as that is rendered for clients that do not support cards. Don’t use hyperlinks or markdown in the title. Can use hyperlinks or markdown in the text.
  10. hideOriginalBody is useful if the card itself contains all the information a user would need or if the content of the card is redundant with the content of the body. Always include an HTML body as that is rendered for clients that do not support cards. Don’t use hyperlinks or markdown in the title. Can use hyperlinks or markdown in the text.
  11. Use LAB bot CARDS: In Talent Management / General @TalentBot18 schedule john smith 30030 Code walk-through: - CardHelper.cs 264+ -- code to make the card; note the action body and action starting line 291 - CommandHandlers.cs 47- skip to 58-66 – code to send the card - CommandHandlers.cs 21-32 – code to receive the message action Easier to see card actions in the other demo FILES: In 1:1 chat – upload a TEXT file – Bot echoes it back Code – RootDialog.cs lines 38-51 Type “resume for katie Jordan” Receive a file – download to view – it’s in OneDrive Applications/appname/ Code – RootDialog.cs lines 115-end
  12. Use Cbot In any Trey Research channel, @CBot18 Bill 30 hours to … (pick Contoso) Notice you can add more than one and use it anywhere in chat Show manifest.json 54-75 – note the bot ID and parameters MessageController.cs 23-29 – Receive invoke call from Teams ComposeHelpers.cs 16+ - Handle the invoke call
  13. Show LUIS portal … create a model and intent from the audience … Show demo intents, entities Show RootDialogLuis.cs
  14. Run LAB BOT Show connector config page Demo in Postman Show connector portal Show manifest Show connectorconfig.html
  15. Provide data in well-defined fields. Rendering is handled by host application
  16. Provide data in well-defined fields. Rendering is handled by host application