Create a Facebook app and connect a Page to ChatHub
Create the right kind of Meta app, connect your Facebook Pages, collect the App ID, app secret and admin token, then enter them in ChatHub to receive Messenger conversations.
What this guide covers#
For ChatHub to receive and answer Messenger conversations from a Facebook Page, you need your own Meta app. ChatHub uses no shared app: every installation declares its own, so you never wait on Meta's review and a problem with one Page never affects another installation.
You configure the app once for the whole system, then add as many Pages as you like. The app secret is shared because it belongs to the app; each Page's own token is fetched from Meta by ChatHub, so you never collect those by hand.
1. Create the app on Meta for Developers#
- 1
Open developers.facebook.com and sign in with the Facebook account that administers the Page.
- 2
Go to My Apps and press Create app.
- 3
On the App details step, name the app after your brand. People see this name when they grant permissions, so avoid test names.
- 4
Check the contact email: Meta sends violation warnings and policy notices to this address.
2. Pick the Messenger use case#
This step decides everything else. Meta grants permissions based on the use case you declare at creation, and an app created for something else cannot add Messenger later.
- 1
On the Use cases step, filter by the Business messaging group in the left column.
- 2
Tick Interact with customers on Messenger from Meta, then press Next.
- 3
The Business step can be skipped when the list is empty; you can link a business portfolio later.
- 4
On the Overview step, review and press Create app. Meta asks for your Facebook password before creating it.
3. Collect the App ID and app secret#
- 1
In the new app, open App settings and choose Basic.
- 2
Copy the App ID. This value is public, not a secret.
- 3
Next to App secret, press Show and copy the value. Meta asks for your password again.
4. Connect Facebook Pages to the app#
A Page has to be connected to the app before ChatHub can see it and before its webhooks arrive.
- 1
In the app, open Use cases and press Customise on the Messenger row.
- 2
Choose Messenger API settings in the left column.
- 3
Scroll to Generate access tokens and press Connect, or Add page if some Pages are already listed.
- 4
Sign in to Facebook in the window that opens, pick the Pages you want and confirm the permissions.
5. Get the admin access token#
ChatHub uses this token for exactly one thing: asking Meta which Pages you manage and fetching each Page's own token. Page tokens obtained this way do not expire, so the admin token expiring later never takes a running channel down.
- 1
Open Tools and choose Graph API Explorer; in the Meta app selector, pick the app you just created.
- 2
Under Permissions, add three: pages_show_list, pages_messaging and pages_manage_metadata.
- 3
Press Generate Access Token, confirm the permissions for your Pages, then copy the token.
6. Enter the app in ChatHub#
- 1
In ChatHub, open Settings and choose the Channels group.
- 2
Find the Facebook app card and fill in the App ID, app secret and admin access token.
- 3
Press Save. The badge in the card's corner switches to Configured.
- 4
Right below those fields sits Register the webhook with Meta, holding the Callback URL and Verify Token with a Copy button each. Both are shared by the whole system, which is why they are not inside an individual channel.
7. Add the Page as a channel and register the webhook#
- 1
In Settings → Channels, copy the Callback URL and Verify Token from Register the webhook with Meta.
- 2
Go to the app's Messenger API settings, paste both into Callback URL and Verify token, then press Verify and save. This is done once for the whole app.
- 3
In the Webhook fields table right below the fields you just saved, flip the Subscribe toggle for exactly three fields: messages, messaging_postbacks and message_echoes. Skip this and Meta sends nothing, even though everything else shows green.
- 4
Back in ChatHub, open the Channels screen, press Add account and choose the Facebook type.
- 5
The Pages you manage are listed straight away; pick one and press Create account.
- 6
Press Connect on the new channel. Adding a second Page only repeats the last two steps — the webhook is already registered.
8. Register the privacy URL and switch the app to Live#
After the seven steps above ChatHub and Meta are wired together correctly, but a newly created app always sits in Development mode. In that mode Meta only sends webhooks for people who hold a role on the app: a test message from your admin account arrives fine, while a real customer writing to the Page produces no event at all — the channel still shows Connected and the inbox stays empty.
- 1
In ChatHub, open Settings → Channels, scroll to Register the webhook with Meta and click Copy on the Privacy policy URL row. ChatHub serves that page itself at /privacy, reachable without signing in so Meta's crawler can read it.
- 2
In your Meta app, open App settings → Basic, paste the address into the Privacy Policy URL field and press Save changes. While that field is empty Meta keeps the Publish button disabled.
- 3
In the app's left menu, open Publish, review the use cases, then press Publish in the bottom-right corner. Once publishing succeeds, the Publish row shows Published; do not press Unpublish afterwards.
- 4
Open App Review → Permissions and Features and check that pages_messaging sits at Advanced Access. If it is still Standard, complete Business Verification for the Business Portfolio that owns the app, or submit the permission for review.
- 5
Ask someone with no role on the app to message the Page. The message must appear in the ChatHub inbox within seconds.
Limits worth knowing up front#
Messenger only allows a free-form reply within 24 hours of the customer's last message. After that Facebook rejects outgoing messages until they write again. ChatHub warns on the composer when the window is closing and when it has closed; internal notes still save normally.
A few other platform limits: Messenger has no quoted replies on outgoing messages, cannot send arbitrary stickers, and buttons must ride on a message with text, so a bare file with no caption has nowhere to carry them.