Introducing The Al Jazeera English Facebook Bot

Al Jazeera English released its first Facebook Messenger Bot today. It took us two weeks to build it. This includes researching the current news bots, gathering requirements, develop the bot, and performing some user testing.

The development team was Omran Abazid and Alaa Batayneh.

The idea behind the bot is simple, in a nutshell, we deliver the right news at the right time by allowing users to choose the type of news they are interested in. Users can decide how often they want to receive breaking news articles, when to receive them, and when to stop receiving them.
From the beginning we decided to integrate Facebook’s Instant Articles into the bot in order to keep it modular.

Once we open-source the platform (which we’re planning on doing soon) this will allow other publishers to build their own news bots. The bot is designed to read from Instant Articles feed, process the articles, categorize them, save them, and serve them back to the reader.

This is how the bot works: The moment a Facebook user taps “Get Started” it begins by asking a series of questions that will help build a user’s profile. Users can choose to subscribe to news from a particular region e.g. Middle East and Africa news and can then choose to receive breaking news notifications and also turn on silent mode at night after 10pm.

The bot is backed by an AI engine to handle general or random conversations sent by users. It supports voice recognition (using Gentle), so that users can ask for ‘Syria news’ for example rather than typing it.

Tap and hold record

In order to continually enhance the capabilities of the bot we’ve integrated a private Slack channel to collect feedback from the bot.

Tap the bottom left corner for this menu

Users can easily update their settings (like the type of news, or how often to receive them)

Choose update settings from bottom left menu to update your preferences

As far as technical details go, we built the bot using NodeJS, Botkit (for the conversation handling), and MySQL for the database.

Please try it out by visiting the page and watching the video below.