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.
A bot is software that is designed to automate the kinds of tasks you would usually do on your own, like making a dinner reservation, adding an appointment to your calendar or fetching and displaying information. The increasingly common form of bots, chatbots, simulate conversation. They often live inside messaging apps — or are at least designed to look that way — and it should feel like you’re chatting back and forth as you would with a human.

Generally, companies engage in passive customer interactions. That is, they only respond to inquiries but don’t start chats. AI bots can begin the conversation and inform customers about sales and promotions. Moreover, virtual assistants can offer product pages, images, blog entries, and video tutorials. Suppose a customer finds a nice pair of jeans on your website. In this case, a chatbot can send them a link to a page with T-shirts that go well with them.
There are multiple chatbot development platforms available if you are looking to develop Facebook Messenger bot. While each has their own pros and cons, Dialogflow is one strong contender. Offering one of the best NLU (Natural Language Understanding) and context management, Dialogflow makes it very easy to create Facebook Messenger bot. In this tutorial, we’ll… 

Consumers really don’t like your chatbot. It’s not exactly a relationship built to last — a few clicks here, a few sentences there — but Forrester Analytics data shows us very clearly that, to consumers, your chatbot isn’t exactly “swipe right” material. That’s unfortunate, because using a chatbot for customer service can be incredibly effective when done […]
1. Define the goals. What should your chatbot do? Clearly indicate the list of functions your chatbot needs to perform. 2. Choose a channel to interact with your customers. Be where your clients prefer to communicate — your website, mobile app, Facebook Messenger, WhatsApp or other messaging platform. 3. Choose the way of creation. There are two of them: using readymade chat bot software or building a custom bot from scratch. 4. Create, customize and launch. Describe the algorithm of its actions, develop a database of answers and test the work of the chatbot. Double check everything before showing your creation to potential customers.

A chatbot is a computer program that simulates human conversation through voice commands or text chats or both. Chatbot, short for chatterbot, is an Artificial Intelligence (AI) feature that can be embedded and used through any major messaging applications. There are a number of synonyms for chatbot, including "talkbot," "bot," "IM bot," "interactive agent" or "artificial conversation entity."
As retrieved from Forbes, Salesforce’s chief scientist, Richard Socher talked in a conference about his revelations of NLP and machine translation: “I can’t speak for all chatbot deployments in the world – there are some that aren’t done very well…but in our case we’ve heard very positive feedback because when a bot correctly answers questions or fills your requirements it does it very, very fast.
Chatbots have come a long way since then. They are built on AI technologies, including deep learning, natural language processing and  machine learning algorithms, and require massive amounts of data. The more an end user interacts with the bot, the better voice recognition becomes at predicting what the appropriate response is when communicating with an end user.
Shane Mac, CEO of San Francisco-based Assist,warned from challenges businesses face when trying to implement chatbots into their support teams: “Beware though, bots have the illusion of simplicity on the front end but there are many hurdles to overcome to create a great experience. So much work to be done. Analytics, flow optimization, keeping up with ever changing platforms that have no standard.
One pertinent field of AI research is natural language processing. Usually, weak AI fields employ specialized software or programming languages created specifically for the narrow function required. For example, A.L.I.C.E. uses a markup language called AIML, which is specific to its function as a conversational agent, and has since been adopted by various other developers of, so called, Alicebots. Nevertheless, A.L.I.C.E. is still purely based on pattern matching techniques without any reasoning capabilities, the same technique ELIZA was using back in 1966. This is not strong AI, which would require sapience and logical reasoning abilities.