If you are a Microsoft 365 Developer you (probably) allready know that you can create different types of extensions to Microsoft Teams, and even build complete apps that run inside Teams. But to developers who doesn’t work in the M365 sphere this might be an unknown area of development. So this blogpost is for those who are new to this developer space. I will give you an overview of how it is possible to extend Microsoft Teams using your coding skills, and links to resources on how to get started.
Why should you extend Teams?
If you are completely new to Microsoft 365 Development I recommend that you read this blogpost first to get an overview of what Microsoft 365 is, and what tools are included.
Most people think of Teams as a meeting and chat tool – which is not wrong – but Teams is actually a much larger collaboration tool that is build on top of SharePoint. It gives you an easy way to work in teams/groups and share documents, tasks etc. Microsoft Teams allready has a lot of great built in tools to help you collaborate better. So why should you concider building your own extensions?
Because every company/organisation has their own way of doing things, and by extending Teams you can support the employees natural workflow and make them more productive. Let them communicate with external services through message extensions, make a bot to help with onboarding new staff, create apps that let the employees do their tasks inside teams so they don’t have to ‘context shift’ constantly.
The different ways to extend Teams
Now you have s better understanding of why you should concider extending Teams, lets take a look at the technical details – what different ways does Microsoft offer to extend Teams?
In the below picture I have marked the different places that your app/extension can be integrated. In addition to these you can also create own apps and bots for digital meetings and calls.
In the next part of this blogpost I will cover each of the different ways to extend Teams, and give you some resources to get started.
Tabs are webpages that are embedded into Teams – and they can be aware of the Team context. A tab can be targeted to the current user, thats called a “Personal tab“, or to a group/channel. A personal tab can be presented inside a team as just that, a “tab“, on the top level of the team. It can also be pinned to the left side of teams as an “app”. Fom a technical point of view its still a tab, but from the users point of view its presented as an app in the left side navigation for easy access. Group/channel tabs can only be presentet inside of a team.
You can use tabs as a way to bring an existing webpage into teams, or you can create a ‘web app’ for this specific use. In a tab you can use features as Single Sign On (SSO), information about the current user (from the team context object) and you can even reuse SharePoint webparts inside of a tab.
Apps for meetings and calls
Another option is to build apps that are available as part of a meeting/call experiense to optimize the user experience.
Bots are apps that have a conversational interface towards the end users. It can be a small and simple app, or part of a larger application. Bots are not limited to only conversations though, they can also send and receive files or interactive cards.
Its also possible to create bots for calls and digital meeting.
Message extensions is a way to connect your other web-services to Teams. You can create buttons and forms that the user can use to communicate with your service.
There are two types of message extensions; action commands and search commands.
Action commands lets you present a pop-up window to the user. Inside the pop-up you can either display information, or collect information.
While search commands, as the name suggests, lets your users search external systems from inside teams – and then present the search results directly in teams in the form of a “card”.
- Microsoft Teams Developer Documentation overview (Microsoft docs)
- Build tabs (Microsoft docs)
- Build bots for Teams (Microsoft docs)
- Building Microsoft Teams tabs using SPfx (Microsoft docs)
- Building apps for meetings (Microsoft docs)
Did you find this article usefull? Follow me on twitter to be notified when I publish something new!
If you are interested in Microsoft 365 Development you might also like my other blogposts in this category.
Also, if you have any feedback or questions, please let me know in the comments below. 🙂
Thank you for reading, and happy coding!