Developing a Customer Support Chatbot with Botfuel QnA in 15 minutes

Michel Blancard
Botfuel
Published in
3 min readJan 24, 2018

A question and answer bot (QnA bot or FAQ bot) provides predefined answers to user questions, similarly to Frequently Asked Questions with the added interactivity permitted by a conversational agent. A QnA bot can handle many support issues, leaving only the complex ones to your other support channels. As we realised this was a recurring demand among our clients, we put much effort to provide a software solution that is extremely easy to bootstrap yet customisable at will.

A few weeks ago we explained how to create a QnA bot using Botfuel QNA and BotBuilder in less than an hour:

In the meantime, we launched our open-source framework and SDK for chatbot development. Botfuel Dialog enables developers to build highly conversational chatbots. It is based on strong decisions backed by field experience: use NodeJS, follow the Model-View-Controller architecture, favour convention over configuration and use components. Moreover it brings development best practices to chatbot development: testability, internationalisation, and scalability, all without lock-in.

We took care to make the integration of Botfuel QnA into Botfuel Dialog bots as easy as possible. Although it is explained thoroughly in our documentation, here are some highlights of the process.

First, you need to create a Botfuel app in order to use Botfuel QnA. This will give you access to our QnA interface where you can fill in the content of your bot:

Now, building the bot is no more complicated than creating a file named package.json:

{
"name": "my-qna-bot",
"version": "0.0.1",
"description": "Sample qna bot using botfuel-dialog and qna",
"scripts": {
"start": "botfuel-run",
},
"dependencies": {
"botfuel-dialog": "latest"
}
}

and a file named botfuel-config.js:

module.exports = {
adapter: 'botfuel',
qna: {},
};

If you are in a hurry, you can just clone our QnA sample bot.

Install (npm install) and launch:

BOTFUEL_APP_TOKEN=<...> BOTFUEL_APP_ID=<...> BOTFUEL_APP_KEY=<...> npm start botfuel-config

As you can see, we removed everything that is not absolutely necessary and we provided sensible defaults for the rest.

Your messaging platform will require additional configuration to connect to your bot. If you use Botfuel WebChat to embed the bot in any web page, this is no more than providing the url of your bot.

We can’t wait to see what kind of QnA bots you will create with this new simple approach!

--

--