This reference architecture describes how to build an enterprise-grade conversational bot (chatbot) using the Azure Bot Framework. Each bot is different, but there are some common patterns, workflows, and technologies to be aware of. Especially for a bot to serve enterprise workloads, there are many design considerations beyond just the core functionality. This article covers the most essential design aspects, and introduces the tools needed to build a robust, secure, and actively learning bot.

A rapidly growing, benign, form of internet bot is the chatbot. From 2016, when Facebook Messenger allowed developers to place chatbots on their platform, there has been an exponential growth of their use on that forum alone. 30,000 bots were created for Messenger in the first six months, rising to 100,000 by September 2017.[8] Avi Ben Ezra, CTO of SnatchBot, told Forbes that evidence from the use of their chatbot building platform pointed to a near future saving of millions of hours of human labour as 'live chat' on websites was replaced with bots.[9]

“To be honest, I’m a little worried about the bot hype overtaking the bot reality,” said M.G. Siegler, a partner with GV, the investment firm formerly known as Google Ventures. “Yes, the high level promise of what bots can offer is great. But this isn’t going to happen overnight. And it’s going to take a lot of experimentation and likely bot failure before we get there.”

Build a bot directly from one of the top messaging apps themselves. By building a bot in Telegram, you can easily run a bot in the application itself. The company recently open-sourced their chatbot code, making it easy for third-parties to integrate and create bots of their own. Their Telegram API, which they also built, can send customized notifications, news, reminders, or alerts. Integrate the API with other popular apps such as YouTube and Github for a unique customer experience.
Just last month, Google launched its latest Google Assistant. To help readers get a better glimpse of the redesign, Google’s Scott Huffman explained: “Since the Assistant can do so many things, we’re introducing a new way to talk about them. We’re them Actions. Actions include features built by Google—like directions on Google Maps—and those that come from developers, publishers, and other third parties, like working out with Fitbit Coach.”
Another reason is that Facebook, which has 900 million Messenger users, is expected to get into bots. Many see this as a big potential opportunity; where Facebook goes, the rest of the industry often follows. Slack, which lends itself to bot-based services, has also grown dramatically to two million daily users, which bot makers and investors see as a potentially lucrative market.

H&M’s consistent increased sales over the past year and its August announcement to launch an eCommerce presence in Canada and South Korea during the fall of 2016, along with 11 new H&M online markets (for a total of 35 markets by the end of the year), appear to signify positive results for its chatbot implementation (though direct correlations are unavailable on its website).

This reference architecture describes how to build an enterprise-grade conversational bot (chatbot) using the Azure Bot Framework. Each bot is different, but there are some common patterns, workflows, and technologies to be aware of. Especially for a bot to serve enterprise workloads, there are many design considerations beyond just the core functionality. This article covers the most essential design aspects, and introduces the tools needed to build a robust, secure, and actively learning bot.
In 1950, Alan Turing's famous article "Computing Machinery and Intelligence" was published,[7] which proposed what is now called the Turing test as a criterion of intelligence. This criterion depends on the ability of a computer program to impersonate a human in a real-time written conversation with a human judge, sufficiently well that the judge is unable to distinguish reliably—on the basis of the conversational content alone—between the program and a real human. The notoriety of Turing's proposed test stimulated great interest in Joseph Weizenbaum's program ELIZA, published in 1966, which seemed to be able to fool users into believing that they were conversing with a real human. However Weizenbaum himself did not claim that ELIZA was genuinely intelligent, and the introduction to his paper presented it more as a debunking exercise: