⇓ More from ICTworks

I Made a Facebook Chatbot And You Can Too

By Adam Fivenson on August 17, 2017

When I first heard that Facebook Messenger was introducing chatbots, I immediately thought back to junior high summers.

Back then I was spending a lot of time in my parents’ basement on the computer–safe from harmful things like sunshine and other people–getting into flame wars with people on IRC that (more often than not) turned out to be chatbots. Not my greatest summer.

Fast forward some 20 years, and chatbots are back with a vengence, this time with a significantly improved value proposition: (near) last mile access to native language information and services.

Primer: What is a Facebook chatbot?

Our Digital Insights research in Indonesia, Honduras, and Palestine emphasized the popularity of Facebook and FB Messenger in the marginalized communities where DAI and other development implementers work.

In Indonesia, 77 percent of the people we interviewed said they use Facebook on their phones; in Palestine that number was 95 percent. In Honduras, 80 percent of our respondents across urban and rural areas said they use Facebook.

If development projects want to reach people with information and services, we must meet them on the platforms where they already spend time: in more and more cases, as access to the internet, smartphones, and social media grow, that means on Facebook. (No, not exclusively and not in all instances. read our Indonesia post, and see which social media messaging app is king there.)

Why Chatbots?

A chatbot presents some distinct advantages as an outreach and engagement tool:

As users move from traditional broadcast social media to private messaging apps, the challenge for the Facebooks of the world (OK, there’s only one) is how to stay relevant in a Snapchat world. Facebook’s answer, as of April 2014, was to grandfather Messenger in as a replacement to the traditional Facebook private messaging function on mobile phones, pushing users to download Messenger.

The result is that a lot of people have Messenger on their phones: somewhere around a billion, in fact. Only Facebook’s other messaging app, WhatsApp, rivals Messenger in terms of global uptake.

The need to download and install apps is a barrier to entry for many people. Many phones come pre-loaded with Facebook and WhatsApp, many users only have spotty access to mobile data and WiFi, and many have limited on-board memory, making it difficult to introduce and install an entirely new app.

As The Economist duly notes, “Building apps and promoting them is getting more costly. Meanwhile, users’ enthusiasm is waning, as they find downloading apps and navigating between them a hassle. A quarter of all downloaded apps are abandoned after a single use.”

As an app designer myself (see the municipal budget transparency app we just launched in Guatemala), my experience has been that there are instances where it does make sense to develop an app, but often times it’s easier to introduce a new service through a familiar interface and platform (i.e., FB Messenger) than trying to introduce an entirely new app or web site.

Chatbots generally require less bandwidth than loading a web page or downloading an app to your phone, and mobile data is expensive! According to A4AI’s 2015 Internet Affordability Report, people in some countries pay upwards of 40 percent of their income for mobile access. In that context, every kilobyte counts! Lighter data usage lowers the cost of ordering food, checking the weather, or diagnosing an illness.

I don’t know about you, but any time I have to spend more than 2 minutes on an IVR or automated call-in line, I mash the 0 key until I get a human on the line. Similarly, if they’re well designed, chatbots can be a more intuitive form of interaction than a web page or app for a user (or call-in line).

From the perspective of the average concerned citizen, it’s probably easier to open up Facebook Messenger and have a conversation with a municipal “representative” (chatbot) to report a downed telephone pole than it is to use even even the best-designed SeeClickFix-style system.

From a management perspective, a chatbot is essentially a nearly-free way to take the burden off staff for answering clients’/citizens’ questions, take orders, and provide information, freeing up staff time to focus on other work.

Building a Bot

Chatfuel, Botsify, and OnSequal (among others) all make the process of creating a chatbot simple enough even for a code dunce like myself, as a recent posting in Social Media Examiner–How to Create Facebook Messenger Chatbots–showed. I chose Chatfuel because the tutorial in Social Media Examiner gave detailed instructions on the platform and it seemed easy enough to follow.

Siti, Job Search Bot for Indonesia

What did I build? My chatbot uses natural language (yeah, it’s in English; my Bahasa game is weak) to make it quick and easy for Indonesians to scan three popular job web sites: 1) JobStreet, 2) Jobs in Jakarta, and 3) JobRank for jobs in their town.

It asks the user to enter a location and job interest, which it turns into a Google query. The bot presents the results as a gallery of clickable sliders, which take the user directly to the job listing.

Now, Try Siti Live

Click the image or search for Siti in Messenger

How did I make this bot? It was surprisingly easy.

  1. I made a Chatfuel account and linked it to my Facebook account.
  2. I made a Facebook page for my chatbot. Frankly, it’s not a landing page, and few people will ever see it, so I didn’t worry about what it would look like.
  3. I learned how to design a simple chatbot by setting up a few choose-your-own-adventure style bots and testing them. I won’t embarrass myself (or the platform) by sharing them, but Chatfuel’s GUI is excellent, very intuitive, and they have tutorials that walk you through the process step-by-step. It’s a relatively easy system to learn once you start to play around a bit.
  4. I checked Google to figure out which job sites were most popular in Indonesia and built them into my search engine (see step 7).
  5. I looked through those job sites, categorized the jobs, selected the most popular locations and put them into the app’s workflow as lists of choices (the app also allows the user to type in their location and preferred job if either is not on the list). I also wanted to ensure that the list options’ syntax was consistent to what the job pages I included used, as the list options are what the bot uses to design the Google search string.
  6. The most difficult part was setting up the Google search function within the chatbot. But, once again Chatfuel provided an excellent tutorial on how to handle it.
  7. Lots of user testing! I spent a lot of time running through the app to make sure that its responses actually made sense throughout the conversation. I also reviewed the job results provided and removed a few of the pages I had initially included for the search engine because they provided poor results. Finally, I finagled a few friends into trying it out, helping me suss out typos and non-natural language, and general errors in flow.
  8. There are many more features and plugins that I haven’t even tried yet in the Chatfuel platform, including an option to include natural language processing and machine learning. I haven’t incorporated those features yet, but I’ll be looking to do so with my next bot.

Relevance to ICT4D

Chatbots are a rapidly growing medium as businesses, governments, civil society organizations, and businesses come to understand the their potential. Meanwhile, citizens/customers/constituents are becoming more comfortable communicating with the concept of chatbots through Facebook’s active efforts to promote successful bots.

This rapid confluence of interest and opportunity is the reason why big companies like Barclays are taking risks and developing chatbots for their overseas audiences.

While Siti is simplistic, it’s a useful minimum viable product for the type of innovations–grounded in local tech usage patterns and easy to design and update–that will likely dominate the nexus of technology and international development during the coming years.

By Adam Fivenson of DAI and original published as I Made a Facebook Chatbot (And You Can, Too) on Digital@DAI

Filed Under: Featured, Thought Leadership
More About: , , , , , , ,

Written by
Adam Fivenson is a practitioner of community-centered strategy, policy, program and platform design. His work spans the intersection of technology, democracy, and development. Adam is co-host of the Tech for Democracy Happy Hour and author of Disinformation Toolkit 2.0.
Stay Current with ICTworksGet Regular Updates via Email

5 Comments to “I Made a Facebook Chatbot And You Can Too”

  1. Alexei F says:

    Interesting article!

    I have been doing a lot of research recently about the use of chatbots, but there is one thing I feel is not adequately answered: Promotion.

    It seems incredibly hard for a user to actually find the bot in the first place, which seriously compromises its usefulness.

    What has been your onboarding strategy?

  2. Adam Fivenson says:

    Thanks for reading Alexei, much appreciated.
    Promotion is a major challenge. I found this article recently that’s quite a good resource for getting the word out about your bot: https://chatbotslife.com/how-my-chatbot-got-100k-users-in-1-week-f66a5f4f2212

    Beyond their recommendation, as with any new software-based tool, a lot of testing to better align the tool with users’ interests, as well as strong use of social media-based and physical world promotion in places your targeted users move.

    I also recommend checking out Chatbot Life web site in general, they have some great resources: https://chatbotslife.com/

  3. Alexei F says:

    Thanks Adam,

    Really appreciate the response 🙂

    I presumed there was something like Facebook Discover, but I haven;t for the life of me been able to actually find it!

    How do I actually get there?!

    At the moment, it seems to me that, as great as much as it makes sense to use a messaging platform because its where users are, using it to make an intervention in the ICT4Dev space requires somewhat of a captive audience.

    Would you agree?

  4. Adam Fivenson says:

    Hi Alexei, here’s more information on the Disocover Tab, it’s in your Messenger app. https://developers.facebook.com/docs/messenger-platform/discover

    If you have an active Chatbot, you can use Discover to promote it.

    As for having a captive audience, what do you mean? In my experience, once you choose your platform, it’s all about quality content. If you have quality content, people will pay attention. It just leaves the question of what qualifies as quality content, but generally as long as you have a local communications professional on the job, you’ll do just fine.

  5. Adam Fivenson says:

    Hi Alexei, here’s more information on the Disocover Tab, it’s in your Messenger app. https://developers.facebook.com/docs/messenger-platform/discover

    If you have an active Chatbot, you can use Discover to promote it.

    As for having a captive audience, what do you mean? In my experience, once you choose your platform, it’s all about quality content. If you have quality content, people will pay attention. It just leaves the question of what qualifies as quality content, but generally as long as you have a local communications professional on the job, you’ll do just fine.

    Good luck!