| page_type | sample | ||||
|---|---|---|---|---|---|
| description | Microsoft Teams app show end user region selection using Bot and Tab | ||||
| products |
|
||||
| languages |
|
||||
| extensions |
|
||||
| urlFragment | officedev-microsoft-teams-samples-app-region-selection-csharp |
Bot Framework v4 Region Selection sample.
This bot has been created using Bot Framework, for the region selection for the app's data center using Bot and Tab.
-
.NET Core SDK version 6.0
# determine dotnet version dotnet --version -
Publicly addressable https url or tunnel such as ngrok or Tunnel Relay
-
Teams Microsoft Teams is installed and you have an account
- 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 bot you will create an App ID and App password - make sure you keep these for later.
- 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
-
Run the bot from a terminal or from Visual Studio:
A) From a terminal, navigate to
samples/app-region-selection/RegionSelectionApp# run the bot dotnet runB) Or from Visual Studio
- Launch Visual Studio
- File -> Open -> Project/Solution
- Navigate to
samples/app-region-selection/RegionSelectionAppfolder - Select
RegionSelectionApp.slnfile - Press
F5to run the project
-
Update the
appsettings.jsonconfiguration for the bot to use the MicrosoftAppId, MicrosoftAppPassword generated in Step 1 (Setup for Bot). (Note the App Password is referred to as the "client secret" in the azure portal and you can always create a new client secret anytime.)
- This step is specific to Teams.
- Edit the
manifest.jsoncontained in theTeamsAppManifestfolder to replace your Microsoft App Id (that was created when you registered your bot earlier) everywhere you see the place holder string<<Your Microsoft App Id>>(depending on the scenario the Microsoft App Id may occur multiple times in themanifest.json) - Edit the
manifest.jsonforconfigurationUrlinsideconfigurableTabs. Replace<yourNgrok.ngrok.io>with base Url domain. E.g. if you are using ngrok it would behttps://1234.ngrok.iothen your domain-name will be1234.ngrok.io. - Edit the
manifest.jsonforvalidDomainswith base Url 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
TeamsAppManifestfolder to create amanifest.zip(Make sure that zip file does not contains any subfolder otherwise you will get error while uploading your .zip package) - Upload the
manifest.zipto Teams (In Teams Apps/Manage your apps click "Upload an app". Browse to and Open the .zip file. At the next dialog, click the Add button.) - Add the app to personal/team/groupChat scope (Supported scopes)
- Edit the
Install the Region Selection App manifest in Microsoft Teams. @mention the region selection bot to start the conversation.
- Bot sends an Adaptive card in chat

- Select the region from the card. Bot sets the selected region and notify user in chat

To learn more about deploying a bot to Azure, see Deploy your bot to Azure for a complete list of deployment instructions.


