In our 3rd post of our 5-part mini series on Chatbots, we discuss a popular Bot technology called Botpress.

Retro Rabbit loves BotpressWhat is Botpress?

Botpress has been self-described as the WordPress of bots, and it certainly lives up to this reputation (in all of the good ways).

The framework makes it possible to leverage existing chat platforms (such as Facebook Messenger and Slack) to provide some service to users. This usually takes the form of passing messages back and forth between the user and the bot, in a conversational format. Depending on the chat platform used, it may be possible for users to respond through convenience methods, like quick replies — buttons that send a prepared bit of text to the bot for simple answers.

Botpress takes a lot of the grunt work out of writing a bot, as it provides a consistent framework for interacting with supported chat platforms. To further ease the load, it also has a small community of modules to integrate with other frameworks that provide bot-related services.


Botpress’ notable features.

Botpress is modular, but includes basic versions of a lot of functionality that would usually be found in libraries. This way, a developer may make use of more powerful libraries if they so choose, but don’t have to deal with the complexity if they only want a basic version of a particular feature.

Where many bot libraries choose to relegate handling of conversations to external libraries (or, heaven forbid, the developer alone), Botpress has built-in support for handling a conversational flow. The system allows for neatly and automatically keeping track of conversations with different users and giving them information relevant to them.

Express.js, already a popular Node.js framework, is the base of Botpress. Developers already familiar with Express.js and its middleware approach to handling requests will feel right at home. It’s even possible to get access to the underlying Express.js router for a custom endpoint.

Botpress embraces the latest and greatest in Javascript standards. Out of the box, it uses ES6 Promise functionality, ES7 async/await syntax, Webpack for smaller builds, and React for GUI-based configuration.


What we love about Botpress.

Where most apps would require users to download and install a separate app (steps which many users are unwilling to carry out), a bot can simply be added to a server or channel and be available to all members.

While Botpress may provide a powerful framework for creating a bot, it does not prescribe how this should be done. Handling of messages can be done in whichever way is most convenient, once they have been categorised.

Botpress in particular can easily integrate with multiple chat platforms. Messages from the separate chat platforms can then be received and sent using different logic, but use the same methods or API calls to process requests in the background. This means you can target users across multiple chat plaforms.


Where have we used this software?

Botpress has served us well in rapidly prototyping bot technology for clients in the finance and insurance sectors. Not only that, but we’re busy developing our very own Retro Rabbit Marvin the Rabbit bot using Botpress. 



For more on Botpress, check out their website. Also catch some of our talented Software engineers talking about our experiences with Bots at Botcon 2017, happening on the 25th of May in Cape Town, South Africa. Part 4 in this 5-part mini-series is all about why we love TensorFlow.