Overview of the Teams Developer Platform Larry Jin

  • Slides: 43
Download presentation
Overview of the Teams Developer Platform Larry Jin Microsoft Teams Development Education Series

Overview of the Teams Developer Platform Larry Jin Microsoft Teams Development Education Series

 • Understand what’s possible with the Teams Platform • Learn about Teams app

• 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 Platform build experiences that people love Communicate through chat, meetings & calls

Microsoft Teams Platform build experiences that people love Communicate through chat, meetings & calls Collaborate with deeply integrated Office 365 apps Work with confidence enterprise level security, compliance, and manageability Customize & extend with 3 rd party apps, processes, and developer tools Gain context without switching context Meet your people where they are Tailor your teamwork

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Tabs Bots Surface rich content within Teams Help users get tasks done in conversations Messaging Extensions Notifications Allow users to query and share rich cards in conversations Post rich updates to channels via connectors Distribute and manage your app Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to App. Source to make available in the Teams app store Administrators Adaptive Cards Voice and video Add rich interaction to your connector cards Add rich calling and meeting automation and media Microsoft Graph Power your apps using Graph. Build intelligence and connect to data that drives productivity Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Tabs Bots Surface rich content within Teams Help users get tasks done in conversations Messaging Extensions Notifications Allow users to query and share rich cards in conversations Post rich updates to channels via connectors Distribute and manage your app Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to App. Source to make available in the Teams app store Administrators Adaptive Cards Voice and video Add rich interaction to your connector cards Add rich calling and meeting automation and media Microsoft Graph Power your apps using Graph. Build intelligence and connect to data that drives productivity Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Tabs Bots Surface rich content within Teams Help users get tasks done in conversations Messaging Extensions Notifications Allow users to query and share rich cards in conversations Post rich updates to channels via connectors Distribute and manage your app Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to App. Source to make available in the Teams app store Administrators Adaptive Cards Voice and video Add rich interaction to your connector cards Add rich calling and meeting automation and media Microsoft Graph Power your apps using Graph. Build intelligence and connect to data that drives productivity Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Tabs Bots Surface rich content within Teams Help users get tasks done in conversations Messaging Extensions Notifications Allow users to query and share rich cards in conversations Post rich updates to channels via connectors Distribute and manage your app Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to App. Source to make available in the Teams app store Administrators Adaptive Cards Voice and video Add rich interaction to your connector cards Add rich calling and meeting automation and media Microsoft Graph Power your apps using Graph. Build intelligence and connect to data that drives productivity Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Tabs Bots Surface rich content within Teams Help users get tasks done in conversations Messaging Extensions Notifications Allow users to query and share rich cards in conversations Post rich updates to channels via connectors Distribute and manage your app Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to App. Source to make available in the Teams app store Administrators Adaptive Cards Voice and video Add rich interaction to your connector cards Add rich calling and meeting automation and media Microsoft Graph Power your apps using Graph. Build intelligence and connect to data that drives productivity Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Tabs Bots Surface rich content within Teams Help users get tasks done in conversations Messaging Extensions Notifications Allow users to query and share rich cards in conversations Post rich updates to channels via connectors Distribute and manage your app Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to App. Source to make available in the Teams app store Administrators Adaptive Cards Voice and video Add rich interaction to your connector cards Add rich calling and meeting automation and media Microsoft Graph Power your apps using Graph. Build intelligence and connect to data that drives productivity Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Tabs Bots Surface rich content within Teams Help users get tasks done in conversations Messaging Extensions Notifications Allow users to query and share rich cards in conversations Post rich updates to channels via connectors Distribute and manage your app Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to App. Source to make available in the Teams app store Administrators Adaptive Cards Voice and video Add rich interaction to your connector cards Add rich calling and meeting automation and media Microsoft Graph Power your apps using Graph. Build intelligence and connect to data that drives productivity Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Tabs Bots Surface rich content within Teams Help users get tasks done in conversations Messaging Extensions Notifications Allow users to query and share rich cards in conversations Post rich updates to channels via connectors Distribute and manage your app Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to App. Source to make available in the Teams app store Administrators Adaptive Cards Voice and video Add rich interaction to your connector cards Add rich calling and meeting automation and media Microsoft Graph Power your apps using Graph. Build intelligence and connect to data that drives productivity Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Tabs Bots Surface rich content within Teams Help users get tasks done in conversations Messaging Extensions Notifications Allow users to query and share rich cards in conversations Post rich updates to channels via connectors Distribute and manage your app Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to App. Source to make available in the Teams app store Administrators Adaptive Cards Voice and video Add rich interaction to your connector cards Add rich calling and meeting automation and media Microsoft Graph Power your apps using Graph. Build intelligence and connect to data that drives productivity Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Tabs Bots Surface rich content within Teams Help users get tasks done in conversations Messaging Extensions Notifications Allow users to query and share rich cards in conversations Post rich updates to channels via connectors Distribute and manage your app Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to App. Source to make available in the Teams app store Administrators Adaptive Cards Voice and video Add rich interaction to your connector cards Add rich calling and meeting automation and media Microsoft Graph Power your apps using Graph. Build intelligence and connect to data that drives productivity Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Tabs Bots Surface rich content within Teams Help users get tasks done in conversations Messaging Extensions Notifications Allow users to query and share rich cards in conversations Post rich updates to channels via connectors Distribute and manage your app Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to App. Source to make available in the Teams app store Administrators Adaptive Cards Voice and video Add rich interaction to your connector cards Add rich calling and meeting automation and media Microsoft Graph Power your apps using Graph. Build intelligence and connect to data that drives productivity Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to

Microsoft Teams provides a powerful and extensible platform Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Tabs Bots Surface rich content within Teams Help users get tasks done in conversations Messaging Extensions Notifications Allow users to query and share rich cards in conversations Post rich updates to channels via connectors Distribute and manage your app Enterprise Developers Upload to your organization’s app catalog ISVs Partners Publish to App. Source to make available in the Teams app store Administrators Adaptive Cards Voice and video Add rich interaction to your connector cards Add rich calling and meeting automation and media Microsoft Graph Power your apps using Graph. Build intelligence and connect to data that drives productivity Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption

1 2 3 4 5

1 2 3 4 5

Departmental tools Optimize teamwork by integrating existing workflows, processes, and internal Line of Business

Departmental tools 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 Employee resources Productivity tools Approvals & workflows

Team and channel Enable public collaboration and workflows with all team members Example: share,

Team and channel Enable public collaboration and workflows with all team members Example: share, discuss, and get notified about new service incidents Chat Lightweight collaboration in 1: 1 or group setting without complex permissions Example: 1: 1 topics between manager and direct report 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 •

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

1 2 3 4 5

1 2 3 4 5

Integrate your bot service A. Natural language interaction 1: 1, channel conversations B. Structured

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 Java. Script SDK, providing common tools like authentication and team context

Available now Coming soon Java, Python on the backlog

Available now Coming soon Java, Python on the backlog

Enhance your bot experience with rich, interactive, and flexible cards Fully supported on web,

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 i. OS and Android users

Deploy SPFx solution as an app in Teams • For existing SP devs, expand

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 Share. Point Use familiar Yeoman-based tools

Initiate a workflow to surface more detailed information, media, or forms input Surface embedded

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 Connect existing investments across: Structured

Teams extensibility “cheat sheet” Converse through natural language commands Connect existing investments across: 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 Share. Point Microsoft Graph Azure Bot Service Flow & Power. Apps

Building apps 1 2 3 4 5

Building apps 1 2 3 4 5

Common automation scenarios using Graph Set up the team • • Provision the team

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 Read data, archive, and delete Create or clone team Enable ongoing collaboration Manage apps, channels, members

Integrate Microsoft Graph into your app https: //graph. microsoft. com Office 365 Windows 10

Integrate Microsoft Graph into your app https: //graph. microsoft. com Office 365 Windows 10 Enterprise Mobility + Security Users, Groups, Organizations Outlook Share. Point One. Drive Teams Planner Excel One. Note Activities Device Relay Commands Notifications Azure AD Intune Identity Manager Advanced Threat Analytics Advanced Threat Protection Mail, Calendar, Channels, Messages Identity Management Administrative Units Alerts Contacts and Tasks and Plans Access Control Applications and Devices Policies Sites and Lists Spreadsheets Synchronization Advanced Threat Analytics and more… Drives and Files Notes, and more… Domains Advanced Threat Protection

Connect into Teams-specific APIs https: //graph. microsoft. com Office 365 Users, Groups, Organizations Outlook

Connect into Teams-specific APIs https: //graph. microsoft. com Office 365 Users, Groups, Organizations Outlook Share. Point One. Drive Teams Planner Excel One. Note Teams Channels Apps Tabs Members Threads Messages Mail, Calendar, Channels, Messages Identity Management Administrative Units Alerts Contacts and Tasks and Plans Access Control Applications and Devices Policies Sites and Lists Spreadsheets Synchronization Advanced Threat Analytics and more… Drives and Files Notes, and more… Domains Advanced Threat Protection

Teams Graph APIs Resource Operations Key scenarios Team (group) POST, PUT, GET, DELETE Create,

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 https: //graph. microsoft. com/beta/teams/<team. Id>/channels/<channel. Id>/messages [. . . {

Example: querying channel messages https: //graph. microsoft. com/beta/teams/<team. Id>/channels/<channel. Id>/messages [. . . { "reply. To. Id": null, "etag": "1515949084600", "message. Type": "message", "created. Date. Time": "2018 -01 -14 T 16: 58: 04. 6 Z", "last. Modified. Date. Time": null, "deleted": false, "subject": "", "summary": null, "importance": "normal", "locale": "en-us", "id": "1515949084600", "from": { "application": null, "device": null, "user": { "id": "32983182 -d 058 -4 e 99 -8 a 6 e-6 cc 6 ffbb 5 e 7 b", "display. Name": "Emily Braun", "identity. Provider": "Aad" } }, "body": { "content. Type": "html", "content": "<div>Anyone attending the sales conference in Orlando this April? </div>" }, "attachments": [], "mentions": [], "reactions": [] } ]

Building apps 1 2 3 4 5

Building apps 1 2 3 4 5

Microsoft Graph and Communications https: //graph. microsoft. com Communications Programmable Voice & Video Control

Microsoft Graph and Communications https: //graph. microsoft. com Communications Programmable Voice & Video Control calling and integrate cognitive services Intelligent Messaging Automate and reason over conversations that drive your business Sharing & Meetings Analytics & Insights Moderate and structure collaboration activities Utilize conversation data to build compliant insights

Microsoft Graph and Communications https: //graph. microsoft. com/app/calls Communications Programmable Voice & Video Control

Microsoft Graph and Communications https: //graph. microsoft. com/app/calls Communications Programmable Voice & Video Control calling and integrate cognitive services 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 Backend service apps that: • Directly manipulate the media stream • Programmatically hook into call controls Examples: notifications, incident management Examples: customer care, IVR, recording, transcription

Programmable Voice and Video Control calling and meeting flows Flexible access to media and

Programmable Voice and Video Control calling and meeting flows Flexible access to media and intelligence Leverage Teams communications infrastructure for global reach Call Control Media Network Cognitive Services Communications Infrastructure

Programmable Voice and Video Bot API Overview https: //graph. microsoft. com/app/calls Call Control Basic

Programmable Voice and Video Bot API Overview https: //graph. microsoft. com/app/calls Call Control Basic calling Group calling and Teams Meetings Interactive Voice Response (IVR) Receive Join Play Audio Prompt Answer View Participants Capture Audio Place Add Participants Recognize DTMF Tones Transfer Mute / Unmute Audio Routes Hang up Create Meetings

Simplifying development of real-time services for Microsoft Teams Reflects the REST-ful wire protocol and

Simplifying development of real-time services for Microsoft Teams Reflects the REST-ful wire protocol and OData resource model. Perfect for building stateless bots in any programming language Build directly to the flexible async REST APIs, including webhook notifications Graph Calling Platform SDK Microsoft 1 Graph Handles State and Media Management. Perfect for getting started quickly and required realtime media stream access. 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

Building apps 1 2 3 4 5

Building apps 1 2 3 4 5

Distribute your app and reach your users Two options for app distribution: A. Teams

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

Office 365 Admin Portal The Future of Managing Apps Granular permissions management Enable and

Office 365 Admin Portal The Future of Managing Apps Granular permissions management Enable and manage user access to apps App setup policies Preinstall and pre-pin apps to drive discovery and engagement with your organization apps Control over development Lock down “side loading” of apps to specific individuals

Next steps Get started Start using Microsoft Teams today Get technical with Microsoft Teams

Next steps Get started Start using Microsoft Teams today Get technical with Microsoft Teams Development Education series Play with hands-on-labs Join the Teamwork Solution Accelerator for Partners Access resources & support Get Teams deployment & adoption support from • Fast. Track • https: //aka. ms/Success. With. Teams Resources https: //aka. ms/Teams. Developer https: //aka. ms/Teams. Dev. Support https: //aka. ms/Teams. Dev. Docs