Facebook Messenger Chatbots — launch lean with ManyChat or hire a developer?

Features and limits of ManyChat and when to code your custom chatbot.

Mirko Kiefer
Mirko Kiefer’s blog
5 min readFeb 13, 2018

--

I’ve been diving into both ManyChat and the Facebook Messenger APIs to get an idea of the opportunities and constraints of both. I’m a big fan of not writing custom code wherever justifiable and making use of existing tools to reduce time to market. ManyChat is built on top of the Facebook Messenger API so by definition everything possible with ManyChat can be achieved with a custom coded chatbot using the API. But what types of use cases can you actually solve with ManyChat and what more could you do with the Facebook Messenger API?

Slick editor and live preview vs. config files and custom code

Visual editor with live preview in ManyChat.

ManyChat shines with its intuitive editor, you can click together a basic bot in a few minutes and get a live rendering of the interactions. There is no coding required and you can deploy your bot with one click.
If you build a custom chatbot you will likely have all the interactions maintained in a JSON file or similar making it much less accessible for a non-technical person. You will have to rely on your imagination on how exactly the interaction looks like until you actually deploy and run the bot in the real Messenger. For your custom chatbot you will need to setup and pay for hosting as well e.g. on Heroku or Amazon Web Services.

A few message templates I’m missing in ManyChat

Almost all of the message templates available with the Messenger API are supported in ManyChat. You can respond with basic text, buttons, lists, galleries, files and offer quick replies. With most interactions you are able to attach tags to your users based on the response which is powerful for segmenting your audience in future broadcasts.
A few notable ones that are currently missing is the ability to respond with your location, sending receipts, sending airline boarding passes and being able to buy and pay directly in the Messenger.

A major element missing in ManyChat is to present custom user interfaces in the form of web views. The Facebook Messenger API allows you to present interfaces as a modal that covers the full chat screen oor parts of it. This is really useful for complex interactions that would be tedious via chat or simply to embed existing interface elements from your app. The web view can communicate with the chat context so you are able to feed data from the current chat and send data gathered in the web view back to the chat.

Don’t rebuild ManyChat’s Audience tooling — you don’t have to

ManyChat gives you Audience tools that allow you to view and segment your subscribed users by their profile properties or custom tags added. This is actually a tool I would expect to be built-in to Facebook — their business messenger is a terrible experience compared to ManyChat.
It surprises me that both ManyChat and Facebook’s business messenger only allow sending of plain messages and none of the other templates. It would be helpful for agents to choose from pre-defined templates that are available in the automated flows to speed up the conversation.
I’m also still missing a ManyChat mobile app which should at least allow live chat interactions.
The ManyChat audience and live chat tools are actually something you could combine with your custom chat bot. Re-creating the experience in a custom admin interface would be really costly.

You need custom code bots for integrations

With ManyChat you can create complex flows based on the direct previous reply which is pretty powerful already. You can’t base replies on any interactions before the last one or user properties and tags that you might have applied. In a custom chatbot you have all the power of code and your user database to tailor the experience.
The use cases are further limited to whatever you can achieve without integrations with third-party systems. So you would have to build a custom chatbot for things like signing up your user to a webinar platform thats maybe hosted on GoToWebinar, scheduling a call with integration to Google Calendar or Calendly, feeding collected data into a Google Spreadsheet, combining data with your CRM or linking a user’s Messenger account to your existing app. You get the point.

Cost, time to market and the best of both worlds

Looking at both cost and time to market, ManyChat is a no-brainer at least for your initial launch. The currently USD 10 for the smallest PRO plan is around what you would have to pay just for hosting of your custom bot. On top of that will likely come a few thousand USD to pay a developer to build and maintain your bot.
Time to market with ManyChat beats a custom chatbot as well. If you are hands-on, you can create the entire interaction flow yourself in a few hours and deploy it directly. While a good developer could build a custom chatbot in a few hours as well, you will realistically spend a few days if you add the communication overhead for documenting your requirements, briefing and testing the results.

The good news is that it doesn’t have to be an either or. You can progressively enhance your ManyChat bot with custom code components. The Facebook Messenger API allows several bots linked to the same account. This allows you to keep the basic flow easy to maintain in ManyChat and use custom code hooks for the more complex integration pieces.

Promising: ManyChat Dev Tools

ManyChat just announced some exciting news around a ManyChat Dev Tools Beta. They are exactly addressing two of the pain points mentioned before. With what they call “External Request Actions” you will be able to send data to an external API. This might enable some of the use cases mentioned if they have a way to feed data from the API back into the chat.
Dynamic Blocks” will allow presenting message templates from an external source. So you should be able to deliver messages from your own API allowing you to customize the interaction with external data.
ManyChat didn’t publish any more details on their developer program but I will closely follow it.

--

--