- Chat bots are becoming increasing common. However, building one require technical proficiency that small owners don't have. Creating a solution that helps ease the process will help proliferate the use of chatbot and increase customer service efficiency while reducing operating cost
What it does
Allow shop owner to create a product and the attributes for it e.g price, shipping, material, etc. so that commonly asked questions by user will be automatically handled.
If the chatbot fail, another chat app made for human agent will handle the conversation instead
How I built it
When a webhook is called from Facebook, the content is passed to wit.ai and the intent is retrieved. The item name is identified and the detail is retrieved. Then, based on the type of question (what, how much, how long) the appropriate reply is sent back.
For comment handling, because there is a context of a post, when the user asks about a generic item (one that does not have a full item name), the generic name is compared against a list of user-defined references and the corresponding info is retrieved.
When an item is found, it also sets a context variable so that user can refer to it in the following questions
When the thread is passed onto the 2nd app, it will store the messages and later display as pending conversations. This design allow multiple agents to collaborate and whoever is available can accept the support request.
Challenges I ran into
Facebook didn't allow me to receive webhook for comments, so i had to poll instead.
This is the first time i use sailsjs and node. Also using react with sails js together was a bit difficult at first due to browser security constraint.
Accomplishments that I'm proud of
What I learned
- Facebook graph api
- Facebook app review process
- Json web token
What's next for Chat bot
- Multiple chat agents
- Non-product specific questions