Microsoft Teams is the hub for team collaboration which integrates people and tools to improve productivity within your organization. From chat-based collaboration to web conferences, it brings effectivity within your business to the next level.
Customizing your Microsoft Teams workspace is possible thanks to the developer platform, which allows you to extend the capabilities of the product and roll your own custom applications into your organization. Furthermore, these solutions can be distributed publicly to other enterprises, either for free or monetized, via AppSource, the Microsoft ecosystem for app publication.
Let's learn the process around implementing your own .NET apps and bringing them to Microsoft Teams to engage your organization and improve collaboration. A bot that understands users' conversations and brings information from a database will be showcased as part of the demo.
Technologies involved:
* Microsoft Teams
* Bot Framework
* Azure SQL
* LUIS + Cognitive Services
* Visual Studio 2019
1. MICROSOFT365
VirtualMARATHON
May27 &28, 2020
36 hours/ 2 days
MICROSOFT 365 VIRTUAL MARATHON
DEVELOPING .NET APPS FOR MICROSOFT TEAMS
Luis Beltrán
Microsoft MVP
@darkicebeam
Broughttoyouby:
TheGlobalMicrosoftCommunity&
M365Conf.com|#M365CONF
#M365VM
M365VirtualMarathon.com
2. MICROSOFT365
VirtualMARATHON
May27 &28, 2020
36 hours/ 2 days
MarkYourCalendars:
March 23-25, 2021, MGM Grand Resort
Las Vegas, Nevada, USA
M365Conf.com
#M365CONF
TheSharePointConferenceisnowTheMicrosoft365CollaborationConference
#M365VM
M365VirtualMarathon.com
Broughttoyouby:
TheGlobalMicrosoftCommunity&
M365Conf.com|#M365CONF
4. § I´m Mexican, currently living in Czech Republic.
§ I´m a researcher and student at Tomas Bata University in Zlín
§ I´m a Microsoft MVP in AI and Developer Technologies.
§ I enjoy developing mobile apps, working with cloud technology and implementing AI-
driven solutions
LET ME INTRODUCE MYSELF…
Broughttoyouby:
TheGlobalMicrosoftCommunity&
M365Conf.com|#M365CONF
#M365VM
M365VirtualMarathon.com
Luis Beltrán
luis@luisbeltran.mx
5. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Microsoft Teams Platform
Communicate
through chat, meetings & calls
Collaborate
with deeply integrated Office 365 apps
Customize&extend
with 3rd party apps, processes, and
developer tools
Workwithconfidence
enterprise level security, compliance, and
manageability
Gain context
without switching
context
Meet your people
where they are
Tailor your
teamwork
build experiences that people love
6. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Make teamwork more productive with Teams Apps
HUB EXPERIENCE Enable teams to make decisions, take action, and
complete tasks faster
Task completion using Teams on all devices
Foster collaboration on external content
ISVs Partner solutions Enterprise developers
7. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Notifications
Post rich updates to channels via
connectors
Tabs
Surface rich content within Teams
Microsoft Teams provides a powerful and extensible platform
Distribute and manage your app
Enterprise Developers
Upload to your organization’s app catalog
Bots
Help users get tasks done in
conversations
Voice and video
Add rich calling and meeting
automation and media
Messaging Extensions
Allow users to query and share
rich cards in conversations
Power your apps using Graph. Build intelligence and connect to data that drives
productivity
Microsoft Graph
Adaptive Cards
Add rich interaction to your
connector cards
ISVs Partners
Publish to AppSource to make available in
the Teams app store
Build apps using rich capabilities to empower your users in chat, channels, and
personal workspace
Administrators
Assign policy for apps over end users.
Preinstall and pre-pin apps to drive
adoption
8. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Building Apps
1
2
3
4
5
built-in bot management
easy side loading
add existing SharePoint web part
rich forms via Task Module
messaging APIs
client deep links
calling and meeting Graph APIs
flexible policies for managing app
availability
9. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Decide on a use case
Optimize teamwork by integrating
existing workflows, processes, and
internal Line of Business apps
Introduce new experiences directly for
the Teams hub and take advantage of
its rich canvas
Departmental tools
Productivity tools
Employee resources
Approvals & workflows
10. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Teams apps in various contexts
Chat
Lightweight collaboration in 1:1 or group setting without complex permissions
Example: 1:1 topics between manager and direct report
Team and channel
Enable public collaboration and workflows with all team members
Example: share, discuss, and get notified about new service incidents
Personal
User-centric view, showing aggregate content along with private bot chat
Example: list of all tasks assigned to me
Custom-tailor your app’s
functionality depending on
which of these contexts
you will support
11. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Office
Graph
Bot Framework
Azure Bot
Service
Type Speak
Tap
User
Input
Adaptive
Cards
Devices
Cognitive Services
Your Assistant
Your Brand
Your Personality
Language
Understanding
Speech
VisionQnAMaker
Dispatch
Knowledge
Sources
Manuals
(PDF)
Data Sources
General
Knowledge
Points of
Interest
Mail
AutomotiveCustom
Other
Bots
Skills (Customizable)
APIs
Directory
Tasks Calendar
Channels
CCI/Dynamics
+
12. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Bot Framework SDK
§ SDK optimized for Teams
§ Fully integrated support for building Teams bots and taking
advantage of Teams specific message and channel capabilities. More
easily add bot to Teams channel and group chats.
§ Bot Framework Skills
§ Create reusable conversational skills, with prebuilt language models,
QnA to add functionality to your bots. Benefit from a catalog of skills
in GitHub, like Calendar, Email, Point of Interest & more.
§ Adaptive Dialogs
§ Build conversations that can dynamically change based on context
and events. Designed to to handle context changes and
interruptions.
§ Additionally, support for Language Generation, so your bot can
generate sophisticated and dynamic responses based on context.
§ Support for Python, Java in Preview
§ Develop in your preferred language
https://github.com/microsoft/botframework-sdk
13. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Bot Framework SDK
14. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Bot Emulator https://github.com/Microsoft/BotFramework-Emulator
§ A desktop application for testing and debugging
bots, either locally or remotely.
§ Using the emulator, you can chat with your bot
and inspect the messages that it sends/receives.
§ The emulator displays messages as they would
appear in a web chat UI and logs JSON requests
& responses as you exchange messages with
your bot.
§ Before you deploy your bot to the cloud, run it
locally and test it using the emulator.
§ You can test your bot using the emulator even if
you have not yet published it with Azure Bot
Service or configured it to run on any channels.
15. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Bot Emulator
16. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Language Understanding Intelligent Service (LUIS)
The most comprehensive cloud-based
service for text understanding, and the
simplest to use for developers with no AI
expertise
17. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Language Understanding Intelligent Service (LUIS)
Task-basedscenario
When does flight 234 from
Chicago to London depart?
User query
Intent & entity
detection
Flight 234 leaves Chicago airport
at 7.00 PM local time
Departure time from flight API
18. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Azure Web App Bot
19. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Web App Bot in Azure
§ Deploy your bot to popular channels:
20. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Life cycle of a conversational bot
Design Build Test Publish Connect Evaluate
Design and build a
great conversational
agent using Bot
Framework services
and SDKs. Use out-of-
box templates to
bootstrap
Give your bot
intelligence using
Cognitive
Services. Add Like
LUIS, QnA Maker,
Speech
Train and test
your models
and then test
and debug your
bot using the
Bot Emulator
tool.
Deploy your
web service
with Azure Web
App Bot (PaaS)
infrastructure.
Engage your audience
wherever they are by
connecting to Bot
Service channels like
Messenger, Teams,
Alexa..
Analyze customer
behavior using
Application Insights
and Active Learning
21. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Get Started using App Studio
Tools to help you build your app
• Create and save app projects
• Preview and generate code for cards
• Web UI control library
• One-click side loading
fully built-in bot credential and settings
management
22. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Building apps
1
2
3
4
5
built-in bot management
easy side loading
add existing SharePoint web part
rich forms via Task Module
messaging APIs
client deep links
calling and meeting Graph APIs
flexible policies for managing app
availability
23. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Connect your service
Integrate your bot service
A. Natural language interaction 1:1, channel
conversations
B. Structured UI-based interaction with messaging,
command bar extensions
Integrate existing web content via a tab
• Host your app’s experience directly within Teams
• Integrate via JavaScript SDK, providing common tools
like authentication and team context
24. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Interact via Adaptive Cards in Teams on any device
Rich Adaptive card experience fully
supported on web, desktop, and mobile
Enable quick interactions and task
completion on the go for iOS and Android
users
25. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Use SharePoint Framework for building Teams tabs
Deploy SPFx solution as an app in
Teams
• For existing SP devs, expand the reach of your
existing SPFx solution
• For Teams devs, you can host your code in
SharePoint
Use familiar Yeoman-based tools
26. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Building apps
1
2
3
4
5
built-in bot management
easy side loading
add existing SharePoint web part
rich forms via Task Module
messaging APIs
client deep links
calling and meeting Graph APIs
flexible policies for managing app
availability
27. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Automate teamwork with Microsoft Graph
Users, Groups, Organizations
Outlook
SharePoint
OneDrive
Teams
Planner
Excel
OneNote
Activities
Device Relay
Commands
Notifications
Azure AD
Intune
Identity Manager
Advanced Threat Analytics
Advanced Threat Protection
Mail, Calendar,
Contacts and Tasks
Sites and Lists
Drives and Files
Channels, Messages
Tasks and Plans
Spreadsheets
Notes, and more…
Identity Management
Access Control
Synchronization
Domains
Administrative Units
Applications and Devices
Advanced Threat Analytics
Advanced Threat Protection
Alerts
Policies
and more…
Office 365 Windows 10 Enterprise Mobility + Security
https://graph.microsoft.com
28. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Automate teamwork with Microsoft Graph
Users, Groups, Organizations
Outlook
SharePoint
OneDrive
Teams
Planner
Excel
OneNote
Mail, Calendar,
Contacts and Tasks
Sites and Lists
Drives and Files
Channels, Messages
Tasks and Plans
Spreadsheets
Notes, and more…
Identity Management
Access Control
Synchronization
Domains
Administrative Units
Applications and Devices
Advanced Threat Analytics
Advanced Threat Protection
Alerts
Policies
and more…
Office 365
https://graph.microsoft.com
Channels Members
Apps
Teams
Threads Messages
Tabs
29. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Common end-to-end scenario
§ Set up the team
• Provision the team and set basic properties
• Create channels
• Add members
• Install LOB apps and configure tabs
§ Ongoing collaboration
• Manage team members and permissions
• Manage channels
§ Once everything is done
• Read channel messages, files
• Mark team as Archived
Create or
clone team
Manage apps,
channels,
members
Enable
ongoing
collaboration
Read data,
archive, and
delete
30. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Teams Graph APIs
Resource Operations Key scenarios
Team (group) POST, PUT, GET, DELETE Create, update, delete teams
Query all teams for a user
Member POST, PUT, GET, DELETE Add, remove team members
Query all team members
Channel POST, PUT, GET, DELETE Create, update, delete channels
Query all channels in a team
Message POST Post a channel message on behalf of a user
App POST, PUT, GET, DELETE Manage tenant app catalog
Add, remove apps in a team
Tab POST, PUT, GET, DELETE Add, remove tabs in a channel
Message GET Read all messages in a channel
31. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Building apps
1
2
3
4
5
built-in bot management
easy side loading
add existing SharePoint web part
rich forms via Task Module
messaging APIs
client deep links
flexible policies for managing app
availability
32. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Programmable
Voice & Video
Intelligent
Messaging
Sharing &
Meetings
Analytics &
Insights
Control calling and
integrate cognitive
services
Automate and reason
over conversations that
drive your business
Moderate and structure
collaboration activities
Utilize conversation
data to build
compliant insights
Communications
Microsoft Graph and Communications
https://graph.microsoft.com
33. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Programmable
Voice & Video
Control calling and
integrate cognitive
services
Communications
Microsoft Graph and Communications
https://graph.microsoft.com/app/calls
Bots Cloud Services
Enhance your Teams Bots
with calling, video, and
sharing
Build backend apps for
Calls and Meetings in
Microsoft Teams
34. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Programmable Voice and Video
Communications Infrastructure
Call Control Media
Network
Cognitive
Services
Control calling and meeting flows
Flexible access to media and intelligence
Leverage Teams communications
infrastructure for global reach
35. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Group calling and
Teams Meetings
Basic calling
Call Control
Programmable Voice and Video Bot API Overview
Interactive Voice Response (IVR)
Receive
Answer
Play Audio Prompt
Capture Audio
Recognize DTMF Tones
Audio Routes
Place
Transfer
Hang up
View Participants
Join
Add Participants
Mute / Unmute
Create Meetings
https://graph.microsoft.com/app/calls
36. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Building apps
1
2
3
4
5
built-in bot management
easy side loading
add existing SharePoint web part
rich forms via Task Module
messaging APIs
client deep links
calling and meeting Graph APIs
flexible policies for managing app
availability
37. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Distribute your app and reach your users
Two options for app distribution:
• Teams app store for public distribution.
Submit your app package through
Microsoft Seller Dashboard
• Tenant app catalog for distributing only to
users within your organization. Upload
from within Teams or via APIs
38. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Office365AdminPortal
Granularpermissionsmanagement
Enable and manage user access to apps
AppAnalytics
Gain insight into engagement of organizational
apps and audit usage of external apps
Appsetuppolicies
Preinstall and pre-pin apps to drive discovery
and engagement with your organization apps
Controloverdevelopment
Lock down “side loading” of apps to specific
individuals
39. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Demo
Azure SQL
database
Web API
Web App BotLUIS Model
Azure App
Service
Microsoft
Teams
40. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
Teams Dev Center
•Get started building great apps, bots & tabs
for Microsoft Teams
•Training and tutorials
•Use our resources to get up to speed quickly
Developer Support
•Announcements and program information
•Stay up to date on best practices and
network with peers
Success with Teams Developer
Guidance
•Learn how to plan, deliver, adopt and manage
Microsoft Teams
•Includes Skype for Business to Teams
transition guidance
https://aka.ms/TeamsDeveloper
Microsoft Teams Resource Cheat Sheet
https://aka.ms/TeamsDevSupport https://aka.ms/TeamsDevDocs
41. May 27 & 28, 2020
Luis Beltrán | EN
#M365VM
https://aka.ms/O365Roadmap
Microsoft Teams Resource Cheat Sheet
https://aka.ms/TeamsCommunity https://aka.ms/SuccessWithTeams https://aka.ms/CoffeeintheCloud
Coffee in the Cloud on
YouTube
• Short how-to videos for IT
Pro’s and Champions
• Long form end user &
administrator training
Success with Teams
Practical Guidance
• Learn how to plan, deliver,
adopt and manage Microsoft
Teams
• Skype for Business to Teams
transition guidance
Microsoft Technical
Community
• Product forums and blogs
• Driving Adoption forum
• O365 Champion’s Corner
Office 365 Roadmap
• All public feature delivery
dates
• Filter by product
Sign Up
42. § Visit the Vendors Booth, Sessions and Watch the Videos
§ Submit Your Answers to Enter the Raffle
§ You need at least 5 correct answers then submit for a chance to win one of 3
(One in each Americas, APAC, EMEA)
ARE YOU READY FOR A RAFFLE?
WE ARE GIVING AWAY 3 OCULUS QUEST ALL IN ONE!
https://bit.ly/m365raffle
44. MICROSOFT365
VirtualMARATHON
May27 &28, 2020
36 hours/ 2 days
THANK YOU FOR JOINING US!
DO YOU HAVE ANY QUESTIONS?
Speaker feedback
https://bit.ly/M365VMSpeakerFeedback
Event feedback
https://bit.ly/M365VMFeedback
LuisBeltrán
luis@luisbeltran.mx
@darkicebeam
/luisantoniobeltran
icebeam7
luisbeltran.mx