Building a bot is no different from building any other typical web application. You start by defining the user scenarios, then you design the user interface (UI)
screens, where you capture the required information that flows from screen to screen. Building a bot falls along the same lines, except that the scenarios are implemented as conversations. The scenarios can be implemented in various ways in a bot application. User information can also be captured in various ways, like speech, ...