Skip to main content
How Stephan Built His Facebook Banker Chatbot

How Stephan Built His Facebook Banker Chatbot

Root Team  •  29 January 2018

We’re building a programmable bank for software developers here at Root. We want to enable makers to easily create real value-adding products in the world of financial services. A select group of people have been given access to Root accounts in our private beta program so far, and they have been actively creating some exciting products. Here’s the first story we’d like to share with you.

Meet Stephan Steynfaardt. He is a Co-Founder at We are Monsters, a venture studio in Cape Town using technology to create real-time solutions, especially in the financial budgeting space. Stephan wanted to know how much he can spend at any given moment and whether he can afford that pair of sneakers he's been eyeing.

Before becoming a Root user, he encountered many barriers to solving this problem. Stephan noted, “I had to ‘hack’ together multiple scripts to get basic data from my own bank account. The problem with this is that the moment the bank’s website changed, my scripts would stop working.”

Why a chatbot?

After Stephan joined the Root private beta, he dived right into building his first Root project: Momo, a personal banker chatbot using Facebook Messenger. Root - Momo the Facebook Messenger Chatbot

“I needed an easy and secure way to keep an eye on my finances, get notified when I spent my allocated budget, and make payments a little more fun. A chatbot was the clear route to take. It doesn’t suffer from ‘banking hours’ so when I’m out at 2 AM,
it’s my turn to pay for a round of drinks, and my card stops working, I’m able to see right there and then what’s going on.”

Root - Momo Facebook Chatbot Intro

Momo was born to be a human-like, natural interaction with your bank account. A personal banker available 24/7, executing commands immediately. By the time of writing, Stephan has also trained Momo for the following functions:

  • “What’s my balance?”
  • “Pay Nick R100 for coffee”
  • “Show my transactions from yesterday”
  • “Show me my transactions on my Uber card”
  • “Lock my primary card”
  • “Send Nick my banking details”

Root - Momo Facebook Chatbot EFT

How did he build it?

Stephan built a Node.js backend to power Momo and hosted it on DigitalOcean. Momo uses the Facebook Messenger API combined with the following NPM libraries:

  • bootbot: simplifies creating a Facebook Messenger chatbot.
  • node-wit: a Node.js wrapper for, a tool that makes natural language processing a breeze for developers – giving Momo it’s human-like touch.

Root - Momo Facebook Chatbot Architecture

Momo takes a command like “Pay Nick R100 for Coffee” and turns it into a simple request to the Root API:

curl \
  -u test_key_tYILz1640w9q5n5kNQUZ: \
  --request POST \
  -d amount=10000 \
  -d description="Nick Coffee" \
  -d their_reference="Coffee"

What's next for Stephan

Momo is currently only available on Stephan’s Root bank account. He regularly makes improvements to Momo’s user experience and is planning to package it for others to use on their Root accounts. The next major feature he’s working on allows your friends to request a payment from you through Momo.

Let us know what you would want to build on your bank account by tweeting @RootPlatform.

We’re actively looking for great people to join our team, please take a look at our careers page and get in touch! :)


Root Team

A collaborative article

Root is an end-to-end digital insurance platform that enables you to launch new products and digital engagement channels fast. We package all the compliance, regulatory and reporting complexities behind easy-to-use APIs, allowing your team to focus on building great customer experiences.

Are you interested in taking your insurance business to the next level today? Email us at [email protected] or get in touch here to hear more.

Schedule a chat

Stay in touch

Receive updates and the latest news from Root.

Thank you

Your email has been added to our mailing list.

By subscribing you agree to our Ts & Cs and our Privacy Policy, including our use of cookies.

We use cookies to ensure that we give you the best experience on our website, as described in our Privacy Policy.
If you continue to use this site we will assume that you are happy with it. Change options.

Statistic cookies help us to understand how visitors interact with our website by collecting and reporting information anonymously. Google Analytics cookies are anonymized.