• Any UI that mimics chatting with a real human
• Instead of communicating with a computer on its own inhuman
terms—by clicking on icons and entering syntax-speciﬁc
commands—you interact with it by just telling it what to do
• Voice assistants
Why is it important?
• Truly cross-platform
• Removes Human-Computer interaction friction
• More interactive/user friendly.
Step 1: Gather your
Setting your development environment
• Quick setup, supports all major languages
• Provides HTTPS, a prerequisite for web hooks to integrate with
Facebook messenger platform
• Download heroic tool belt: https://toolbelt.heroku.com/
Create WebHook in NodeJS
• Install NodeJS and create index.js to serve web hook for authentication (code in next slide)
• Used to verify authenticity of Webhook (Similar to OTP system)
• Should support HTTPS
• Should serve GET request
• Should return challenge code for veriﬁcation
Add Procﬁle and upload
• Add a Proﬁle with this code (it speciﬁes that which ﬁle server
needs to run):
• web: node index.js
• Push code to Heroku:
git add .
git commit -m ‘’Initial code’
git push heroku master
Step 2: Setup
Linking app to web hooks
Subscribe web hook to
In the pop-up, add web hook and veriﬁcation token.
Click Verify and Save.
Subscribe web hook
Subscribe your web hook to page events.
• Add a POST method to your web hook to receive
all incoming messages and reply (Text limit is 320
What more you can do?
Welcome screen Structured messages
Things to avoid
• Premature product
• No user guide/help
mistakes in live
• Chatbots should make life easier 🔮
• The bot should introduce itself 💁
• Continuous support #
• Always suggest the next step 👟
• Start simple, but quickly add power features ⚡
• Interactions will be short, and that is okay ⏲
• A hybrid experience is the way forward 📱
• Interactions should be simple (
• Personality makes the experience more pleasant 👀
• Start off with a focused chatbot 🚴
• Reply, always 📝
Thanks to Juraj Pal, CoFounder, Sure (http://besure.io/)
• Parsing Natural language i.e. language that people
use in chat.
• Dealing with spelling mistakes, poor grammar etc.
• Feeding NLP engine with all possible words.
• Failed to pick city and
instead of asking location,
showing default location’s
• Gave herself a nice name,
but failed to detect that.
• Y Combinator startup
• Acquired by Facebook in Jan, 2015
• Launched free Bot Engine in April, 2016
• Provides drag and drop interface to write NLP rules
• Support available for Python, NodeJS, Ruby and as