This week I had a chance to lead a small group discussion on Bots and Artificial intelligence at the Microsoft Inspire Partner Conference. Some people were interested in my slides so I have included a link to the slides here. During that discussion, we covered an overview of Bots and the Cognitive Services APIs. I left that discussion with a few items that needed further discussion or clarification. In this post I will cover those topics.

Design Patters

There are some documented design patterns that have been proven that anyone looking to build a bot should take a look at. I have linked to them in the list below.

Sample Code

There are lots of really good examples published to the Bot Builder GitHub repo. I recommend you take a look at these when you are getting started building bots.


One hot topic from the discussion yesterday was localization and the ability for a bot to handle multiple languages. The Bot Framework supports localization in both .NET and Node.js. The Bot Framework can identify the localization and then allow handling via resource or JSON files depending on the platform. If you are going to use other services like LUIS you have a few options. You can create a LUIS model for each language your bot supports and direct it to the appropriate language via a switch or send the conversation to the Translator Text API before and after sending it to LUIS.

Bots and CRM

During the keynote presentation that is also covered in my slides, a bot interaction that integrates CRM was showed. There are a series of blog posts by Andre Margono (Twitter | Blog) that cover this in much greater detail.

From what I remember these were the main things I wanted to follow up on. If there is something I didn’t cover, just let me know in the comments below, via any of the contact methods on my contact or via Twitter.