Ecommerce Chatbot

An example of a chatbot built with Microsoft Bot Framework and featuring e-commerce capabilities via Moltin, Azure Search, Recommendations API, and LUIS
Alternatives To Ecommerce Chatbot
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Cookiecutter Spacy Fastapi370
6 months ago4mitPython
Cookiecutter API for creating Custom Skills for Azure Search using Python and Docker
10 months ago10mitTypeScript
This repo contains the sample code of the Azure Search and Cognitive Services used to provide insights and analysis around the JFK Files.
Azure Search Knowledge Mining265
3 months ago5mitCSS
Azure Search Knowledge Mining Accelerator
Azure Search Power Skills136
8 days ago12mitC#
A collection of useful functions to be deployed as custom skills for Azure Cognitive Search
Cognitive Services Python Sdk Samples106
2 years ago5mitPython
Learn how to use the Cognitive Services Python SDK with these samples
Azure Search Dotnet Samples101
13 days ago2mitC#
Azure Search .NET sample code
Search Dotnet Getting Started99
8 months agomitC#
Getting Started with Azure Search using .NET
Ecommerce Chatbot84
5 years agomitJavaScript
An example of a chatbot built with Microsoft Bot Framework and featuring e-commerce capabilities via Moltin, Azure Search, Recommendations API, and LUIS
Search Dotnet Asp Net Mvc Jobs72
2 years ago1mitJavaScript
Azure Search Jobs Website Sample using ASP.NET MVC
Log4j S3 Search57
4 months ago3mitJava
Log4j appender with S3, Azure, Google Cloud, and search publishing
Alternatives To Ecommerce Chatbot
Select To Compare

Alternative Project Comparisons

UPDATE 2/2/2018

  • Updated to use Moltin v2 API to generate search indexes. Please make sure you re-create your Moltin store using the most recent version of the import scripts as there are breaking changes in the data layout.
  • LUIS model was re-exported and is now in the 2.1.0 schema version.
  • Moved from restify to express
  • Also, Microsoft is discontinuing the Recommendations API preview in February 2018. The alternative is to deploy the Recommendations Solution template, but it does not yet support the frequently bought together algorithm that the bot was using. The deployment of a solution template is aslo a more involved process so I decided to drop recommendations for now. The recommendation code is still there and is just not used by the dialog flow at the moment.

Note: the bot is still using the original State API that was deprecated. It works, but the recommendation from Microsoft is to implement a custom state data.

E-Commerce Chatbot

An example of a chatbot built with Microsoft Bot Framework and featuring e-commerce capabilities via:

I presented this bot on API Strat in Boston as an example of a smart app built with cognitive APIs. This bot is also going to SATURN and SYNTAX.


Ecommerce Chatbot Video

How To Run

If you would like to run it, you would need:

Deploy your bot (I used Azure App Service) and register it with the

Set the following environment variables:

  • MICROSOFT_APP_ID - you will get it from the during registration
  • MICROSFT_APP_PASSWORD - you will get it from the during registration
  • RECOMMENDATION_API_KEY - your API key to the Recommendations API service from the Microsoft Cognitive Services
  • RECOMMENDATION_MODEL- you can create multiple recommendation models and this way you can choose which one the bot will use for suggestions
  • RECOMMENDATION_BUILD - a given model (your product catalog, historical transactions, and business rules) can have multiple recommendation builds and this is how you tell which one the bot will use
  • SEARCH_APP_NAME - the name of your Azure Search service. The code assumes that you have all three indexes in the same Azure Search resource
  • SEARCH_API_KEY- your API key to the Azure Search service
  • LUIS_ENDPOINT - the URL of your published LUIS model. Please keep the Add verbose flag on and remove &q= from the URL. THe bot framework will add it.
  • SENTIMENT_API_KEY - your API key to the Text Analytics service.
  • SENTIMENT_ENDPOINT - the enpoint of yout Text Analytics service. Defaults to

If you would like to connect the Bing Spell Check service, you would do so in LUIS when publishing your endpoint. This integration is transparent to the app and all you do is provision your Azure subscription key to the service and connect it to your LUIS app.


  • The shopping cart is currently kept in the bot's memory (session.privateConversationData.cart) and does not sync back to Moltin
  • Checkout process is not integrated with Moltin
  • The bot is not multi-lingual



Popular Search Projects
Popular Azure Projects
Popular Computer Science Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Bot Framework