This is a basic example tab app for Microsoft Teams. When it is added to a channel, it enables the user to choose whether they want a Bing Map or a Google Map in their new tab. When it is removed from a channel, it offers (pretend) options for the user to choose whether the map is deleted or retained online.
This app is used throughout the Microsoft Teams developer documentation.
An Office 365 account with access to Microsoft Teams.
This sample works because its configuration page and removal options page are already hosted in Azure at https://teams-get-started-sample.azurewebsites.net
. If you want to adapt this sample, you’ll need to edit them and host them yourself.
public/tabconfig.html
and public/tabremove.html
pages. This will help you later to verify your own copy of the tab is running.tabconfig.html
and tabremove.html
pages over https (see below for options).package
directory.manifest.json
:
id
(in both sections) to your own GUID. You can use this tool to create a new one.configUrl
to the new address of the tabconfig.html
page from step 3.accentColor
to some color other than the default. This will help you later to verify your own copy of the tab is running.maps44.png
and maps88.png
in an image editor. This will help you later to verify your own copy of the tab is running.manifest.json
, maps44.png
, maps88.png
into a new tab app package called NewTab.zip
. Note: icons must be < 1.5k in size.NewTab.zip
, using the instructions above.Note: To re-upload an updated package, with the same
id
, click the ‘Replace’ icon at the end of the tab’s table row. Don’t click ‘Upload’ again: Microsoft Teams will say the tab already exists.
In order to protect customer data, Microsoft Teams requires all tab pages and content to be served over https. If you already have a preferred method for doing this then feel free to skip this section. Otherwise, here are a few options to get you started.
git checkout -b deployment
npm install --production
git rm .gitignore
git add .
git commit -m "Prepare for first deployment"
git remote add azure <git-deployment-url-from-step-2>
git push azure deployment:master
git checkout master
git branch -D deployment
tabconfig.html
page in step 5 above.npm install
npm run start-ngrok
tabconfig.html
page in step 5 above. It should look something like https://<partial-guid>.ngrok.io/tabconfig.html
.openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -subj '/CN=localhost' -nodes
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain cert.pem
npm install
npm run start-ssl
tabconfig.html
page in step 5 above. It will look something like https://localhost:3443/tabconfig.html
.Copyright (c) 2017 Microsoft Corporation. All rights reserved.