Microsoft Teams hello world sample app in Node.js
Clone or download
billbliss Merge pull request #12 from NormSohl/master
Removed scopes from compose extensions
Latest commit 06c4574 Nov 9, 2018

Official documentation

More information for this sample - and for how to get started with Microsoft Teams development in general - is found in Get started on the Microsoft Teams platform with Node.js.

Using this sample locally

This sample can be run locally using ngrok as described in the official documentation, but you'll need to set up some environment variables. There are many ways to do this, but the easiest, if you are using Visual Studio Code, is to add a launch configuration:

            "type": "node",
            "request": "launch",
            "name": "Launch - Teams Debug",
            "program": "${workspaceRoot}/src/app.js",
            "cwd": "${workspaceFolder}/src",
            "env": {
                "BASE_URI": "",
                "MICROSOFT_APP_ID": "00000000-0000-0000-0000-000000000000",
                "MICROSOFT_APP_PASSWORD": "yourBotAppPassword",
                "NODE_DEBUG": "botbuilder",
                "SUPPRESS_NO_CONFIG_WARNING": "y",
                "NODE_CONFIG_DIR": "../config"


  • ######## matches your actual ngrok URL
  • MICROSOFT_APP_ID and MICROSOFT_APP_PASSWORD is the ID and password, respectively, for your bot
  • NODE_DEBUG will show you what's happening in your bot in the Visual Studio Code debug console
  • NODE_CONFIG_DIR points to the directory at the root of the repository (by default, when the app is run locally, it looks for it in the src folder)

Deploying to Azure App Service

Visual Studio Code extensions

The easiest way to deploy to Azure is to use Visual Studio Code with Azure extensions. There are many extensions for Azure - you can get all of them at once by installing the Node Pack for Azure or you can install just the Azure App Service extension.

Creating a new Node.js web app

Once you've installed the extensions, you'll see a new Azure icon on the left in Visual Studio Code. Click on the + icon to create a new web app. Once you've created your web app:

  1. Add the following Application Settings (environment variables):

  2. Configure the Deployment Source for your app (either your local copy of this repository or one you've forked on GitHub).

  3. Deploy your web app. Visual Studio Code will tell you when you are done.

Deploying to Azure for Node.js on Windows

Since this repo was optimized for Azure App Service, which runs on Linux, the .deployment file references bash There's also a deploy.cmd if you want to deploy to Azure running Node.js on Windows. If you do, change .deployment to this instead:

command = deploy.cmd


This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact with any additional questions or comments.