Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
page_type description products languages extensions urlFragment
sample
Demonstrating the feature of typeahead search (static and dynamic) control in Adaptive Cards.
office-teams
office
office-365
nodejs
contentType createdDate
samples
12/24/2021 12:00:00 AM
officedev-microsoft-teams-samples-bot-type-ahead-search-adaptive-cards-nodejs

Typeahead search control in Adaptive Cards

This sample shows the feature of typeahead search (static and dynamic) control in Adaptive Cards.

Use the bot command staticsearch to get the card with static typeahead search control and use bot command dynamicsearch to get the card with dynamic typeahead search control.

Static search: Static typeahead search allows users to search from values specified within input.choiceset in the Adaptive Card payload.

static search card

Dynamic search: Dynamic typeahead search is useful to search and select data from large data sets. The data sets are loaded dynamically from the dataset specified in the card payload.

dynamic search card

Dynamic search results:

dynamic search result

On Submit button click, the bot will return the choice that we have selected.

Prerequisites

1. Setup for Bot

In Azure portal, create a Azure Bot resource.

2. Run your bot sample

  1. Clone the repository

    git clone https://github.com/OfficeDev/Microsoft-Teams-Samples.git
  2. In the folder where repository is cloned navigate to samples/bot-type-ahead-search-adaptive-cards/nodejs

  3. Install node modules

    Inside node js folder, open your local terminal and run the below command to install node modules. You can do the same in Visual Studio code terminal by opening the project in Visual Studio code.

    npm install
  4. Run ngrok - point to port 3978

    ngrok http -host-header=rewrite 3978
  5. Open the .env configuration file in your project folder (or in Visual Studio Code) and update the MicrosoftAppId and MicrosoftAppPassword with your app's base url. (Note the ClientId is the AppId created in step 1 (Setup for Bot), the ClientSecret is referred to as the "client secret" in step 1 (Setup for Bot) and you can always create a new client secret anytime.)

  6. Run your app

    npm start
  7. Manually update the manifest.json

    • Edit the manifest.json contained in the appPackage/ folder to replace with your MicrosoftAppId (that was created in step1.1 and is the same value of MicrosoftAppId in .env file) everywhere you see the place holder string {MicrosoftAppId} (depending on the scenario the Microsoft App Id may occur multiple times in the manifest.json)
    • Zip up the contents of the appPackage/ folder to create a manifest.zip
    • Upload the manifest.zip to Teams (in the left-bottom Apps view, click "Upload a custom app")

Further reading