Overview for the Messenger Platform

The Messenger Platform Overview details how the platform works and what you need to successfully implement the platform.

Messenger from Meta is a messaging service that allows a business' Facebook Page or Instagram Business account to respond to customer questions about goods and services the business provides. Conversations between a customer, or potential customer, and a business must be initiated by the customer.

The Messenger Platform is free for businesses and customers.

How It Works

A customer sends a message to your business while logged in to Facebook or Instagram, or via a Meta plugin while visiting your mobile app or website. Your business can use the Messenger Platform to handle customer messages, either sending automatic replies, having a live agent respond, or a combination of automation and live agent.

Messaging Flow

When a customer sends your business a message, a webhook is triggered and sends you a notification that your Business Page or Instagram Professional account has received a message. Your app can then make calls to the Meta social graph to get this conversation, determine the appropriate reply, and send a response to the customer. The platform allows you to do this at scale and provides a wide variety of conversation entry points and message templates.

Limitations

A customer logged in to Facebook can not send a message to your Instagram Professional account nor can a customer send a message to your Facebook Business Page while logged in to Instagram.

What You Need

To successfully implement the Messenger Platform you will need to understand the following components.

Access Tokens

An access token is an opaque string that identifies an app, Facebook Page, or customer and can be used by an app to securely call the Meta social graph. An access token provides temporary, secure access to specific endpoints that allows a business to send and receive messages from customers. Learn more.

Advanced & Standard Access

There are two access level for Business type apps, Standard Access and Advanced Access. Standard Access is the default access level when you first register your app with Meta and allows you to get data for people who have a Role on your app, such as a developer, tester, or administrator, or a Role in a Business that has claimed the app. Advanced Access allows your app to get data for people who use your app but do not have a Role on your app or a Role in the Business that claimed the app. Learn more about App Roles , App Types , and Advanced and Standard Access .

Due to the limited scope for Standard Access, some features may not work properly until your app has been granted Advanced Access. This may limit any test apps you use.

App Review

You must complete App Review if your app will need Advanced Access to get data about or for app users who do not have a Role on the app itself, or a Role in a Business that has claimed the app. Learn more.

Business Verification

You must complete Business Verification if your app will be used by app users who do not have a Role on the app itself, or a Role in a Business that has claimed the app. Learn more.

Content Design Network URLs

Instagram Messaging leverages Content Design Network (CDN) URLs which allow you to retrieve rich media content shared by users. The CDN URL returned via webhooks, and the Conversation API, is privacy-aware. This means, the CDN URL will not return the media when the content is deleted or expired. You must not download, retain, or otherwise store on your system the media content sent or made accessible by any user via the API (or enable any third party to do so) and you, or any third party, must not do anything to circumvent expiration and/or removal of any link to such media content. Instead, if your app requires continued access to the media made available via the IG Messaging API, you must only store the privacy aware CDN URL in your system and use that to render the media made accessible via the API.

Facebook Login

In order for customers to allow your Page to send them messages, you will need to ask for their permission to do so. To ask for these permissions you will need to implement Facebook Login. Learn more.

Facebook Page

A Facebook Page is required to send and receive messages using the Messenger Platform. Learn more.

Handover Protocol

If you have more than one app handling messages, for example, one app handles automated responses and one app handles escalations to a human agent, then you will need to implement the Handover Protocol to pass the conversation from one app to another. For an app to reply to a message it must control the conversation and the Handover Protocol allows your app to request control from another app when it needs to reply to a message, accept control from another app, and to release control of the conversation when the app has sent the reply.

High-Volume Messaging

For Messenger Messaging

If a Page sends more than 40 messages per second or is constantly sending or receiving messages in a large number of conversations at the same time, new messages will not be displayed in the Page Inbox and the Page can not send new messages until the message volume decreases.

If a Page hits the high volume limit, API calls to get all conversations will fail, however, you can still call a single conversation to get new messages for that conversation.

For Instagram Messaging

If an Instagram Professional account sends and receives more than 72,000 messages, new messages will not be displayed in the Instagram Inbox and your Instagram Professional account can not send new messages until the message volume decreases.

The banners are displayed in the conversation indicating the limit has been reach. These banners will stop showing when the message volume decreases.

  • Your Message May Be Delayed Your message may take longer than usual to be delivered because [your-account-name] is receiving a large number of messages.

  • Your Message Wasn’t Delivered Your messages wasn't delivered because [your-account-name] is receiving a large number of messages. Please try again later.

Instagram Professional Account

To send and receive messages using an Instagram account it must be a Instagram Professional account. This allows your app to access data from the Meta social graph endpoints. Learn more.

Instagram-Scoped IDs

When a customer sends a message to an Instagram Professional account, an Instagram-scoped ID is created that represents that customer on that app. This ID is specific for the customer and the Instagram account they are interacting with. This allows an Instagram Professional account to map interactions for the same person across multiple messaging apps.

Meta Registration

You will need to register as a developer and register your app with Meta to make calls to the Meta social graph. Learn more.

Page-Scoped IDs

When a customer sends a message to a Facebook Page, a Page-scoped ID is created that represents that customer on that Page. This ID is specific for the customer and the Page they are interacting with. This allows a Page to map interactions for the same person across multiple messaging apps.

Page Tasks

The person requesting the Page access token must be able to perform the MESSAGING to send messages and MODERATE task to respond to comments on the Facebook Page linked to your messaging app. Learn more.

Partner Directory

Find a partner with expertise in the Messenger Platform in our Meta Partner Directory .

Permissions

Your app will need to ask for the following permissions via Facebook Login for Messenger conversations:

  • pages_show_list
  • pages_manage_metadata
  • pages_messaging
  • pages_read_engagement

To access Instagram Messaging, you must also ask for:

  • instagram_basic
  • instagram_manage_messages

Policies

To gain and retain access to the Meta social graph you must adhere to the Messenger Platform Policies, the Meta Platform Terms and Policies, and our Community Standards. Learn more.

Policy Requirements for Bots

Different countries may have different requirements for messages that are sent from a business. Please familarize yourself with these policies as well as other platform policies that we enforce.

Rate Limiting

For Messenger Messaging

Requests made by your app are counted against the number of calls your app can make in a rolling 24 hour period and is calculated as follows:

Calls within 24 hours = 200 * Number of Engaged Users

The Number of Engaged Users is the number of people the business can message via Messenger.

For Instagram Messaging

Your app can send 100 calls per second per Instagram Professional account.

Webhooks

Meta Webhooks are real-time notifications that allow you to get information about messages sent to your business without having to make calls to the Meta social graph which could result in rate limiting. You will need to set up Webhooks to receive notifications about messages sent to your business to avoid rate limits.

Next Steps

  • Set up Webhooks – Learn how to receive real-time HTTP notifications for messages sent and received by your app.
  • Send a test message – Learn how to use the platform to send a message.
  • Tour our sample app – Download code for our sample app to learn more about the features Messenger Platform has to offer.

Learn More

Learn more about the Messenger Platform from our Developer Videos . These videos include walkthroughs, best practices, recorded events, and more.