DevOps for bots: Sprinkling some devops on your bot

Hackfests are great mechanisms to kickstart the minimum viable product (mvp) for many bots/agents in a very short time.  However, just because you are working to a tight timescale doesn't mean you should sacrifice good engineering practices.  So if you're building a bot and want some assistance, checkout the resources below.

This isn't an exhaustive list, so if you find anything useful in this space that you'd like me to add, let me know in the comments.

Agile & DevOps

VSTS Agile planning for a bot hackfest/mvp:

Tips for what you should consider from building the Skyscanner bot:

Intro to the bot framework from a devops perspective:

Development & Getting Started

If you like to learn by example, then checkout the open source samples in the following github repos:

BotFramework C# Samples:

BotFramework Node.js Samples:

Bot Framework Scenario based samples:


Make sure your bot is fit for purpose:

Using ngrok for locahost testing:

Unit and functional testing for bots:

BotInsightsTests - sample code from the above video:

Unit testing for bots:

See how unit testing is done in the BotBuilder SDK:

Telemetry & Dashboards

Track how users are engaging with your bot in production:

Adding custom telemetry to your bot:

Visualising telemetry in your bot with Application Insights Analytics and PowerBI:

Custom Dashboard for bots using App Insights:

Bot Analytics Dashboard:

Bot Analytics Dashboard repo:

Continuous Integration & Continuous Deployment

Time to deploy:

CI/CD bot -> Azure walk through:

Implementing Continuous Integration Builds for bots:

People and Process

Bots enable automation and can simulate conversation, so invariably they are going to have an effect on how people use them and the types of process they automate.  Take for example an IT Support center that uses a bot for triaging calls.  What happens if the bot is unable to resolve the end-user issue?  Is the user left hanging?  In some cases there is a need to supervise what the bot is doing/saying.

Supervising conversations with bot to human hand-off:

Infinity & Beyond

Managing security tokens, LUIS retraining etc..

LUIS app secrets:

Advanced considerations:

Want more help?  For a wide ranging, list of other bot resources checkout my colleague Simon Michael's page: