Developing integrations for Microsoft Teams
Blog|by Mary Branscombe|29 May 2020
Microsoft Teams has become a significant component in the company’s Microsoft 365 strategy. Wrapping chat, video, audio, and applications in a single tool, it’s intended to be a place where people work, collaborating and handling quick actions. To deliver on that promise it needs to be connected to more than a Teams server in your Microsoft 365 tenant, acting as a user interface to the apps and tools that matter to users.
The idea is simple. Teams offers a tabbed view that can wrap web applications, like SharePoint, as well as collaborative documents. Need to work on documentation for an application? Open the document in Teams, invite collaborators and work on it together, chatting in Teams’ chat view and launching ad hoc voice and video chat as necessary. An online store makes it easy to add new applications to Teams and to publish your own code so that others can use it.
Microsoft Teams and the Power Platform
Model-driven Power Apps
One key new feature is integration with the Power Platform. You can use model-driven Power Apps apps inside your Teams workspaces, allowing you to quickly build and integrate line-of-business data into workflows. This approach will allow you to increase support for first-line workers who will be using Teams as their main front end for business processes, for example allowing quick queries of stock levels or logistics.
Model-driven applications are built on top of the Common Data Service, working with existing data models. It’s a more restrictive approach to app development, with the layout determined by the components and their connections to back-end services, but it does ensure that you’ll be writing much less code. There’s another advantage for integrations with Teams, with its focus on work, in that model-driven Power Apps are driven by business processes, so users will find them fitting in with their day-to-day tasks and responsibilities.
It’s important to note that model-driven apps build on entity-relationship models, with UI components that map directly to those two concepts. Working with them is more like building an Access application or a Salesforce Lightning app than building a traditional Windows application. Teams apps built using these techniques need to be focused on specific tasks, rather than more general-purpose code that allows users to explore data.
Using Power Apps in Teams
To get the most from Power Apps you need a Dynamics 365 license as well as your Teams Microsoft 365 license. This will allow you to use Power Apps in Teams as a bridge between CRM, ERP, and the ongoing collaboration between users. Teams users will be able to get a message in chat that a task needs doing, switch to a tab that hosts your Power Apps content, complete the task, and leave. Microsoft will be adding a one-click “add to Teams” feature to Power Apps and Power BI to make it easy to quickly add your apps to Teams.
Microsoft announced support for Teams in Power Automate, with triggers and actions that will let you link flows to Teams. Teams will have new message tools that work with these, automating interactions with your flows and letting them populate adaptive cards and other Teams user experiences.
Teams’ developer features go beyond low- and no-code development. It’s able to offer integration points for applications that build on the Microsoft Graph, using technologies like adaptive cards to display information inline, and the Microsoft Bot Framework to add support for natural language processing and other elements of Azure’s Cognitive Services. The new Power Virtual Agent tooling makes it easier to develop and deploy bots, reducing the amount of code needed, and with new single-sign-on capabilities to ensure virtual agents remain connected to your Teams channels.
Build 2020 Announcement for Teams
Microsoft launched a set of new Teams-focused developer tools at Build 2020, integrating Teams application development and publishing with Visual Studio and Visual Studio Code. Installing the two new extensions simplifies development, automating creating the required application scaffolding and simplifying building the application manifest needed to publish to the Teams store.
New APIs for the Teams Graph
If you’re building Teams app, you’re likely to be working with the Microsoft Graph. Build saw Microsoft announce 24 new APIs for the Teams Graph. These allow you to build apps that can have more granular access to data associated with Teams, so you can focus in on specific information from specific teams, rather than working with your entire tenant’s Teams data. This will make it easier to query Teams data, giving you less data to parse, more quickly, while reducing the risk of leaking sensitive information across team boundaries.
The Microsoft Graph makes it easy to use the List APIs to integrate the new Microsoft Lists into your Teams apps, as well as taking advantage of the upcoming Fluid Framework for more rapid collaboration in tabs and channels.
Teams isn’t only a desktop tool. It has mobile versions on both iOS and Android. Many of your Teams apps will run on both desktop and mobile devices, but you’ve not been able to use the native hardware in your device. New APIs due later this year will allow access to features like the camera, microphone, and location, allowing you to build better mobile applications. Similarly,
the new activity feed Graph APIs should improve notifications from your apps and services.
Once apps have been built new tooling will simplify submission and approval, with a single API to deliver new code to your Teams administrators for review and publishing approval. Admins will get a Manage Apps View in the Teams management portal, showing all the apps in use, as well as providing better ways of working with and purchasing third-party apps. They’ll also be able to create templates that can be used to quickly set up teams, deploying apps automatically by packaging them in templates.
Teams and Visual Studio Extensions
Tools like the new Visual Studio extensions makes it a lot easier to quickly build and deploy Teams integrations, allowing you to quickly make it part of collaborative business processes, for both task and knowledge workers. Teams’ simple UI capabilities make it ideal for handling smaller businesses processes, breaking them up into blocks of micro-work and allowing users to dip in and out of them whenever they want.
Using Teams to build and support business processes and workflows lets users complete tasks without breaking their own personal flow. Triggering a bot to deliver an adaptive card when an Azure DevOps process completes helps developers by allowing them to avoid monitoring builds and tests, able to trigger a code push without leaving the daily online standup.
With Teams’ meeting and video conferencing features coming to the fore in the current pandemic, it’s now on many more desktops and proving to be able to handle much of the load associated with home working and remote collaboration. With more and more organisations choosing to allow remote working, even after lockdowns end, Teams is going to become an important element of the corporate desktop. That makes it a lot easier to take advantage of its application hosting features, and its integration points.
Developing for Microsoft Teams webinar
Want to learn more about developing integrations for Microsoft Teams? Grey Matter recently hosted a webinar with Microsoft Cloud Solution Architects covering this topic. You can watch the on-demand recording now.
Contact Grey Matter
If you have any questions or want some extra information, complete the form below and one of the team will be in touch ASAP. If you have a specific use case, please let us know and we'll help you find the right solution faster.
Mary Branscombe is a freelance tech journalist. Mary has been a technology writer for nearly two decades, covering everything from early versions of Windows and Office to the first smartphones, the arrival of the web and most things in between.
Join Grey Matter and Microsoft to see how you can automate and optimise the delivery routes for packages across drivers at ISV Partner Day.