Bot Framework outage on July 25, 2017

On July 25, Bot Framework services experienced an outage that affected many bots. This outage has been resolved and details are included below. The root cause of the outage was due to the unexpected expiration of a Bot Framework registration within Azure Active Directory. The outage lasted approximately 3 hours and 10 minutes. Scope of impact This outage affected bots….

Bot Framework degraded service on July 18th and 19th, 2017

On July 18th and 19th, the Bot Framework service experienced degraded service in 2 of our datacenters. The service has been restored to full health and details are included below. The root cause was a misconfigured maintenance job that resulted in high CPU across several servers and datacenters. Scope of Impact The maintenance job misconfiguration affected certain Azure Web Apps,….

Saving State data in SQL with .NET

Update (12/19/17): The original release of this article discussed in-depth how to implement the IBotDataStore interface in order to use a SQL database to save your bot’s state data. Since then, we’ve expanded the botbuilder-azure package to support SQL. With the latest version of the package, all you need to do is instantiate the SqlBotDataStore client in Global.asax of your .NET application….

Saving State data with BotBuilder-Azure in Node.js

We’ve discussed strategies to store state data for bots in .NET, in this article we’ll demonstrate how to do the same for bots built using the Bot Builder SDK for Node.js. In this sample, we’ll be leveraging the botbuilder-azure npm module to save our conversation state data to Azure DocumentDB. Initial Setup Ensure you have Node.js installed. You’ll need an Azure Account. Click here for a….

Saving State data with BotBuilder-Azure in .NET

Update – 12/07/17: To use the BotBuilder-Azure nuget package for a custom state service, global.asax.cs should be edited per the following: public class WebApiApplication : System.Web.HttpApplication { protected void Application_Start() { Conversation.UpdateContainer( builder => { builder.RegisterModule(new AzureModule(Assembly.GetExecutingAssembly())); // Bot Storage: register state storage for your bot var uri = new Uri(ConfigurationManager.AppSettings[“DocumentDBUri”]); var key = ConfigurationManager.AppSettings[“DocumentDBKey”]; var store = new DocumentDbBotDataStore(uri,….

Command Pattern architecture in your Bot using Scorables

If you are not familiar with the command pattern, click here to read about it. In this article we’ll show you how you can implement the Command Pattern using scorables, which will allow you to create an easily scalable architecture such that you can seamlessly add new features (commands) to your Bot in the future. What are Scorables? Within the Bot Framework .NET SDK, Scorables allows….

Debugging the BotBuilder SDK

Summary When you install the Bot Builder SDK (.NET) nuget package, the source code is already compiled (into a .dll) and by default, Visual Studio will skip over this code when you try to run it step-by-step using the debugger. The Bot Builder SDK module for NodeJS likewise includes already compiled Typescript. This quick guide will show you how to….