| page_type | sample | ||||
|---|---|---|---|---|---|
| description | Microsoft Teams meeting extensibility sample for iteracting with Details Tab in-meeting | ||||
| products |
|
||||
| languages |
|
||||
| extensions |
|
||||
| urlFragment | officedev-microsoft-teams-samples-meetings-details-tab-nodejs |
This sample app illustrates the implementation of Details Tab in Meeting. User can create a poll and post poll in meeting chat and participants can submit their feedback in Meeting.
-
Node.js version 10.14 or higher
# determine node version node --version -
Ngrok (Only for devbox testing) Latest (any other tunneling software can also be used)
-
Teams Microsoft Teams is installed and you have an account
-
Register a new application in the Azure Active Directory – App Registrations portal.
-
Setup for Bot
- Register a AAD aap registration in Azure portal.
- Also, register a bot with Azure Bot Service, following the instructions here.
- Ensure that you've enabled the Teams Channel
- While registering the bot, use
https://<your_ngrok_url>/api/messagesas the messaging endpoint.
NOTE: When you create your app registration, you will create an App ID and App password - make sure you keep these for later.
-
Setup NGROK
- Run ngrok - point to port 3978
# ngrok http -host-header=rewrite 3978 -
Clone the repository
git clone https://github.com/OfficeDev/Microsoft-Teams-Samples.git
-Modfiy the Go to .env file and add
BotId,BotPasswordandBaseUrl as ngrok URLinformation.-
In a terminal, navigate to
samples/meetings-details-tab/nodejscd samples/meetings-details-tab/nodejs -
Install modules and Start the bot
-
Server will run on PORT:
4001npm run server
This command is equivalent to: npm install > npm run build-client > npm start
-
Start client application
-
Client will run on PORT:
3978npm run client
This command is equivalent to: cd client > npm install > npm start
-
-
Setup Manifest for Teams
-
This step is specific to Teams.
- Edit the
manifest.jsoncontained in the ./AppPackage folder to replace your Microsoft App Id (that was created when you registered your app registration earlier) everywhere you see the place holder string{{Microsoft-App-Id}}(depending on the scenario the Microsoft App Id may occur multiple times in themanifest.json) - Edit the
manifest.jsonforvalidDomainsand replace{{domain-name}}with base Url of your domain. E.g. if you are using ngrok it would behttps://1234.ngrok.iothen your domain-name will be1234.ngrok.io. - Zip up the contents of the
AppPackagefolder to create amanifest.zip(Make sure that zip file does not contains any subfolder otherwise you will get error while uploading your .zip package)
- Edit the
-
Upload the manifest.zip to Teams (in the Apps view click "Upload a custom app")
- Go to Microsoft Teams. From the lower left corner, select Apps
- From the lower left corner, choose Upload a custom App
- Go to your project directory, the ./AppPackage folder, select the zip folder, and choose Open.
- Select Add in the pop-up dialog box. Your app is uploaded to Teams.
Interact with Details Tab in Meeting.
- Install the Details Tab manifest in meeting chat.
- Add the Details Tab in Meeting
- Click on Add Agenda

- Newly added agenda will be added to Tab.

- Click on Send button in Agenda from Tab.
- An Adaptive Card will be posted in meeting chat for feedback.

- Participants in meeting can submit their response in adaptive card
- Response will be recorded and Bot will send an new adaptive card with response.

- Participants in meeting can view the results from meeting chat or Tab itself.
