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 Professional account to respond to people who are interested in your business or social media. Conversations between a person and your account must be initiated by the person.

The Messenger Platform is free for you to use.

How It Works

A person sends a message to your business Page or Instagram Professional account while logged in to Facebook or Instagram, or via a Meta plugin while visiting your mobile app or website. Your business Page or Instagram Professional account can use the Messenger Platform to handle the person's message, either sending an automatic reply, having a live agent respond, or a combination of automation and live agent.

Messaging Flow

When a person sends your business Page or Instagram Professional account 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 person within 24 hours. The platform allows you to do this at scale and provides a wide variety of conversation entry points and message types.

Limitations

  • A person logged in to Facebook cannot send a message to your Instagram Professional account nor can a person send a message to your Facebook business Page or Instagram Professional account Page while logged in to Instagram using the Messenger Platform.
  • Instagram Messaging is available for any Instagram Professional accounts for a businesses and any Instagram Professional account for a creator

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 person 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 Page or Instagram Professional account to send and receive messages from persons. Learn more.

Advanced & Standard Access

There are two access levels for apps for business Pages or Instagram Professional accounts, Standard Access and Advanced Access. Standard Access is the default access level when you first register your app with Meta. Standard Access allows you to get data for people who have a Role on your app, such as a developer, tester, or administrator, or a Role on a business Page or Instagram Professional account 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 on the business Page or Instagram Professional account 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 Page or Instagram Professional account that has claimed the app. Learn more.

If you are developing the app to send and receive messages for your own page, you will not have to go through app review. Note that if you are planning to fetch user profile information, you still need to go through app review for the permissions required for accessing the User Profile API.

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 Delivery Network URLs

Messenger Platform leverages Content Delivery Network (CDN) URLs which allow you to retrieve rich media content shared by Instagram users. The CDN URL is privacy-aware and will not return the media when the content has been deleted or has expired.

Facebook Login

In order for a person to allow your Page or Instagram Professional account to send the person a message, 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.

Features

The Human Agent feature allows your app to have a human agent respond to user messages using the human_agent tag within 7 days of a user's message. The allowed usage for this feature is to provide human agent support in cases where a user’s issue cannot be resolved in the standard messaging window. Examples include when the business is closed for the weekend, or if the issue requires more than 24 hours to resolve.

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

If your Page or Instagram Professional account sends or receives a high volume of messages, the inbox will no longer be able to display new messages or send new messages until the message volume decreases.

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 cannot 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 cannot 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 Instagram messages, you must have a Instagram Professional account. This allows your app to access data from the Meta social graph endpoints using the Facebook Page linked to your account. Learn more.

Instagram-Scoped IDs

When a person sends a message to an Instagram Professional account, an Instagram-scoped ID is created that represents that person on that app. This ID is specific for the person 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 person sends a message to a Facebook Page, a Page-scoped ID is created that represents that person on that Page. This ID is specific for the person 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
  • business_management

To access Instagram Messaging, you must also ask for:

  • instagram_basic
  • instagram_manage_messages

Requesting business_management permission

When requesting the business_management permission, call out the following in your app review submission:

  1. This permission is being requested as a dependency for the pages_messaging and pages_show_list permissions.
  2. For Instagram Messaging call out that this permission is being requested as a dependency for the instagram_manage_messages permission.
  3. In the app review screencast, clearly show the Page admin navigating the Facebook Login flow, picking the pages or Instagram handles and providing the necessary permissions to the app.

In your app, make sure to inform the Page admin that they need to explicitly provide permissions to the app to manage their business assets. You will need to add the business_management permission as part of the Facebook Login for Business flow.

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 Page or Instagram Professional account. Please familiarize yourself with these policies as well as other platform policies that we enforce.

Rate Limiting

Rate limits for the Messenger Platform are dependent on the API used and, in some instances, the message content.

Messenger API

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.

Messenger API for Instagram

Requests made by your app are counted against the number of calls your app can make per Instagram professional account and the API used.

Conversations API

  • Your app can make 2 calls per second per Instagram professional account

Send API

  • Your app can make 300 calls per second per Instagram professional account for messages that contain text, links, reactions, and stickers
  • Your app can make 10 calls per second per Instagram professional account for messages that contain audio or video content

Private Replies API

  • Your app can make 100 calls per second per Instagram professional account for private replies to Instagram Live comments
  • Your app can make 750 calls per hour per Instagram professional account for private replies to comments on Instagram posts and reels

Webhooks

Meta Webhooks are real-time notifications that allow you to get information about messages sent to your business Page or Instagram Professional account 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 Page or Instagram Professional account 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.

Learn More

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