How To Build A Microsoft Teams App With Yeoman

How To Articles

I recently was given the chance to create a Microsoft Teams application from the ground up using Yeoman, and I must say, it was a fascinating experience! Within this article, I will lead you through the process of constructing a Microsoft Teams app with Yeoman, and also divulge some of my own personal learnings and perspectives along the journey.

Introduction to Microsoft Teams Apps

Microsoft Teams is a powerful collaboration platform that allows teams to work together seamlessly. Teams apps extend the functionality of Microsoft Teams by adding custom tabs, bots, and connectors. These apps can be built using various technologies, and one popular tool for scaffolding Teams apps is Yeoman.

What is Yeoman?

Yeoman is a scaffolding tool that helps developers set up projects quickly. It provides a set of generators for various frameworks and platforms, including Microsoft Teams apps. Using Yeoman, you can generate the basic structure and files required for a Teams app, saving you time and effort.

Installing Yeoman

Before we can start building our Teams app, we need to install Yeoman. If you haven’t already, make sure you have Node.js and npm installed on your machine. Once you have them set up, open your command line interface and run the following command to install Yeoman globally:

$ npm install -g yo

Generating a Teams App with Yeoman

Now that we have Yeoman installed, let’s generate our Teams app. Create a new empty directory for your app and navigate to it in your command line interface. Then, run the following command to generate the app:

$ yo teams

Yeoman will ask you a series of questions to configure your app. You can set the display name, description, and other properties of your app. Once you have answered all the questions, Yeoman will generate the app structure and files for you.

Building the Teams App

Now that we have our app generated, it’s time to start building its functionality. The generated app comes with a set of sample files and a manifest file that describes the app’s configuration.

First, let’s start by customizing the manifest file. Open the manifest.json file in your favorite code editor and update the necessary information, such as the app’s name and description.

Next, let’s dive into the code. The generated app includes a basic tab, bot, and message extension sample code. Depending on the functionality you want to add to your app, you can modify or remove these samples and add your own code. The possibilities are endless!

If you want to add more tabs, bots, or message extensions to your app, you can use the Yeoman generator again to scaffold the necessary files. Simply run the following command in your app’s directory:

$ yo teams:tab
$ yo teams:bot
$ yo teams:messageExtension

Each command will generate the required files and code for the corresponding functionality.

Testing and Debugging

Once you have built your app’s functionality, it’s time to test and debug it. Microsoft Teams provides a local development environment called ngrok, which allows you to test your app locally and expose it to Teams for testing.

To set up ngrok, follow the instructions provided by Microsoft Teams. Once ngrok is set up, you can start your app in debug mode by running the following command:

$ gulp serve

This will start a local server and expose your app to Teams using ngrok. You can then install and test your app within Microsoft Teams to ensure everything is working as expected.


Building a Microsoft Teams app with Yeoman can be a rewarding experience. Yeoman helps you set up the basic structure of your app quickly, allowing you to focus on adding the custom functionality that makes your app unique. With the power of Microsoft Teams and Yeoman, you can create powerful collaboration tools that enhance team productivity and communication.