An app in Teams consists one or more of the following capabilities:
Tabs – allow you to display rich interactive web content Bots - connect intelligent bots to interact with Microsoft Teams users naturally through chat and/or programable voice Connectors - push your app's rich content into Microsoft Teams Messaging extensions - query for information from your service and post that information right into the channel conversation Activity feed integrations - the user's single inbox for all activity across Teams.
With recent updates to MS Graph, you can now enhance Calls and online Meetings scenarios with bots and access your O365 data in the Microsoft Cloud.
Why introduce a new Toolchain for SP? SharePoint has moved from ASP.net to Front End Development. Rapid Web Development. Taking SharePoint to where the developers are. Standardizing and managing the way developers were already customizing SharePoint (jslink, script editor webpart, script injection). Reducing SharePoint proprietary components and the corresponding friction. Bringing modern Web Tech to classic SharePoint Sites & Pages. Allow customization on new SharePoint experiences
Using the MS Teams developer platform, you can create two classes of apps:
- Apps that any organization using Office 365 can access via the Teams Store.
- Apps that you publish to your tenant’s Teams App Catalog that’s only available to your organization. These are also known as line-of-business apps (LoB)
The key concepts and guidance for developers are applicable to both classes of apps
Let’s add a tab
Adding the Contoso App to a Teams channel
Teams Scope - your experience exists in the team context - Teams Tabs (“Configurable”) – added and customized on a per-channel basis
Contoso Tab available for the Northwind Traders team, in the Development channel
MS Teams is a collaboration platform – you can invoke the chat canvas to collaborate with your team from within the Tab
Channel members will get notified about a Tab conversation that has begun, and they can join the conversation right there, or click the title to be taken directly to the Tab conversation.
Personal Scope – your experience exists in an individual user context - Personal Tabs (“Static”) – available to end users via the App bar or alongside 1:1 bots
Bots – Build using the Bot Framework to bring intelligent into your app and service Use the .NET and Node.js SDKs, or call the REST endpoints let team users interact with your bot
Bots are available in a 1:1 chat (personal scope) where you can interact with your Bot using natural language chat, to complete a task
And now, with the introduction of MS Graph Calling and online Meeting APIs, we added more bot capabilities:
Basic Call functions- Receive a call - Answer a call - Transfer a call - Hangup a call Online Meeting - Add/remove/Mute participants - Join ad-hoc meeting IVR Scenarios - Play a prompt - Detect DTMF
And of course, you can engage a bot in a team scope, to share with all your channel members
Again, as part of the collaborative nature of Teams, team members can reply directly on a bot chat discussion as you can see here
The activity feed in Microsoft Teams is the user's single inbox for all activity across Teams. The feed aggregates important content from the following: Teams/channels Chats Apps
Activity feed notification leverages your existing integration with the Bot Framework APIs. You can flag specific messages to generate notifications which appear in the activity feed to create a higher level of engagement for your users
Office 365 Connectors are a great way to push your app's rich content into Microsoft Teams.
With Microsoft Teams apps, you can add your existing Office 365 Connector or build a new one to include in Microsoft Teams.
Adding a connector is simple. Click on Channel more options, to add a connector
Apps installed for your team that have the Connector capability will show here. Click Set up to configure the Connector for your channel.
A customizable card that can contain any combination of text, speech, images, buttons, and input fields.
Cards are supported by bots and messaging extensions in Teams as well as by O365 Connectors.
Cards can be updated in real-time to show dynamic data
Messaging extensions are a powerful new way for users to engage with your app within Microsoft Teams. With this capability, users can query for information from your service and post that information, in the form of cards, right into the channel conversation
Last but not least, your app can integrate with the Command Box
Wherever you go in Teams, the command box is there at the top of the screen.
Users can quickly send commands to any of their installed apps right from the box, enabling them to query and pull content from your app without stepping away from what they're doing.
Thrive 2018 - Microsoft Teams a developer's perspective
Microsoft Teams - a developer's
Team Lead Modern Workplace @Solvion
Microsoft Teams Platform
Build an app using tabs, bots, connectors and other rich capabilities
through chat, meetings & calls
with deeply integrated Office 365 apps
with 3rd party apps, processes, and devices
Work with confidence
enterprise level security, compliance,
DEVICE, AND SERVICE
HUB EXPERIENCE Enable your teams to make decisions and
take action faster
Reduce context switching on important tasks
Create opportunities for collaboration
around external content
Teams is the fastest growing business app in Microsoft history
Teams users span
across the globe
Teams is available
in 44 languages
of Skype for Business
are using Teams
60 customers with
200+ Teams apps
Voice + Video MS Graph
How to create a Teams App
Integrate with Teams
Bot Builder SDK - Node.js & C#
Package and deploy
Host web pages and services
Create and package manifest
A quick note on tools…
Resources Start exploring
Teams App Studio Node.js
capabilities of the Teams extensible
Microsoft Graph API
Get started developing
Teams Developer Documentation
Teams Sample Code
Leverage Teams DnA experts
• Thomas Gölles
• Microsoft MVP (O365)
Head of Modern Workplace Solutions
• Stephan Bisser
• Microsoft MVP (AI)