Use your own Meta app4 min read

Connect Messenger with your own Meta app

The advanced route — the same three values Instagram needs, one webhook subscription of its own, and the Page-subscription step Meta never mentions.

People who message your Facebook Page reach your bot.

If your Channels page shows Connect with Facebook on the Messenger card, you do not need any of this: connect your Facebook Page in one login instead. This page is for a Page that already runs through a Meta app of your own, and for workspaces where the button is not switched on yet.

This is the shortest of the three connections. If you have already connected Instagram, you have every value on this page already — Messenger needs its own webhook subscription and its own card, and nothing else.

Before you start

What you are collecting

ValueWhere it comes from
Page access tokenA system user in your business portfolio
Page IDYour Facebook Page → About → Page transparency
App secretApp settings → Basic

The Page ID is numeric. It is not the vanity name in your Page's URL, and Meta will not recognise the vanity name if you paste it.

Get a Page access token

Business Settings → Users → System Users. Assign the Page to the system user with full control, then generate a token with pages_messaging and pages_manage_metadata.

Paste that token as it is. Meta calls it a system user token rather than a Page token, and that is fine: when you save, we exchange it for your Page's own token, which never expires either. A token that can see the Page but has no control of it is refused at that point, with the fix.

A system user token rather than your own, for the reason it always is: a user token expires, and it expires quietly. If you are connecting Instagram as well, generate one token with both permissions and use it for both cards.

Point the webhook at us

Messenger → Settings → Webhooks → Edit callback URL. Configuration → Channels shows the callback URL and verify token for your workspace — the same two values all three channels use. Save them, then subscribe to the messages field.

Paste the three values

Configuration → Channels, on the Connect Messenger card. We verify them against Meta before storing anything; they are stored encrypted and the token is never shown again in full.

On save we also subscribe your Page to your app, which is a separate thing from the webhook panel you just filled in and is not visible anywhere in Meta's console. It is the most common reason a Page that looks correctly configured delivers nothing — Webhooks: why messages arrive, and why they sometimes don't has the diagnostic.

We also read your app's webhook setup and check three things: there is a Messenger webhook, it points at the callback URL above, and the messages field is ticked. We check that the app secret belongs to that app too, because with the wrong one every message Meta sends fails its signature check. If anything is wrong, the connection still saves, and the result and the Channels card say what to fix.

There is no test-send button, and nothing is missing

Messenger only allows a message to somebody who has written to you first, so there is nothing to send a test to.

Message your own Page from a personal Facebook account instead. It appearing in the Inbox proves the connection receives; the bot's reply proves it sends.

One Page, two channels

If the same Page also carries an Instagram professional account, the two are still two connections here, each with its own card, its own webhook subscription and its own slot against your plan's channel limit. They share a Page and a token; they do not share a connection, and Messenger working tells you nothing about whether Instagram does.