• 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 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

  • Everything

What I learned

  • Sails.js
  • Facebook graph api
  • Facebook app review process
  • Json web token

What's next for Chat bot

  • Multiple chat agents
  • Non-product specific questions

Built With

Share this project: