When should you choose to build a custom Microsoft Teams app?

The Microsoft Teams Platform is a powerful, flexible platform for creating apps for Microsoft Teams. However, that doesn't mean it will fit all scenarios. In this unit, we discuss some key scenarios where Teams apps excel.

When to use a Teams app

Enhancing communication & collaboration

Teams apps shine when they're focused on enhancing collaboration and communication. Most successful Teams apps involve either some form of pulling information in from another system, having a conversation about it, and allowing users to take action about that information from directly within the Teams client, or pushing information to a targeted audience based on an event or action in an external system.

Encouraging social interactions

Apps that focus on encouraging social interactions between team members work also work well. These are apps that send polls, let people send feedback to each other, connect them together, or are just for fun (don't underestimate the power of a few "just for fun" apps can have on team morale). Teams is a social platform; custom social-focused apps encourage your team to extend your company culture into your collaboration space.

Starting & helping common business processes

Teams can be an effective platform for launching, and helping the completion of, common business processes. Things like creating and sharing a sales call report, tracking your time against a project, reserving common resources, submitting help desk requests and more can make for effective Teams apps. Often there is already some other system responsible for completing these actions. In those cases, using Teams as a bridge to initiate the process, and for communicating during the process can create an effective hybrid app.

Surfacing some (or all) of your existing app

If you've got an existing web app, SharePoint site (or SPFx extension), PowerApp, or other web-based application it may make sense to enable some or all of it in Teams. Just be sure to consider the context and scope carefully. If you enable your navigation and form heavy website as a channel tab, it probably won't work well.

Personal apps with tabs and bots

One-to-one conversational bots are one of the more open-ended extensibility points within Microsoft Teams. The conversation is just between the bot and your user, you have the flexibility of including task modules to simplify the collection of complex sets of information, and you can combine them with personally scoped tabs. With this canvas, you can create a complete traditional app experience within the Teams client.

When to consider a different platform

There's already a good way to do that

If there's already a good way to accomplish the task your potential Teams app is trying to perform, and/or your users are already used to accomplishing it with an existing system, converting the experience to within the Microsoft Teams client may be difficult. Instead you should look for ways to make the existing application and Microsoft Teams work together. It might make sense to send notifications to users or channels, or initiate workflows from within Teams, but complete the workflow in another app.

Apps that aren't designed to be used regularly

In general, apps built for Microsoft Teams fit seamlessly into the Teams client. This is good for your users, typically they don't think about the thing that they're using as an "app"; they just select a button, search for a thing, and the correct card shows up in a conversation. However, this means that in most cases your app is not featured in any particular context. If your app is only designed to be used rarely, it can be easy for users to forget it is there. Most successful apps stay top-of-mind for users through regular use.