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.

Beyond users, bots must also please the messaging apps themselves. Take Facebook Messenger. Executives have confirmed that advertisements within Discover — their hub for finding new bots to engage with — will be the main way Messenger monetizes its 1.3 billion monthly active users. If standing out among the 100,000 other bots on the platform wasn't difficult enough, we can assume Messenger will only feature bots that don't detract people from the platform.


The chatbot is trained to translate the input data into a desired output value. When given this data, it analyzes and forms context to point to the relevant data to react to spoken or written prompts. Looking into deep learning within AI, the machine discovers new patterns in the data without any prior information or training, then extracts and stores the pattern.
Authentication. Users start by authenticating themselves using whatever mechanism is provided by their channel of communication with the bot. The bot framework supports many communication channels, including Cortana, Microsoft Teams, Facebook Messenger, Kik, and Slack. For a list of channels, see Connect a bot to channels. When you create a bot with Azure Bot Service, the Web Chat channel is automatically configured. This channel allows users to interact with your bot directly in a web page. You can also connect the bot to a custom app by using the Direct Line channel. The user's identity is used to provide role-based access control, as well as to serve personalized content.
I've come across this challenge many times, which has made me very focused on adopting new channels that have potential at an early stage to reap the rewards. Just take video ads within Facebook as an example. We're currently at a point where video ads are reaching their peak; cost is still relatively low and engagement is high, but, like with most ad platforms, increased competition will drive up those prices and make it less and less viable for smaller companies (and larger ones) to invest in it.

Morph.ai is an AI-powered chatbot. It works across messengers, websites, Android apps, and iOS apps. Morph.ai lets you automate up to 70 percent of your customer support. It can also integrate with your existing CRM and support tools. Plus, it can learn new queries and responses over time. You can add cards, carousels, and quick replies to enrich your conversations. It looks like this


“I’ve seen a lot of hyperbole around bots as the new apps, but I don’t know if I believe that,” said Prashant Sridharan, Twitter’s global director of developer relations. “I don’t think we’re going to see this mass exodus of people stopping building apps and going to build bots. I think they’re going to build bots in addition to the app that they have or the service they provide.”
Reports of political interferences in recent elections, including the 2016 US and 2017 UK general elections,[3] have set the notion of botting being more prevalent because of the ethics that is challenged between the bot’s design and the bot’s designer. According to Emilio Ferrara, a computer scientist from the University of Southern California reporting on Communications of the ACM,[4] the lack of resources available to implement fact-checking and information verification results in the large volumes of false reports and claims made on these bots in social media platforms. In the case of Twitter, most of these bots are programmed with searching filter capabilities that target key words and phrases that reflect in favor and against political agendas and retweet them. While the attention of bots is programmed to spread unverified information throughout the social media platform,[5] it is a challenge that programmers face in the wake of a hostile political climate. Binary functions are designated to the programs and using an Application Program interface embedded in the social media website executes the functions tasked. The Bot Effect is what Ferrera reports as when the socialization of bots and human users creates a vulnerability to the leaking of personal information and polarizing influences outside the ethics of the bot’s code. According to Guillory Kramer in his study, he observes the behavior of emotionally volatile users and the impact the bots have on the users, altering the perception of reality.
With our intuitive interface, you dont need any programming skills to create realistic and entertaining chatbots. Your chatbots live on the site and can chat independently with others. Transcripts of every chatbot's conversations are kept so you can read what your bot has said, and see their emotional relationships and memories. Best of all, it's free!
For designing a chatbot conversation, you can refer this blog — “How to design a conversation for chatbots.” Chatbot interactions are segmented into structured and unstructured interactions. As the name suggests, the structured type is more about the logical flow of information, including menus, choices, and forms into account. The unstructured conversation flow includes freestyle plain text. Conversations with family, colleagues, friends and other acquaintances fall into this segment. Developing scripts for these messages will follow suit. While developing the script for messages, it is important to keep the conversation topics close to the purpose served by the chatbot. For the designer, interpreting user answers is important to develop scripts for a conversational user interface. The designer also turns their attention to close-ended conversations that are easy to handle and open-ended conversations that allow customers to communicate naturally.
In so many ways I think chatbots are only just getting started – their potential is much underestimated at present. A big challenge is for chatbots mature so that they do more than is possible as a result of content entry wizards. If your content is created with a few easy clicks, it is unlikely to be much inspiration to anyone – and to date, despite much work in the field, the ability to emulated the creative open ended nature of real intellingence has seen only very partial success.

To inspire the next generation of explorers, NASA reaches out to students in schools, community organizations, and public events. A star robotic ambassador is “Rov-E,” a close replica of real NASA Mars rovers. Through Amazon Lex, NASA staff can now easily navigate Rov-E via voice commands -- an effective conversational interface when speaking with large crowds. Multi-turn dialog management capability enables Rov-E "to talk,” answering students’ questions about Mars in an engaging way. Integration with AWS services allows Rov-E to connect and scale with various data sources to retrieve NASA’s Mars exploration information. 
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.
There are several defined conversational branches that the bots can take depending on what the user enters, but the primary goal of the app is to sell comic books and movie tickets. As a result, the conversations users can have with Star-Lord might feel a little forced. One aspect of the experience the app gets right, however, is the fact that the conversations users can have with the bot are interspersed with gorgeous, full-color artwork from Marvel’s comics. 

How: this involves creating a basic content block within Chatfuel that has a discount code within it. Instead of giving all users of the bot the same experience, you can direct them through to specific parts of the conversation (or 'blocks'). Using the direct link to your content block, you'll be able to create CTAs on your website that direct people straight into Messenger to get a discount code (more info here).
Chatting with a bot should be like talking to a human that knows everything. If you're using a bot to change an airline reservation, the bot should know if you have an unused credit on your account and whether you typically pick the aisle or window seat. Artificial intelligence will continue to radically shape this front, but a bot should connect with your current systems so a shared contact record can drive personalization.

Your first question is how much of it does she want? 1 litre? 500ml? 200? She tells you she wants a 1 litre Tropicana 100% Orange Juice. Now you know that regular Tropicana is easily available, but 100% is hard to come by, so you call up a few stores beforehand to see where it’s available. You find one store that’s pretty close by, so you go back to your mother and tell her you found what she wanted. It’s $2, maybe $3, and after asking her for the money, you go on your way.
Say you want to build a bot that tells the current temperature. The dialog for the bot only needs coding to recognize and report the requested location and temperature. To do this, the bot needs to pull data from the API of the local weather service, based on the user’s location, and to send that data back to the user—basically, a few lines of templatable code and you’re done.
A very common request that we get is people want to practice conversation, said Duolingo's co-founder and CEO, Luis von Ahn. The company originally tried pairing up non-native speakers with native speakers for practice sessions, but according to von Ahn, "about three-quarters of the people we try it with are very embarrassed to speak in a foreign language with another person."
The chatbot uses keywords that users type in the chat line and guesses what they may be looking for. For example, if you own a restaurant that has vegan options on the menu, you might program the word “vegan” into the bot. Then when users type in that word, the return message will include vegan options from the menu or point out the menu section that features these dishes.
Before you even write a single line of code, it's important to write a functional specification so the development team has a clear idea of what the bot is expected to do. The specification should include a reasonably comprehensive list of user inputs and expected bot responses in various knowledge domains. This living document will be an invaluable guide for developing and testing your bot.

Chatbots can reply instantly to any questions. The waiting time is ‘virtually’ 0 (see what I did there?). Even if a real person eventually shows up to fix the issues, the customer gets engaged in the conversation, which can help you build trust. The problem could be better diagnosed, and the chatbot could perform some routine checks with the user. This saves up time for both the customer and the support agent. That’s a lot better than just recklessly waiting for a representative to arrive.
Before you even write a single line of code, it's important to write a functional specification so the development team has a clear idea of what the bot is expected to do. The specification should include a reasonably comprehensive list of user inputs and expected bot responses in various knowledge domains. This living document will be an invaluable guide for developing and testing your bot.

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.
[In] artificial intelligence ... machines are made to behave in wondrous ways, often sufficient to dazzle even the most experienced observer. But once a particular program is unmasked, once its inner workings are explained ... its magic crumbles away; it stands revealed as a mere collection of procedures ... The observer says to himself "I could have written that". With that thought he moves the program in question from the shelf marked "intelligent", to that reserved for curios ... The object of this paper is to cause just such a re-evaluation of the program about to be "explained". Few programs ever needed it more.
In other words, bots solve the thing we loathed about apps in the first place. You don't have to download something you'll never use again. It's been said most people stick to five apps. Those holy grail spots? They're increasingly being claimed by messaging apps. Today, messaging apps have over 5 billion monthly active users, and for the first time, people are using them more than social networks.
Automation will be central to the next phase of digital transformation, driving new levels of customer value such as faster delivery of products, higher quality and dependability, deeper personalization, and greater convenience. Last year, Forrester predicted that automation would reach a tipping point — altering the workforce, augmenting employees, and driving new levels of customer value. Since then, […]
This was a strategy eBay deployed for holiday gift-giving in 2018. The company recognized that purchasing gifts for friends and family isn’t necessarily a simple task. For many of their customers, selecting gifts had become a stressful and arduous process, especially when they didn’t have a particular item in mind. In response to this feeling, eBay partnered with Facebook Messenger to introduce ShopBot.
User message. Once authenticated, the user sends a message to the bot. The bot reads the message and routes it to a natural language understanding service such as LUIS. This step gets the intents (what the user wants to do) and entities (what things the user is interested in). The bot then builds a query that it passes to a service that serves information, such as Azure Search for document retrieval, QnA Maker for FAQs, or a custom knowledge base. The bot uses these results to construct a response. To give the best result for a given query, the bot might make several back-and-forth calls to these remote services.
Our team of IT marketing professionals and digital enthusiasts are passionate about semantic technology and cognitive computing and how it will transform our world. We’ll keep you posted on the latest Expert System products, solutions and services, and share the most interesting information on semantics, cognitive computing and AI from around the web, and from our rich library of white papers, customer case studies and more.
The advancement in technology has opened gates for the innovative and efficient solutions to cater the needs of students by developing applications that can serve as a personalized learning resource. Moreover, these automated applications can potentially help instructors and teachers in saving up a lot of time by offering individual attention to each student.
The chatbot is trained to translate the input data into a desired output value. When given this data, it analyzes and forms context to point to the relevant data to react to spoken or written prompts. Looking into deep learning within AI, the machine discovers new patterns in the data without any prior information or training, then extracts and stores the pattern.

In a procedural conversation flow, you define the order of the questions and the bot will ask the questions in the order you defined. You can organize the questions into logical modules to keep the code centralized while staying focused on guiding the conversational. For example, you may design one module to contain the logic that helps the user browse for products and a separate module to contain the logic that helps the user create a new order.


Ultimately, only time will tell how effective the likes of Facebook Messenger will become in the long term. As more and more companies look to use chatbots within the platform, the greater the frequency of messages that individual users will receive. This could result in Facebook (and other messaging platforms) placing stricter restrictions on usage, but until then I'd recommend testing as much as possible.

Being an early adopter of a new channel can provide enormous benefits, but that comes with equally high risks. This is amplified within marketplaces like Amazon. Early adopters within Amazon's marketplace were able to focus on building a solid base of reviews for their products - a primary ranking signal - which meant that they'd create huge barriers to entry for competitors (namely because they were always showing up in the search results before them).
Its a chat-bot — For simplicity reasons in this article, it is assumed that the user will type in text and the bot would respond back with an appropriate message in the form of text (So, we will not be concerned with the aspects like ASR, speech recognition, speech to text, text to speech etc., Below architecture can anyways be enhanced with these components, as required).
If AI struggles with fourth-grade science question answering, should AI be expected to hold an adult-level, open-ended chit-chat about politics, entertainment, and weather? It is thus encouraging to see that Microsoft’s Satya Nadella did not give up on Tay after its debacle, and Amazon’s Jeff Bezos is sponsoring an Alexa social chatbot competition. I love this below quote from Jeff:
Derived from “chat robot”, "chatbots" allow for highly engaging, conversational experiences, through voice and text, that can be customized and used on mobile devices, web browsers, and on popular chat platforms such as Facebook Messenger, or Slack. With the advent of deep learning technologies such as text-to-speech, automatic speech recognition, and natural language processing, chatbots that simulate human conversation and dialogue can now be found in call center and customer service workflows, DevOps management, and as personal assistants.
It may be tempting to assume that users will navigate across dialogs, creating a dialog stack, and at some point will navigate back in the direction they came from, unstacking the dialogs one by one in a neat and orderly way. For example, the user will start at root dialog, invoke the new order dialog from there, and then invoke the product search dialog. Then the user will select a product and confirm, exiting the product search dialog, complete the order, exiting the new order dialog, and arrive back at the root dialog.
Niki is a personal assistant that has been developed in India to perform an impressively wide variety of tasks, including booking taxis, buses, hotels, movies and events, paying utilities and recharging your phone, and even organizing laundry pickup and delivery. The application has proven to be a huge success across India and won the Deep Tech prize at the 2017 AWS Mobility Awards.
Perhaps the most important aspect of implementing a chatbot is selecting the right natural language processing (NLP) engine. If the user interacts with the bot through voice, for example, then the chatbot requires a speech recognition engine. Business owners also have to decide whether they want structured or unstructured conversations. Chatbots built for structured conversations are highly scripted, which simplifies programming but restricts the kinds of things that the users can ask.
×