Facebook Messenger 2.0 - What does this mean for Enterprise Bots?

Last week at the F8 Conference, Facebook presented new features for Messenger 2.0 including the Discover tab, chat extensions, parametric messenger codes and more. In line with Facebook’s business model, the focus of the Messenger release seems to be aimed at the enterprise market and getting more businesses to create bots for the platform.

David Marcus, Facebook’s VP of Messaging Products, shared some key statistics about the current state of the messenger platform:

  • More than 1.2 Billion people use Messenger every month

  • 2 Billion messages exchanged between people and businesses

  • Over 100k unique bots exist on Messenger

With over 65 Million businesses active on Facebook and only 100k bots, there’s a huge opportunity for the space to grow. “For developers, the past year was a year of learning and exploration,” says Mikhail Larionov. “This year is a year of scale.”

So, what has us most excited about the future of enterprise chatbots?


Up until now, organic traffic for bots has been limited to embedded buttons or links. Now, as the platform steps into a stage of growth, businesses can leverage the new discovery tab to showcase their bot.

Screen Shot 2017-04-24 at 3.21.13 PM.png

Customers can browse through bots in the same way they would browse apps in the app store. This increased visibility incentivizes businesses to create great bots with unique offerings. So, how does your bot get to the surface? First, you must submit an application. Then, just like Facebook ads, the quality and relevancy of your bot determines placement.

While the exact algorithm isn’t public, Mikhail Larionov, Engineering Manager at Facebook, listed the main filters for Discovery rank. Your bot should have low block and report rates, a ‘Get Started’ and ‘Menu’ button, and great smart responsiveness (relying less on human interaction). All of these filters tie back to the quality of the bot. In other words, you need a smart and professional bot that does something people find relevant and not spammy. "You will see lift, if you build the right experience," says Facebook.

Chat Extensions

This new feature allows a user to pull up a bunch of mini apps mid-conversation. Examples for this range from in-messenger games to more practical uses such as group purchasing, sharing songs from Spotify or creating a shared task list (shown below.) Any business that wants to leverage sharing in a group chat context can create an experience using this feature.


Imagine using a group chat to swipe through and vote on potential Airbnb listings for an upcoming group trip. Or adding items to an Amazon cart with your roommates. All within messenger.

Parametric Codes

Parametric codes transport retail or physical experiences into digital ones. They are ‘QR’ codes that take you to a specific flow within Messenger. So, hypothetically, if you are standing in Target and scan a parametric code in the grocery section, you might be greeted with a message containing coupons for produce. If you scan one in the toys section around the holidays, you might find Bullseye themed games for your kids to play.

There are many other use cases for this feature. ‘For instance,’ says Facebook, ‘hardware devices can feature parametric codes to allow people to link their account and control the device. Restaurants can assign tables using different codes, giving their bot a way to know where food should be delivered.’.   More use cases could be identifying which store you’re in, what section you’re sitting in at a sports game or simply which offline campaign reached you.    

We are very excited about this feature since it opens the doors for unique experiences in non-digital enterprise marketing and gives users an added way to discover a brand’s messenger bot.

Facebook hopes that by introducing new features, businesses will finally take the leap of faith and truly invest in building great chatbot.

At Smalltalk, we believe that now is the best time to do this. Businesses can leverage the scarcity of bots along with growing consumer interest and the latest features to create a unique and shareable experience. The opportunity for virality is now back on the table. Eventually, we believe all businesses will have a chat bot presence but now is the time to give customers an ‘Oh Wow’ moment before Messenger and chatbots become another common and necessary B2C channel.


Top 7 Chatbot Takeaways from Facebook F8

Facebook's 2017 F8 Developer Conference has concluded, and I am left with some excitement for today and additional curiosity about the future related to chatbots.

Top 5 Takeaways for the Present

Discovery Tab

Within Facebook Messenger, there is now a Discovery Tab that will make it easier to find relevant Bots. Facebook will promote both popular and high-quality chatbots, but also local chatbots based on your location.

Takeaway: Submit your chatbot once if is well trained and responsive 

Message Tags

Message tags were released before F8, but they are still very new. Facebook updated the rules, so chatbots can contact a user after the 24+1 window in the following cases: Shipping Updates, Reservation Updates, and Issue Resolution

Takeaway: Chatbots can now be used as a communication channel for updates related to long running requests from users

Smart Replies

Facebook will make it easier to get a chatbot up and running for small businesses with Smart Replies. FB will use their Deep Learning tools create a Wit.ai App populated with Stories based on the content on the Facebook Page.

For companies that want a more complex chatbot, such as the ones built by SmallTalk, it will be easy to turn Smart Replies off.

Takeaway: Smart Replies will provide a good first step for small businesses wanting to enable a chatbot

Parametric Messenger Codes

Facebook pushed the use of Messenger Codes at F8. What is new and exciting for Chatbots on Messenger is that we can now add parameters to Messenger Codes, so we can connect users to the Chatbot with the conversation started.

Instead of having just one Messenger Code that takes the user to the front door, we can have many codes which allow the Chatbot to start conversations at a relevant point. 

Takeaway: Messenger Codes are much more useful

Chat Extensions

Chat Extensions are mini apps within Messenger with can be used by all members of a conversation. FB demoed a Task Chat Extension which multiple users accessed to create a shopping list.

Takeaway: Another tool for brands to allow them to engage and support their customers

Top 2 Takeaways for the Future

Natural Language Processing

I was very excited during the Natural Language Understanding @ Facebook session, as Facebook talked about CLUE, which uses Deep Learning for better natural language understanding. I keeping hoping they would announce that CLUE was going to be integrated with Wit.ai. But, alas, that is not the case. 

Takeaway: Facebook is making great strides win NLP, but it is not yet easily available via Wit.ai

Understanding Images and Video

Facebook focused a lot on their tools that help users generate awesome content with a mobile camera. As of Q1, Facebook Apps now have easy access to the camera, so it is a lot easier to generate images and videos.

From the perspective of a chatbot developer, I am interested in how a bot might understand a user's intent if the user sends an image or video to the chatbot. Enter tools such as caffe2, which allow real-time processing of videos both of servers and mobile devices.

Takeaway: Bot will soon be able to handle visual intent processing in real-time


Why Haven't Bots Improved Web Chat Yet?

There has been a lot of excitement about bots this year, good and bad. But amid the buzz around restaurant bots in China; bot plays from Facebook, Kik, WeChat, and others; and, of course, the racist Twitter bots, is one very simple and completely overlooked use-case: good old-fashioned web chat.

Almost every site has a help-chat feature, usually illustrated by a stock photo of a smiling man or woman with a phone headset. Typically web chat is used to assist product discovery (questions, answers, etc.) or to facilitate customer support.  The experience with these chat features has almost always been the same for quite some time. Click on the help icon, wait for a response, type in your question, clarify your question about three times, wait for a response.

The current state of web chat is WAY behind the times, and I'm not just talking about the stock photos.  How?:

Web Chat Problem #1: The UI relies only on chat. 

New messaging platforms have changed the user-experience of conversations from simple text to hybrid interfaces that leverage many of the best visual interface and content elements from web pages and apps

Compare Comcast's web chat: 


with even a basic Messenger bot, like the Movie Bot

The experience is already better, and then you have the option of adding a variety of other useful buttons and tiles. Like the options for order tracking or push notifications in most shopping apps:

Or the more basic text and response buttons available for information-based apps:

Or carousel options for displaying a variety of options:

Or an intro screen that instantly gives customers basic info

Or any of the various "Message us" buttons available to guide customers into Messenger chats


You get the point: There are now dozens of options to provide a richer and more useful experience for customers (and, for businesses, to engage with customers longer and thus glean more information from them). The modern bot experience renders the simple, text-based question-and-answer sessions of web chat outdated in comparison.


Web Chat Problem #2: The chats are generally with humans

It can take a long time to engage and to get a response. No matter what, a human response is going to lag behind an automated bot response. And here's another thing: In most cases, businesses don't want to pay for 24-7 live-chat support. Nike's web chat, for example, when clicked during off-hours, will guide users to enter their email and wait for a support staffer to contact them later.

Compare that experience with what users are increasingly expecting from brands like Spring and Everlane in Facebook Messenger: 24-7 availability, and instant gratification.

On the business side, providing a web-chat service costs a lot of time and money. Many of the more commonly asked questions could easily be answered by a bot, freeing up human operators to jump in and handle more complex issues, or take over if a bot is struggling.

Compare either of these experiences:


Live Chat in FB Messenger:

With the standard web-chat experience, which generally requires several steps before you can even answer the question you're there to ask.


It's not mobile-friendly.  More traffic in general is becoming mobile and much of that traffic has FB messenger. The average web chat is not only not optimized to look right or perform well on mobile, it's also not set up to capture the sort of user data that makes Messenger so popular with businesses.

Just look at the data you can get with the standard user profile template on Messenger:


And now look at the device-optimized display of Messenger, which lets developers optimize the view depending on device and browser size:


Compare that with the total fail of the Comcast web chat experience on mobile:


On the UI and design front, web chat is an inferior support option on every metric, for both customers and companies. It's hard to imagine why any company would opt for web chat over the more modern-feeling Messenger, except that so many companies have already invested heavily in web chat infrastructure they don't want to scrap just yet, and that not every company wants to be handling the bulk of their support claims through a third-party app like Messenger. 

And then there's the fact that, for all of its issues, web chat is both well liked and effective. It's the highest rated (not most used, but most liked) customer-support channel with 73% customer satisfaction. Businesses like it because it can deflect 70% of service calls, on average. That stat is backed up by the fact that 53% of online customers say they'd prefer to use web chat than call a website's help number.

So you've got a feature that people like and would prefer to use more often, backed by outdated technology that can be easily updated. And you've got companies that could save money on deflected calls while improving service and keeping customers happy (see chart below for stats on how much companies could reduce salary spend by deploying bots to handle the simplest aspects of customer service).

This should be a pretty straightforward upgrade for most websites. You've already got an improved visual paradigm for chat, led by Facebook, Kik, and WeChat. The business case is easy to make: You're talking about a more cost-effective way to provide better service to customers, and to engage with them in a non-annoying way. It's a low-risk proposition, too. Most sites would (and should) keep their best service people around to deal with the more complicated or high-value cases, and let bots handle the basics. 

Of course, if every site in the world were to go out tomorrow and try to create their own custom chatbot it would be an overly complex, expensive nightmare and the value of upgrading web chat would disappear quickly. What we really need is a write-once-run-everywhere option for web chat, one that's optimized for mobile as well, especially since 62% of customers expect live chat to be available on mobile devices, and if available, 82% would use it (per Moxie Software).

Hundreds of sites, and their customers, already see the value in chat -- upgrading the offering with bots will only increase that value.

Persistence in chat

We are all familiar with the paradigm of being asked for our shipping address on a form.  Generally, there is a second step which is to get the billing address.   On well designed sites, this information is hidden or filled out and there is a checkbox that is pre-checked that says something like "same as shipping address".   This paradigm came about because it's best not to ask the user the same information twice as that becomes frustrating, leads to more user work, and ultimately decreases conversions.

So, what is the parallel in chat?   We believe it's very similar.  Once you've asked the user a question once, then for the rest of their chat session, you should confirm that choice rather than ask them again.   For instance, if someone is on facebook messenger, you should never just ask them for their name, you should always say something like "is your name John Doe" and ask them to confirm.   Likewise if they have already given you some information, you should confirm it.   For one of our clients there are many areas where we ask for their email address - such as for looking up an order, printing a return slip, and leaving a message.   When the user has already filled in their email for one of the functions, it simply asks "do you want to use john@doe.com as you email address?" in all other places where email is required.   

One final point on this paradigm is the length of the session.   With many chat apps, it requires the user to be logged in (such as fb messenger).   One of the great things about chat is that it is a persistent conversation where all the old interactions can be looked at.   Given that, we believe that the "session" should remain active while the user is logged in - so even if they come back a few days later, it should still keep all their information handy so they don't need to fill this in again.

The exception to this rule is personal and confidential information.   Things like social security number, credit card info, ccv, etc. should not be remembered or stored locally.

Chat UI: confirmations

On the web, there is usually a confirmation step before the user finishes their transaction.   Often, the confirmation will repeat the information a user is about to submit and has a way of editing the information before final submission.   

But how to do this in a chat format?   More and more Chatbots are gathering a set of information and then submitting the information.   We have not observed many confirmations and where there are confirmations, it's usually just submit info or start again.   So, how to solve this issue?   

For short forms, there is a fairly easy UI solution using standard facebook messenger elements.  Take the example of a form that just takes name, contact information and a message.   It then repeats all the information back to the user and sees if they want to submit or edit their message.

Once we have their information, the information is repeated and the user is asked if they want to send or edit the information.  If they chose to edit it, they are asked which field they want to edit using quick replies.   Up to 5 fields should be easily supported in this UI.

Upon editing the field they want (in this case phone number), the user is given the choice to edit more fields or review the message.  If they go to review the message they are shown the message again and asked if they want to send it or edit information.  They can repeat this step as many times as they like and continue to edit other fields.

This seems to work well for users and allows them to quickly edit the previous inputs.   This generally works for a short form.   However if there are longer forms with more fields different techniques will need to be used.

Chat UI : translating form elements to chat

Chatbot UI is an evolving field.   Chat is no longer just text, but there are any number of UI elements that are now available from many chat providers.   You can now have buttons for user to click on, lists of items, horizontally scrolling info cards, etc.   Facebook has a number of "templates" and is setting new standards for what UI elements are available.   

Chatbot "forms"

Example of simple form interraction

We have been getting a number of request from our clients lately to have the equivalent of forms on the web as part of the Chatbot.  Often times for customer, self service or commerce functions, the user will need to provide structured information to the bot.

Many times this is pretty straight forward.  In the use case for a clothing company,  one of the features of the bot is to take a message for customer service.   They need a number of data fields to respond (name, contact, order number, and message) and the process requires a few confirmations.   The bot just asks the questions  sequentially.  When it knows information already (such as a name) or when it wants to confirm the information it already has - it  a button to confirm values.  This is a fairly simple example and the translation from web UI to messenger UI doesn't require too much imagination. 

Basic Form Elements

For some form elements, the translation from the web / mobile to a chatbot UI is fairly self evident.  A rule set can be developed to aid UI designers when they are considering how to implement a chatbot form.  Consider the list below:

  • Form Field - Just ask the question
  • Text Area - Again, just ask the question.   The chat bot will allow for a long input as well as a short input.
  • Confirmation Prompt - button template with some text and then the button.   The button can contain the actual text (as with the name confirmation) or the action to be taken (as with the send message confirmation)
  • Radio buttons - quick replies such as "yes" "no" (see the bottom of the drop down list example below)

Drop down lists

Example of drop down list

However, some form elements are more difficult to translate to a chat interface.   Consider the case from one of our clients who wants to list about 9 choices for the user to choose from.   The user won't necessarily know what the choices are and even with NLP may not be able to articulate exactly what they want to enter - in other words, the user needs to be able to see the choices available to them.   Just asking them what their primary discipline is isn't enough.  

To solve this UI problem, we considered the following options:

  • Listing out the choices in the text response and then having the user type in what they wanted - "What's your primary discipline: Aerobics, Fitness/Exercise, etc."
  • Using 9 quick replies and letting the user scroll horizontally to chose which one they wanted
  • Using 9 generic templates and letting the user scroll horizontally to choose which one they wanted
  • The chosen method was to have 9 buttons using the button template and making the user scroll vertically if needed.   We realized this wasn't available right now in FB messenger and you'd likely need 3 replies with 3 buttons each, but we think that's worth while to explore..

This seems to work in the example we have with 9 items, but still doesn't solve for longer lists (imagine a list of makes and models for a TV for instance).  But for lists with less than 5 items it works great and seems to work for up to about 10.

Multiple Selects or Check Boxes

Example of multiple select

In our clients case, once the user had selected their primary category, they now had a number of other categories from which they could choose 1-N.  This list was now longer and required the user to be able to select multiple items - a UI that on the web would generally utilize check boxes or a multiple select.   In addition, some of the items would need to have further explanation about them.

There just were no good templates available for this kind of interaction that we could think of.   So we had to build one of our own (or rather borrow from well known UI paradigms from other places).   We decided to use a webview for this functionality.   Webviews allow you to put a small web page within some or all of the messenger.   Once the user has finished their interactions with the webview, they are returned back to the messenger conversation.  In this case, we decided to use a full screen webview and borrow from the IOS UI.  So when the user clicks on the yes button in the example above, they are shown this expanded list.  The user can click anywhere within the row to select the item and a check appears.  The information bubble shows help text on the category.  Closing the window or pushing the done button returns the user to the messenger and repeats the categories the user chose - "You chose xxxxxx, yyyyyy, and zzzzzz as secondary disciplines.  Now we need to know if you perform massage therapy as well (Yes/No buttons)"


More and more, bots will need to ask user questions akin to a web form.   Many form elements are easily translated, but as bots become more sophisticated, new paradigms will need to be developed for handling rapid data entry through a bot interface.   Facebook and the other messenger platforms are quickly adding support for this, but more is needed.   

The drop down lists and multiple select example in this article are one way that our UI team has approached some of these challenges.  We welcome feedback on the ideas and always like to see what others are doing to solve similar issues.