Before you start
- The chatbot owner is on the Growth plan or above. See Plans and limits.
- You have the Manager, Admin, or Super Admin role on the chatbot.
- You are an admin of the Facebook Page.
- You have a Meta developer account at developers.facebook.com, and access to the Meta app’s App settings > Basic page, where you copy the app secret.
- Your chatbot is not in a HIPAA workspace. Integrations are not available there. See HIPAA.
Connect Messenger
You work in two places: SiteGPT and your Meta app. Keep both open. SiteGPT shows the callback URL for Meta only after you connect with a Page access token and the app secret of your Meta app. So you connect your Page and copy the token and the secret in Meta first, and add the webhook in Meta after that.Create a Meta app
pages_messaging. You do not need to add other permissions for SiteGPT.Open the Messenger settings of the use case
Connect your Page
Copy the Page access token
Copy the app secret
Open the Messenger card in SiteGPT
Connect in SiteGPT
Add the callback URL in Meta
Add the subscriptions
- messages
- messaging_postbacks
- message_echoes
If connecting fails
Check that it works
- In Messenger, start a conversation with your Facebook Page. Use a Facebook account that has a role on your Meta app, for example your own admin account.
- Send a question. The chatbot replies with an answer from your content.
Make the chatbot answer everyone
Until Meta reviews your app, the chatbot can only reply to people who have a role on your Meta app (administrator, developer, or tester). You can test everything with these accounts. To let everyone on Messenger chat with the chatbot:- Request the
pages_messagingpermission in Meta’s App Review. Start the request from the Complete App Review section of the use case, or go to Review > App Review in the menu on the left. - When Meta approves it, publish the app. Select Publish in the menu on the left.
Reply later than 24 hours (optional)
Meta accepts a normal reply only within its messaging window, which is 24 hours after the person’s last message in most cases. A person on your team can reply for up to 7 days with Meta’s Human Agent tag. Your Meta app needs Meta’s approval for Human Agent. Request it from Meta in App Review. If your team always replies within 24 hours, you do not need it. See Reply from the dashboard and Meta’s Send a message.How it works in Messenger
The bot answers first
The chatbot answers each message from your content. Answers show quick replies for your follow-up suggestions, links, and escalation, and 👍 and 👎 feedback. If you have no follow-up suggestions, the quick replies show your conversation starters. When human support is on, answers that use your content show your Positive Feedback Prompt and Request Human Support Prompt quick replies instead of follow-up suggestions and conversation starters. The feedback quick replies do not show if you hide feedback buttons. When Meta verifies your callback URL, SiteGPT adds a Get Started button to your Page in Messenger. When a person taps it, the chatbot sends your welcome message with a Continue Conversation button. If you set new conversations to start in human mode, the chatbot does not answer. One exception: outside your working hours, with Your team answers later, the chatbot sends your away message one time. If the conversation starts with Get Started, the away message comes after your welcome message. See Set up human support. Messenger does not ask the question of Let the Visitor Choose. With that option, new conversations start with the AI.Hand-off to your team
A conversation goes to your team when:- Someone on your team replies or takes over in Chat History. See Reply from the dashboard.
- Someone on your team replies from the Page inbox (for example in Meta Business Suite). SiteGPT shows the reply in the conversation, and the chatbot stops replying there.
- The person taps an escalation quick reply. These come from follow-up suggestions of the Escalate type, or from the Request Human Support Prompt when human support is on. See Follow-up suggestions.
- The chatbot decides that the person needs a human. This needs human support to be on. See Set up human support.
Reply from the dashboard
Replies that you send from Chat History go to the person in Messenger. They come from your Facebook Page. SiteGPT does not also email your reply to the person. When you reply, the conversation switches to human mode, and the chatbot stops answering it. A reply alone does not lock the conversation: the person can still choose Restart The conversation to get the chatbot back. To prevent that, select Take over the chat before you reply. See Reply to visitors and take over conversations. You can attach files to a reply from Chat History. See Send files on Messenger. Meta limits when a Page can reply:- Within 24 hours of the person’s last message: the reply is delivered. For a few cases, such as a conversation that started from a Click-to-Messenger ad, Meta allows longer.
- After that, for up to 7 days: SiteGPT sends the reply again with Meta’s Human Agent tag. Meta delivers it only if your Meta app has Meta’s approval for Human Agent. See Reply later than 24 hours.
- Later than that: the reply is not delivered.
reply_to_conversation MCP tool also go to Messenger, the same way. See API conventions and MCP tools.
You can still reply from the Page inbox. SiteGPT shows those replies in the conversation, and they stop the chatbot as well. This needs the message_echoes subscription.
Send files on Messenger
You can attach files to a reply from Chat History. See Send files with a reply. Messenger takes any file type, up to a size limit for each file. See Files in a team reply.- Your text goes first, then each file as its own message. A reply with only files sends only the files.
- JPEG, PNG, and GIF photos show in the chat as photos. A photo over the photo limit arrives as a file instead. MP4 videos and MP3, M4A, and AAC audio play in the chat. Every other file arrives as a file, with its name.
- The same time limits apply as for a text reply. See Reply from the dashboard.
- If Facebook refuses your text or one file, SiteGPT does not send the files after it. The reply then shows a red line. See Messages that Facebook refuses.
- The file name changes a little on Messenger. Each run of spaces and other characters that are not English letters, digits, dots, hyphens, or underscores becomes one hyphen. Hyphens and dots at the start and end of the name go away, and the name is cut to 100 characters. For example,
price list.pdfarrives asprice-list.pdf. If nothing is left before the extension, the file arrives asfilewith its extension, for examplefile.pdf.
Messages that Facebook refuses
Facebook can refuse a message that SiteGPT sends to Messenger: an AI answer, your away message, a hand-off message, or a reply from your team. The message then stays in the conversation in Chat History, and a red line under it says why. AI answers and replies from your team also show with a dashed outline:Getting the chatbot back
- Select Release to AI in the dashboard. The chatbot answers the person’s next message in the same conversation.
- Resolve the conversation in the dashboard. The person’s next message starts a new conversation.
- The person can open the Messenger menu and choose Restart The conversation. The chatbot answers again. This menu item shows only for people who tapped Get Started.
- Restart The conversation does not work if a team member selected Take over the chat in the SiteGPT dashboard, or if the conversation is resolved in SiteGPT.
Messages without text
The chatbot ignores messages that have no text, for example a photo or a sticker.Webhook verification
SiteGPT checks that each message really comes from Facebook. It uses the app secret of your Meta app for this, and rejects messages that fail the check. New connections have this check on from the start, because you give the app secret when you connect. The Messenger dialog then shows “Webhook verification is on: only messages signed by Facebook are accepted.”Turn on verification
When the check is not on Enforce, the Messenger dialog shows Webhook verification is off. This is the case for connections made before October 28, 2026, which did not ask for the app secret. It is also the case when someone selected Off or Log only in the Messenger row under Webhook verification.Open the integration
Add the app secret
Turn it on
The Webhook verification section
The Webhook verification section below the cards on the Integrations page also has a Messenger row. It shows the current mode:- Off: SiteGPT does not check messages.
- Log only: SiteGPT checks messages but still accepts messages that fail.
- Enforce: SiteGPT rejects messages that fail the check.
Disconnect Messenger
Open the integration
Disconnect
Troubleshooting
The chatbot does not reply
The chatbot does not reply
- Check the Page access token in SiteGPT. To change it, disconnect and connect again with the new token and the app secret. You get a new Callback URL and Verify token. Add them to your Meta app again.
- Check that the callback URL is in the same Meta app that made the Page access token. With webhook verification on, SiteGPT rejects messages from another app.
- Check that the callback URL and verify token in Meta match the values in SiteGPT.
- Check that the subscriptions are on for your Page.
- Check that the chatbot owner’s subscription is active. See Billing.
Only some people get replies
Only some people get replies
pages_messaging approved in App Review and publish the app. See Make the chatbot answer everyone.A reply from the dashboard did not reach the person
A reply from the dashboard did not reach the person
An answer shows "Not delivered to Messenger"
An answer shows "Not delivered to Messenger"
The chatbot keeps answering after your team replies
The chatbot keeps answering after your team replies
The chatbot stopped answering after you set Enforce
The chatbot stopped answering after you set Enforce