msteams-nodejs-hello-world
v1.0.0
Published
Microsoft Teams Node.js Hello World App. Start here to build your first app on the Teams platform.
Downloads
2
Readme
page_type: sample products:
- office-365 languages:
- javascript title: Microsoft Teams NodeJS Helloworld Sample description: Microsoft Teams hello world sample app in Node.js extensions: contentType: samples createdDate: 11/3/2017 12:53:17 PM
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 and App Studio.
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": "https://########.ngrok.io",
"MICROSOFT_APP_ID": "00000000-0000-0000-0000-000000000000",
"MICROSOFT_APP_PASSWORD": "yourBotAppPassword",
"NODE_DEBUG": "botbuilder",
"SUPPRESS_NO_CONFIG_WARNING": "y",
"NODE_CONFIG_DIR": "../config"
}
[...]
Where:
########
matches your actual ngrok URLMICROSOFT_APP_ID
andMICROSOFT_APP_PASSWORD
is the ID and password, respectively, for your botNODE_DEBUG
will show you what's happening in your bot in the Visual Studio Code debug consoleNODE_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 thesrc
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:
Add the following Application Settings (environment variables):
MICROSOFT_APP_ID=<YOUR BOT'S APP ID> MICROSOFT_APP_PASSWORD=<YOUR BOT'S APP PASSWORD> WEBSITE_NODE_DEFAULT_VERSION=8.9.4
Configure the Deployment Source for your app (either your local copy of this repository or one you've forked on GitHub).
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 deploy.sh
. 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:
[config]
command = deploy.cmd
Contributing
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 https://cla.microsoft.com.
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 [email protected] with any additional questions or comments.
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 and App Studio.
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": "https://########.ngrok.io",
"MICROSOFT_APP_ID": "00000000-0000-0000-0000-000000000000",
"MICROSOFT_APP_PASSWORD": "yourBotAppPassword",
"NODE_DEBUG": "botbuilder",
"SUPPRESS_NO_CONFIG_WARNING": "y",
"NODE_CONFIG_DIR": "../config"
}
[...]
Where:
########
matches your actual ngrok URLMICROSOFT_APP_ID
andMICROSOFT_APP_PASSWORD
is the ID and password, respectively, for your botNODE_DEBUG
will show you what's happening in your bot in the Visual Studio Code debug consoleNODE_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 thesrc
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:
Add the following Application Settings (environment variables):
MICROSOFT_APP_ID=<YOUR BOT'S APP ID> MICROSOFT_APP_PASSWORD=<YOUR BOT'S APP PASSWORD> WEBSITE_NODE_DEFAULT_VERSION=8.9.4
Configure the Deployment Source for your app (either your local copy of this repository or one you've forked on GitHub).
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 deploy.sh
. 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:
[config]
command = deploy.cmd
Contributing
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 https://cla.microsoft.com.
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 [email protected] with any additional questions or comments.