Skip to content

Facebook Messenger

Connect a Facebook Page — including the Page subscription and Development-mode traps that make a "verified" webhook stay silent.

What you need

A Meta developer app of type Business with the Messenger product added, and a Facebook Page you administer.

Warning:

Meta gates this channel in two places that are silent when shut, and nearly every "webhook verified but nothing arrives" setup is one of them:

  1. 1
    An app in Development mode delivers events only for people holding a role

    on the app or the Page.

  2. 2
    The app-level webhook subscription does nothing until the Page itself is

    also subscribed.

Connect

  1. 1
    Meta app → Messenger → Settings → Access Tokens. Connect your Page and

    Generate token — that is the Page access token. The Meta App Secret is under app → Settings → Basic.

  2. 2
    In evoriqa, add a Messenger channel with:

| Field | Value | | ----------------- | ---------------------- | | Meta App Secret | App → Settings → Basic | | Verify token | Any string you choose | | Page access token | From step 1 |

Copy the webhook URL shown after connecting.

  1. 1
    Meta app → Messenger → Settings → Webhooks → Add Callback URL. Paste the

    webhook URL and the same verify token, then Verify and save. Subscribe the webhook field `messages`. Leave message_echoes off — it reflects the Page's own replies back, and they are discarded at ingest anyway.

  2. 2
    Subscribe the Page — the step most setups miss. In the same Webhooks

    panel, next to the Page, choose Add subscriptions and tick messages there too. Step 3 subscribes the app; this subscribes the Page. Without it, Meta never calls the webhook at all.

Verify it works

Message the Page from an account that holds a role on the app (App roles → add yourself as Admin, Developer, or Tester) or on the Page. While the app is in Development mode, Meta silently drops events from everyone else.

The conversation should appear in the Inbox tagged Messenger. Inbound requests are verified with x-hub-signature-256 against the app secret. Images, files, and stickers arrive as attachments with their CDN links.

Before real customers can message you

The app must be switched to Live and granted Advanced Access to pages_messaging through Meta's App Review, which requires business verification. Until then the channel works only for app and Page roles — enough for a pilot, not for launch.

Testing locally

Meta will not call localhost. Put a tunnel (cloudflared, ngrok) in front of your dev server and make sure the app's configured public URL matches the tunnel, since the webhook URL shown at connect time is built from it.

Troubleshooting

Where to go next

Last updated