The Facebook App Approval process for chatbots is a daunting task. Although it seems to be a simple step-by-step process, every bot is different and explaining the purpose and functions of your bot to the approval team isn’t always easy. In addition, ever since the Cambridge Analytica scandal, the review process has become more strict and in many regions, Facebook doesn’t have enough staff to ensure the process is timely. Users have been reporting that the app review process took anywhere from 2 weeks to 2 months and they didn’t get approved the first time around. Facebook Bot Verification is a tricky, sensitive matter and takes a fair bit of planning before you can confidently send it.
Below we’ll describe how you can navigate the review process. Alternatively, we’ll show you how you can connect your Dialogflow agent to Rocketbots and connect it to a Facebook page while completely skipping the Facebook review process.
What is Facebook App Approval for Bots?
The Facebook App Approval process for bots is a set of forms you fill out which allows your bot to be tested and approved by a human approval team on Facebook. This process is designed to ensure that you follow Facebook’s guidelines when it comes to bots on the Messenger platform as well as ensuring your bot is up to Facebook’s user experience standards.
Just because you think you’ve adhered to Facebook policy and experience requirements doesn’t mean that you’re out of the woods yet. Users have reported that they followed Facebook’s guidelines to the letter and were still denied for issues like poor user on-boarding and poor documentation of sign-up processes. Overall it seems that Facebook’s new internal approval guidelines are much more conservative and this has confused developers.
Traditionally, the Facebook App Approval process for bots consists of gaining access to two app-level permissions which allows your bot to interact with Facebook Messenger users. These permissions are:
- pages_messaging: allows the bot to respond to a user within a 24-hour period
- pages_messaging_subscriptions: allows a bot to respond outside of the 24-hour period in specific use cases.
This is in line with the Facebook Messenger Bot 24 + 1 policy which states that you may respond to a users message within 24 hours plus sending 1 message outside of the 24-hour window using only the pages_messaging permission. The pages_messaging_subscriptions permission allows you to send messages to users outside of those parameters for use cases which Facebook specifies.
Recently, there has been a change to Facebook’s approval process. This change means that the subscription permission has moved from app level to page level. All existing bots with subscription messaging will have to be reapproved for the page level subscription permission by December 31, 2018.
The Submission Process
The Facebook App Approval process for bots has transformed quite a bit since it first started. In the early years of 2016 one only needed a short description and a screencast. Back then bots were easily approved in a few business days, even ones that weren’t finished yet. A lot of things have changed since then. Nowadays not only will Facebook want a functioning bot with an excellent user experience but they will also ask you to adhere to a far more strict Facebook Community Guidelines document updated in 2018.
To get started with creating an App on Facebook’s Developer Console by navigating to developers.facebook.com. Click on your profile icon at the top-right corner and select “Create App”. You’ll be asked to choose the app type, choose “Messenger”.
Once you’re in the App Review section you’ll need to select a Facebook Page from which the Facebook approval team will need to test your app. Remember to let users message your Facebook page if you haven’t done so already. This requires you to go to the settings of your Facebook page:
- Go to Page Settings > General
- Click edit in the messages row
- Check: Allow people to contact my Page privately by showing the Message button
- Don’t forget to save you changes.
Alright now that you’ve done the above make sure your app is set to development mode.
You can do this immediately by just flipping the switch on the top right of the app review menu, below the developer console menu.
Next you will need to request your app permissions. This has been simplified since Facebook has moved pages_messaging_subscriptions to page level. You’ll need to select pages_messaging and add some explanations before you submit. Explanations are simply the reason your bot requires this to function in it’s duty and it’s expected use case. Like this:
The last thing before you submit or approval is to get your Business approved. This first portion is relatively simple, you’ll need to provide:
- A URL to your privacy policy
- An icon for your bot
- Select a bot category
- A description of the bots purpose.
It goes without saying that your privacy policy cannot violate Facebook’s privacy policy.
Now you can submit your bot for approval and Facebook will test your bot for responsiveness, functionality, and policy adherence. Once you submit you’ll even be able to see employees from Facebook talking to your bot once in a while. Now that you’re waiting for review, keep your eye on Facebook notifications. This is where you will get your results from. Some of the alerts will ask you for a response or an action, so make sure you get to them within 24 hours.
Once your bot has been approved, Facebook will continue with Business Approval, this will require you to submit:
- Business Name
- Address
- Phone Number
- Business License
- Articles of Incorporation
- Utility Bill
Business verification may take up to 4 weeks depending on which region you are located in.
Why Would Facebook Reject Me and How Can I Avoid It?
Since the review process is run by a human team, there is some variability in how long the process takes and the reasons for rejection. Here are some reasons why Facebook might deny you, according to our own experience and other people experience:
- Facebook rejected my bot because of a use-case mismatch.
- Facebook rejected my bot because it doesn’t respond to non-tester profiles.
- Facebook rejected my bot because on boarding was too complicated.
- Facebook rejected my bot because it wasn’t personal.
In short, there are dozens of reasons why the review team may reject your Facebook Messenger bot. The important thing is to keep cool and work with the review team to solve the issues which they identify. They are the gatekeepers after all.
To increase your chances of approval make sure your bot has a clear objective and all conversation dialog can lead to a goal or set of goals. Make sure all users can talk with your bot, that means turning on Facebook Page Messaging so users can send messages to your Facebook Page. Make sure your bot has a clear greeting and it is easy for users to understand what to do next. Personalize conversations using Facebook’s User Profile API or native personalization strings that you find in NLPs like Dialogflow.
With Dialogflow you already have many useful tools at your disposal to tackle these issues. Dialogflow includes Facebook APIs into the backend so you can easily introduce Facebook features without having to leave the NLP, like buttons and menus. You’re not going to be able to draw on all the APIs Facebook has to offer, but Dialogflow entities will enable you to achieve a level of personalization that is satisfactory for the approval team.
Here’s How to Skip Approval (If You’re Using Dialogflow)
The truth is, the most likely reason you are reading this article is that you are looking for ways to skip the Facebook Messenger bot approval process. That is something we can help you with at Rocketbots. We’re able to do this because the Rocketbots app has been approved with this specific use case in mind. In addition, our platform can connect easily with both Facebook and Dialogflow. This means that you can connect your Rocketbots space to your Facebook Page and then connect your Dialogflow agent to your Rocketbots space.
For a limited time, we will even be able to help you to skip the pages_messaging_subricption permission. However, this will change after December 31st, 2018. From then on you will have to seek approval directly from your Facebook page.
You can give it a try by first signing up for a Rocketbots account and follow our guide by adding your Facebook Page to Rocketbots. Navigate yourself to the Bot menu item and you’ll be able to select your Facebook Channel and add your API tokens from Dialogflow. Once you’ve completed this easy step, you’d done it. That’s all it takes, and your bot is now available on your Facebook Page.
You’ve just skipped all those redundantly painful steps to verify your bot on your own, and with all the time saved, we think you should spend the time exploring our platform for a bit. Aside from helping you to get your bot up and running for a much faster pace, Rocketbots has a few useful features that a Dialogflow developer may want to give to their clients. This includes multi-channel integration to many messaging apps, a CRM with tagging and also a survey maker. You can also use Rocketbots to create much easier to use embed code for the Facebook Customer Chat plugin to bring bots to your website.