The process of building a chatbot can be divided into two main tasks: understanding the user's intent and producing the correct answer. The first task involves understanding the user input. In order to properly understand a user input in a free text form, a Natural Language Processing Engine can be used.[36] The second task may involve different approaches depending on the type of the response that the chatbot will generate.

NanoRep is a customer service bot that guides customers throughout their entire journey. It handles any issues that may arise no matter if a customer wants to book a flight or track an order. NanoRep isn’t limited to predefined scripts, unlike many other customer service chatbots. And it delivers context-based answers. Its Contextual-Answers solution lets the chatbot provide real-time responses based on:
[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.[8]