A pplication of collaborate and game-base theory of cosmetic chemistry in the Facebook platform
Microsoft Teams Product and Technical Overview · Collaborate with Office 365 and other...
Transcript of Microsoft Teams Product and Technical Overview · Collaborate with Office 365 and other...
Dan Stevenson
Microsoft Teams Product and
Technical Overview
https://aka.ms/GetTeams
https://aka.ms/TeamsDev
6 月 14 日 8:30 – 21:30 華山 1914 文化創意園區
更多資訊請洽 4F 攤位!
https://aka.ms/TeamsHackathon
Collaborate with Office 365and other applications
提升共同作業成效
Reach users in healthcare,retail, education
Teams 可在醫療保健和零售
Communicate with chat, calls, and meetings
更有效地溝通
Stay connected with the Teamsmobile app
使用手機的APP 保持連接
Ensure strong security andcompliance
保護小組安全
Extensible platform for application development
應用程式介面
Collaborate with Office 365and other applications
提升共同作業成效
Reach users in healthcare,retail, education
Teams 可在醫療保健和零售
Communicate with chat, calls, and meetings
更有效地溝通
Stay connected with the Teamsmobile app
使用手機的APP 保持連接
Ensure strong security andcompliance
保護小組安全
Extensible platform for application development
應用程式介面
Collaborate with Office 365and other applications
提升共同作業成效
Reach users in healthcare,retail, education
Teams 可在醫療保健和零售
Communicate with chat, calls, and meetings
更有效地溝通
Stay connected with the Teamsmobile app
使用手機的APP 保持連接
Ensure strong security andcompliance
保護小組安全
Extensible platform for application development
應用程式介面
Collaborate with Office 365and other applications
提升共同作業成效
Reach users in healthcare,retail, education
Teams 可在醫療保健和零售
Communicate with chat, calls, and meetings
更有效地溝通
Stay connected with the Teamsmobile app
使用手機的APP 保持連接
Ensure strong security andcompliance
保護小組安全
Extensible platform for application development
應用程式介面
Collaborate with Office 365and other applications
提升共同作業成效
Reach users in healthcare,retail, education
Teams 可在醫療保健和零售
Communicate with chat, calls, and meetings
更有效地溝通
Stay connected with the Teamsmobile app
使用手機的APP 保持連接
Ensure strong security andcompliance
保護小組安全
Extensible platform for application development
應用程式介面
Collaborate with Office 365and other applications
提升共同作業成效
Reach users in healthcare,retail, education
Teams 可在醫療保健和零售
Communicate with chat, calls, and meetings
更有效地溝通
Stay connected with the Teamsmobile app
使用手機的APP 保持連接
Ensure strong security andcompliance
保護小組安全
Extensible platform for application development
應用程式介面
Collaborate with Office 365and other applications
提升共同作業成效
Reach users in healthcare,retail, education
Teams 可在醫療保健和零售
Communicate with chat, calls, and meetings
更有效地溝通
Stay connected with the Teamsmobile app
使用手機的APP 保持連接
Ensure strong security andcompliance
保護小組安全
Extensible platform for application development
應用程式介面
Collaborate with Office 365and other applications
提升共同作業成效
Reach users in healthcare,retail, education
Teams 可在醫療保健和零售
Communicate with chat, calls, and meetings
更有效地溝通
Stay connected with the Teamsmobile app
使用手機的APP 保持連接
Ensure strong security andcompliance
保護小組安全
Extensible platform for application development
應用程式介面
Collaborate with Office 365and other applications
提升共同作業成效
Reach users in healthcare,retail, education
Teams 可在醫療保健和零售
Communicate with chat, calls, and meetings
更有效地溝通
Stay connected with the Teamsmobile app
使用手機的APP 保持連接
Ensure strong security andcompliance
保護小組安全
Extensible platform for application development
應用程式介面
Collaborate with Office 365and other applications
提升共同作業成效
Reach users in healthcare,retail, education
Teams 可在醫療保健和零售
Communicate with chat, calls, and meetings
更有效地溝通
Stay connected with the Teamsmobile app
使用手機的APP 保持連接
Ensure strong security andcompliance
保護小組安全
Extensible platform for application development
應用程式介面
Collaborate with Office 365and other applications
提升共同作業成效
Reach users in healthcare,retail, education
Teams 可在醫療保健和零售
Communicate with chat, calls, and meetings
更有效地溝通
Stay connected with the Teamsmobile app
使用手機的APP 保持連接
Ensure strong security andcompliance
保護小組安全
Extensible platform for application development
應用程式介面
Collaborate with Office 365and other applications
提升共同作業成效
Reach users in healthcare,retail, education
Teams 可在醫療保健和零售
Communicate with chat, calls, and meetings
更有效地溝通
Stay connected with the Teamsmobile app
使用手機的APP 保持連接
Ensure strong security andcompliance
保護小組安全
Extensible platform for application development
應用程式介面
TEAMS ARCHITECTURE
▪ Designed for the cloud
▪ Agility at scale
▪ Amplify the value of Office 365
Azure
Microsoft 365 platform and
services
(Graph, AI/ML, Substrate Storage,
etc.)
Skype Infrastructure
Teams Services
Teams Clients
Web Windows Mac iPhone/iPad Android
Angular → React
Electron
Desktop Mobile
jQuery, lodash, etc. (200+ Open Source Components)
iOS Android
TypeScript, Node, SASS
Swift Java
HTML5/CSS
C++ Objective C
React Native
Teams Services
Front end servers
Identity
Auth
AAD sync
Compliance
Audit
Retention
Extensibility
Graph
Tabs
Bots
Config
Settings store
Notifications
Team Mgmt
Admin
Skype Infrastructure
Calling /Meeting
Meeting scheduler
Calling service
Transport relays
Media controller
Registrar
Call recording
Voicemail
TrouterMedia processor
Messaging
Chat
Media
Search
Personal Expression
Notification Hub
URL preview
People
Presence
Config
Experimentation
Identity
Skype Identity
Permission service
Data and analytics
Office 365
Microsoft Power BI
Platform
Exchange
Modern Groups
OneDrive for Business
SharePoint
Information Protection
Applications
OneNote
PowerApps
PowerPoint, Word, Excel
Planner
Stream
Azure
Exchange
Most recent files
Telemetry
File
s
File
s
Web
C
om
pan
ion
s
No
tes
Calendar
AAD
Firehose
Listener
MessagingSettings and O365 access
On
eNo
te
On
eDri
ve
for
bu
sin
ess
WA
C
Oth
er
Wo
rklo
ads
SERVICES
Key
Microsoft Teams
Skype services
Azure and O365
Notification Hub
Connectors
Chat & Presence
Extensibility
Calling / Meeting
Audio / video
Search
Experimentation
MRU Teams
services
Service
Exchange + Exchange
Online Protection
Desktop iOS
App
Android
AppElectronCLIENTS Web
Shar
ePo
int
PSTNBOTS
Stream Recording
Microsoft
Graph API
Chat service
In memory processing for speed
Leverages Azure storage (blob, tables, queues)
Substrate / Exchange
Chat and channel messages are also stored in Exchange for information protection
Conversation images & media
Inline Images/Stickers are stored in a media store; Giphys are not stored.
Where are conversations stored?
1:N chats
Files are uploaded to OneDrive for Business and permissions are set for the members of the chat
Team conversations
Files are uploaded to SharePoint. A folder is associated with each channel in the team
Cloud storage
Dropbox, Box, Citrix ShareFile, Google Drive
Where are files stored?
IowaSan
Francisco
Dublin
Regions for Teams Chat/Media
Hong Kong
Singapore
Amsterdam
AMERICAS EMEA APAC
181 countries | 40 languagesHebrew and Arabic RTL languages now supported
UK
India
Virginia
Australia
Regional Datacenters
GCC (US Gov) Datacenter
In-Country Datacenters
Canada
Japan
One identity across Office 365Azure Active Directory (AAD) is the master for Teams identity and membership across Office 365, including Teams, SharePoint, Apps, etc.
Federated resourcesOffice 365 services extend with their data(e.g., conversations stored in Teams chat service & documents stored in SPO & OneDrive)
Change notificationLoose coupling services notify each other of changes to a team, such as creation, deletion, and updates
Achieve reliability if they miss notifications with sync from AAD to Teams, Exchange Online AD and SharePoint Online
Guest Users added
directly via AAD
O365 Groups
Azure AD
IdentityResource URLs
OwnersMembers
Guest Users added by
team owners in Teams
Microsoft Teams guest access architecture
Allow teams in your organization to collaborate with people outside your organization
Guest
Guest
Data flows in and out of the compliance boundary
User Browser,Desktop,
Mobile
compliance boundary
Microsoft Teams
Guest user
Anonymous join to a meeting
Federation communication
Email a channel
Connectors
Apps/Bots
Tabs
Calling Plan (PSTN)
Push Notifications (Mobile)
Files Cloud storage (3rd party)
Graph API
Giphy
2-way communication Inbound data Outbound data
Data posted to a channel
Data posted to a channel
Query to Giphy
Push notifications to Apple or Google to notify mobile client
Optional Box, Dropbox, Google drive, Citrix Fileshare
Any third-party tab is hosted outside the compliance boundary
Any third-party app/bot or line of business app is hosted outside the compliance boundaryGraph APIs can be exposed to line of
business apps or 3rd party apps
Enables inbound/outbound calling outside the organization
Standard Teams user
Guest added via AAD B2B
Anonymous user joining a meeting
Communication between multiple tenants
Key
URL Preview Get a preview of a URL that is posted to a message
PrivacySecurity
Security by design
• Data Encryption at rest and in transit
• Dedicated security professionals
• Threat models, Security Reviews, Automated
Security Tools
• Penetration testing with regular rotation of
3rd party penetration testers
• All keys stored in Azure Key Vault
• Admin: Screening, training, access control
• Host: Access control, anti-malware, patch
management, AAD Modern Authentication
• Network: Firewalls, edge routers
• Facility: Physical controls, video surveillance,
access control
• Bug Bounty Program (We pay friends, hackers
and researchers to find security bugs)
Privacy by design
• Data stored in-region based on tenant affinity
• No customer content accessible in logs or
telemetry
• Grant least privilege required to complete
task
• Dedicated Privacy professionals
• Adhere to Office 365 data classification and
data handling standards
• Access to Production environments is locked
down
• General Data Protection Regulation (GDPR)
compliant
Security and Privacy
Environments
Compliance Tiers
http://aka.ms/STP is where you can download
the audit reports
https://aka.ms/MicrosoftComplianceStandards
for Microsoft Compliance Standards Download
More than 950 Office 365 controls
• Access control
• Auditing and logging
• Identification and authorization
• Awareness and training
• Continuity planning
• Incident response
• Risk assessment
• Communication protection
• Information integrity
• Deployment Approvals and management
Ongoing compliance processes
• Recurring audits like SOC, FEDRAMP, ISO+
independent verification
Controls
How Teams Enables Information Protection
Chat
service
Microsoft
Teams
O365 Information
Protection tools
▪ eDiscovery
▪ Legal Hold
▪ Compliance content
search
▪ Archive
▪ Retention
▪ Audit Logs
▪ 1:1 chats
▪ Group chats
▪ Channel messages
▪ SharePoint Files
▪ OneNote/Wiki
▪ OneDrive for Business
O365
substrate
OVERVIEW OF THE TEAMS
DEVELOPER PLATFORM
• Understand what’s possible with
the Teams Platform
• Learn about Teams app
capabilities
• See an end-to-end example
bringing together bots, tabs,
Graph, and other capabilities
• Get started with building a Teams
app to drive digital
transformation
• Check out documentation and
Getting Started guides
Microsoft Teams Platformbuild experiences that people love
Communicatethrough chat, meetings & calls
Collaboratewith deeply integrated Office 365 apps
Customize & extendwith 3rd party apps, processes, and
developer tools
Work with confidenceenterprise level security, compliance,
and manageability
Gain context
without switching
context
Meet your
people where
they are
Tailor your
teamwork
Tabs
Surface rich content within
Teams
Microsoft Teams provides a powerful and extensible platform
Distribute and manage your app
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
Notifications
Post rich updates to channels
via connectors
Enterprise Developers
Upload to your organization’s app
catalog
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
Tabs
Surface rich content within
Teams
Microsoft Teams provides a powerful and extensible platform
Distribute and manage your app
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
Notifications
Post rich updates to channels
via connectors
Enterprise Developers
Upload to your organization’s app
catalog
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
Tabs
Surface rich content within
Teams
Microsoft Teams provides a powerful and extensible platform
Distribute and manage your app
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
Notifications
Post rich updates to channels
via connectors
Enterprise Developers
Upload to your organization’s app
catalog
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
Tabs
Surface rich content within
Teams
Microsoft Teams provides a powerful and extensible platform
Distribute and manage your app
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
Notifications
Post rich updates to channels
via connectors
Enterprise Developers
Upload to your organization’s app
catalog
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
Tabs
Surface rich content within
Teams
Microsoft Teams provides a powerful and extensible platform
Distribute and manage your app
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
Notifications
Post rich updates to channels
via connectors
Enterprise Developers
Upload to your organization’s app
catalog
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
Tabs
Surface rich content within
Teams
Microsoft Teams provides a powerful and extensible platform
Distribute and manage your app
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
Notifications
Post rich updates to channels
via connectors
Enterprise Developers
Upload to your organization’s app
catalog
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
Tabs
Surface rich content within
Teams
Microsoft Teams provides a powerful and extensible platform
Distribute and manage your app
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
Notifications
Post rich updates to channels
via connectors
Enterprise Developers
Upload to your organization’s app
catalog
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
Tabs
Surface rich content within
Teams
Microsoft Teams provides a powerful and extensible platform
Distribute and manage your app
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
Notifications
Post rich updates to channels
via connectors
Enterprise Developers
Upload to your organization’s app
catalog
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
Tabs
Surface rich content within
Teams
Microsoft Teams provides a powerful and extensible platform
Distribute and manage your app
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
Notifications
Post rich updates to channels
via connectors
Enterprise Developers
Upload to your organization’s app
catalog
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
Tabs
Surface rich content within
Teams
Microsoft Teams provides a powerful and extensible platform
Distribute and manage your app
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
Notifications
Post rich updates to channels
via connectors
Enterprise Developers
Upload to your organization’s app
catalog
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
Tabs
Surface rich content within
Teams
Microsoft Teams provides a powerful and extensible platform
Distribute and manage your app
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
Notifications
Post rich updates to channels
via connectors
Enterprise Developers
Upload to your organization’s app
catalog
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
Tabs
Surface rich content within
Teams
Microsoft Teams provides a powerful and extensible platform
Distribute and manage your app
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
Notifications
Post rich updates to channels
via connectors
Enterprise Developers
Upload to your organization’s app
catalog
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
Building apps
1
2
3
4
5
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
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
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 integrated bot credential and settings management
Building apps
1
2
3
4
5
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
Bot Builder v4 SDK (Preview)
Announcing: new Teams SDK extensions supporting Bot Builder v4Adds Teams-specific helpers and extensions to basic classes, methodsBenefits of Bot Builder v4✓Simpler dialog and state management✓Modular design to make it easier to integrate other services✓Support for additional languages: Python, Java
Available now Coming soon Java, Python on the backlog
Interact via Adaptive Cards in Teams on any device
Enhance your bot experience with rich, interactive, and flexible cards
Fully supported on web, desktop, and mobile
Enable quick interactions and task completion on the go for iOS and Android users
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
Initiate a workflow to surface more detailed information, media, or forms input
Surface embedded web content (via Teams JS SDK) or Adaptive card
Trigger from card, tab, or messaging extension command
Teams extensibility “cheat sheet”
Converse through natural language commands
Structured UI-based invocation of bot commands
Present a full embedded experience with content
that users can collaborate around
Simple incoming webhook integration for sending
notifications into channels
Rich flexible layouts with interactive content
Collect user input or render details
Connect existing
investments across:
• SharePoint
• Microsoft Graph
• Azure Bot Service
• Flow & PowerApps
Building apps
1
2
3
4
5
Common automation scenarios using Graph
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
Integrate Microsoft Graph into your app
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
Connect into Teams-specific APIs
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
Channels Members
Apps
Teams
Threads Messages
Tabs
https://graph.microsoft.com
Teams Graph APIs
Resource Operations Key scenarios
Team (group) POST, PUT, GET, DELETE Create, update, delete teams
Query all teams for a user
List, clone, archive/unarchive
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
Resource Operations Key scenarios
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
Example: querying channel messages
[ ...{
"replyToId": null,"etag": "1515949084600","messageType": "message","createdDateTime": "2018-01-14T16:58:04.6Z","lastModifiedDateTime": null,"deleted": false,"subject": "","summary": null,"importance": "normal","locale": "en-us","id": "1515949084600","from": {
"application": null,"device": null,"user": {
"id": "32983182-d058-4e99-8a6e-6cc6ffbb5e7b","displayName": "Emily Braun","identityProvider": "Aad"
}},"body": {
"contentType": "html","content": "<div>Anyone attending the sales conference in Orlando this April?</div>"
},"attachments": [],"mentions": [],"reactions": []
}]
https://graph.microsoft.com/beta/teams/<teamId>/channels/<channelId>/messages
Building apps
1
2
3
4
5
Programmable
Voice & VideoIntelligent
MessagingSharing &
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
Programmable
Voice & Video
Control calling
and integrate
cognitive services
Communications
Microsoft Graph and Communications
https://graph.microsoft.com/app/calls
Calling Bots Cloud Services
Extend messaging bots to:
• Place calls to users
• Receive calls
• Play media (remote or
local)
• Join a meeting and invite
participants
Examples: notifications,
incident management
Backend service apps that:
• Directly manipulate the
media stream
• Programmatically hook
into call controls
Examples: customer care,
IVR, recording, transcription
Programmable Voice and Video
Communications Infrastructure
Call Control Media
NetworkCognitive Services
Control calling and meeting flows
Flexible access to media and
intelligence
Leverage Teams communications
infrastructure for global reach
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
Simplifying development of real-time services for Microsoft Teams
1Microsoft Graph
Graph Calling Platform SDKHandles State and Media Management. Perfect for getting started quickly and required real-time media stream access.
Reflects the REST-ful wire protocol and OData resource model. Perfect for building stateless bots in any programming language
For Direct Media: Provides a simple "socket"-like API for the bot to send and receive media, and handles the real-time encoding and decoding of media
Build directly to the flexible async REST APIs, including webhook notifications
Building apps
1
2
3
4
5
Distribute your app and reach your users
Two options for app distribution:
A. Teams app store for public distribution.
Submit your app package through
Microsoft Seller Dashboard (soon via
Partner Center)
B. Tenant app catalog for distributing only
to users within your organization.
Upload from within Teams or via APIs
The Future of Managing Apps
Office 365 Admin Portal
Granular permissions managementEnable and manage user access to apps
App setup policiesPreinstall and pre-pin apps to drive discovery
and engagement with your organization
apps
Control over developmentLock down “side loading” of apps to specific
individuals