sales chatbot
# 🤝help
Hey there fellow Bot-Builders and Botpress-Enthusiasts! I have a question regarding 2 Chatbots I am currently building. One is for a real estate company and the other one is an Online Shop for all things around the garden. I want to build a chatbot that knows the products (or houses for the real estate) of the clients mainly from the website, because the products and prices can frequently change. I will also upload documents with more details for each product to the knowledge base as a PDF. I then want the chatbot to ask what the user is looking for, ask for some details on the product like size, price, material, and so on. I don’t want the bot to always ask for specific things like always ask for size or whatever, but instead let the user provide whatever he knows about the thing he is looking for and then have the bot list anywhere from 1-3 or more products that fit the description. I also want the bot to privde some details on the products, as well as the price and a link to the article. Maybe also ask the user if he wants to add it to the shopping cart and automatically add it afterwards. Afterwards, I am also looking for a way to have the bot make smart upsells or recommend other products related to the one the user is buying. In short conclusion I want the bot to do: 1. help me to find a product in an interactive process that fits the simple customer requirements (material, dimensions, etc.). 2. use extended information to provide information on use and operation/assembly. (How long does it take to set up? Is it suitable for children? How do I maintain my garden shed? What is the best way to do this? I‘d be really happy to about an advice! Thank you guys in advance 🙂
Great idea - I'm actually doing a similar one. Here's kind of a step-by-step what I would do: ### 1. Define the Bot's Architecture **Dedicated Workflows**: Create workflows to make the functionality modular and easier to maintain or modify in the future. Use variables for workflows to direct the flow inside based on inputs. **Intent Recognition**: Classify user inputs into intents such as
, or
. **Entity Recognition**: Set up entities that the bot can recognize from user inputs. This would have to be connected to the KB - first level to use minimum of tokens and don't generate extensive response. I would start with something like
, etc. ### 2. Data Integration **Product Database**: I would ensure that the bot can access a live database where product information is stored. I would avoid PDFs or at least convert them into well-chunked, small pieces of information about each product/service. The KB can come from a dedicated database/API/Google sheets/etc. I would make it easy for anybody to add information about products and later import it to KB on estimated day times. **Document Handling**: For PDF documents with detailed product information, I would consider extracting text from PDFs and storing it in a searchable format as explained above. This information can be linked to specific products in the database.
### 3. Dialogue Management **Dynamic Interaction**: Instead of following a rigid script, I would use dialogue management capabilities to create a flexible conversation flow. For example, the bot should handle inputs variably depending on what the user specifies (e.g., skipping the size question if the user already mentioned size). This could go to variables or specific table to hold user choices - something like that. **Context Handling**: Maintain context throughout the conversation to allow users to refine their queries or add more details without starting over. Here, variables or tables would be the best for returning users. ### 4. Implementing the Bot Functions - **Product Search and Display**: Once the intent and entities are identified, the bot should query the database and retrieve products that match the user's description. I would focus on getting minimum amount of information at this step. It can then display the top results along with details like price, a brief description, and a link to the product page. - **More Details**: If the user would like more feedback about his choice, he would go to a separate flow where the bot would provide more detailed information. - **Cart Management**: I assume that the bot interacts with the website, so I would implement functions to add items to the website's shopping cart directly from the chat interface. This requires integration with your website's cart system. - **Product Recommendations and Upselling**: I use a similar approach to show ads from KB based on user intents so that the ad meets user/customer expectations. Therefore, discovering intents is quite important throughout the whole conversation.
### 5. User Experience Enhancements - **Feedback Loop**: Allow users to provide feedback on the recommendations. This can help refine the bot's future suggestions. This would help to review the KB and maybe modify the content to improve the final results. - **Multi-turn Conversations**: Enable the bot to handle multi-turn interactions where it remembers past questions and answers to build upon them in the conversation. This is part of the recommendations through questions. ### 6. Deployment and Testing - **Testing**: This is the fun part. Use real users to gather feedback and make adjustments. Pay attention to how well the bot understands various queries and how effective it is in handling different conversation paths. ### 7. Maintenance and Updates - Keep the bot’s product database and documents up to date with the latest information. By using a modular approach, you can create a highly effective and interactive chatbot.
Thank you so much for the detailed answer!! @square-toddler-30705