Answer on WhatsApp, Facebook Messenger and Instagram
Connect a WhatsApp Business number, a Facebook Page or an Instagram account so your intoCHAT agent answers messages there: plans, connect steps, the token option, human takeover, Meta's 24-hour rule and limits.
Your agent can answer people who write to your business on WhatsApp, Facebook Messenger and Instagram Direct, with the same knowledge, instructions and actions as in the widget. Each conversation appears on the agent's Conversations tab with a channel badge, and your team can pause the AI and reply from there.
What's supported
| Messenger | |||
|---|---|---|---|
| What you connect | A WhatsApp Business number (WhatsApp Cloud API) | A Facebook Page | An Instagram professional account linked to a Facebook Page |
| How | Sign up with Meta (Embedded Signup) or a system user token | Log in with Facebook or a Page token | Log in with Facebook or a Page token |
| Longest single message | 4,096 characters | 2,000 characters | 1,000 characters |
- The agent writes text. It reads text, and also photos and PDF documents while visitor attachments are on for the agent. Longer replies are split into several messages at paragraph or sentence breaks, six at most.
- Links in replies are written out in full. Buttons and product cards from your actions are sent as "label: link" lines under the reply.
- Forms, the lead form, booking times, follow-up questions and source links can't be shown in a messaging app, so the agent doesn't offer them there. Contact details people type are still saved as leads, and hand-off by email, server-side API actions, procedures and order lookups work as in the widget.
- Live chat isn't used on channels. Your team takes over from the transcript instead; see "Human takeover" below.
Plan
Channels are available on Starter and up: 3 per agent on Starter, 6 on Pro and 20 on Enterprise. A WhatsApp number, a Page and an Instagram account each count as one. Free agents can't connect channels, and after a downgrade to Free, connected channels stop answering until you upgrade again; they aren't deleted.
Each AI reply on a channel counts on your plan exactly as in the widget: one message with the default model, more with a larger model. The automatic notice for messages the agent can't read and your team's replies don't count. When your messages run out, people who write get the widget's own notice ("Message limit reached…"), at most once every 10 minutes; an agent at its monthly cap sends "This chat has reached its limit for now". See Plans and limits.
Before you start
Open your agent, go to the Share tab and find the Channels card. Connecting and disconnecting a channel is for the account owner and admins, because it hands over a Meta access token. Everyone in the account sees which channels are connected. See Team members and roles.
A number, Page or Instagram account can answer for one agent at a time. To move it, disconnect it from the first agent.
A private agent doesn't answer on channels; after the first message, the channel in the card shows a note saying so.
Connect WhatsApp
You need a Meta (Facebook) account that can manage your business, and a phone number that can receive an SMS or call for verification. A number in use in the WhatsApp or WhatsApp Business app must be removed from it first, unless Meta offers you to keep using the app with it.
- In the Channels card, choose WhatsApp and Sign up with Meta.
- Enter a 6-digit Two-step verification PIN. It becomes the number's two-step verification PIN. If the number already has one, enter that one.
- Click Connect WhatsApp. Meta's window opens: sign in, choose or create your business portfolio, your WhatsApp Business Account and display name, add the number and verify it by SMS or call.
- When the window closes, intoCHAT registers the number for the WhatsApp Cloud API and subscribes to its messages. The number appears in the card with its display name.
Send the number a WhatsApp message from your own phone to try it. Meta reviews new display names; until it approves yours, the number may show only as a phone number.
Connect Messenger
You need to be an admin of the Facebook Page, or have full control of it in Meta Business Suite.
- In the Channels card, choose Messenger and Log in with Facebook.
- Click Log in with Facebook, and allow intoCHAT to manage messages for your Page. Select the Page if Meta asks which ones to share.
- Your Pages are listed. Click Connect next to the one this agent should answer for.
intoCHAT stores the Page's access token, encrypted, and subscribes to the Page's messages. Write to the Page from another Facebook account to try it.
Connect Instagram
Your Instagram account must be a professional account (business or creator) linked to a Facebook Page you manage.
- In the Instagram app, open Settings, Messages and story replies, Connected tools and turn on Allow access to messages.
- In the Channels card, choose Instagram and Log in with Facebook.
- Click Log in with Facebook and allow access to your Page and its Instagram account.
- Click Connect next to the Instagram account, listed under its Facebook Page.
Replies go out through the linked Page. A Page and its Instagram account can be connected to the same agent, each as its own channel.
Connect with a token instead
If you can't use the sign-up or login windows, for example because your Meta business already has a system user, choose Connect with a token. You paste your own token into your own dashboard; intoCHAT checks it with Meta, stores it encrypted and never shows it again.
- WhatsApp: in Meta Business Suite, open Settings, Users, System users, and create or pick a system user that has your WhatsApp Business Account assigned. Generate a token for the intoCHAT app (its App ID is shown in the card) with the permissions
whatsapp_business_messagingandwhatsapp_business_management. Enter the Phone number ID and WhatsApp Business Account ID from WhatsApp Manager, API setup, and the token. Add the two-step PIN only to register a number that isn't on the Cloud API yet. - Messenger and Instagram: enter your Facebook Page ID and a Page access token for the intoCHAT app with
pages_messagingandpages_manage_metadata(for Instagram alsoinstagram_basicandinstagram_manage_messages). For Instagram, the account linked to that Page is connected.
The token must belong to the intoCHAT app, because Meta sends the messages to the app the token was made for. A system user's token doesn't expire; a token that expires or is revoked stops the channel, and the card says so.
Human takeover
Open a WhatsApp, Messenger or Instagram conversation on the Conversations tab. Below the transcript:
- Pause AI stops the agent from answering this conversation. New messages are still saved, so you see them in the transcript, but get no AI reply. Resume AI hands it back.
- The reply box sends your message to the person through WhatsApp, Messenger or Instagram. It is saved in the transcript with your first name and the channel above it, for example "· team, WhatsApp", and it pauses the AI. Press Ctrl+Enter (or ⌘+Enter) or click the send button.
- The AI resumes by itself 24 hours after the last pause or reply from your team, on the next message the person sends. The note under the transcript says when.
Pausing, resuming and replying are for everyone who may handle conversations: the owner, admins and editors. Viewers see the state only.
Conversation rows show a WhatsApp, Messenger or Instagram badge, with a pause icon while the AI is paused, and a Channel filter appears next to the other filters once an agent has a channel conversation. See Conversations and stats.
Meta's 24-hour rule
Meta lets a business answer only within 24 hours of the person's last message. intoCHAT follows it:
- The agent only ever answers a message someone sent. It never writes first and sends no marketing or template messages.
- Your team's replies from the transcript are possible only within 24 hours of the person's last message. After that, the reply box says so; you can answer once they write again.
Limits
- Text, photos and PDFs. With visitor attachments on, photos (PNG, JPEG, WebP, GIF) and PDF documents up to 4 MB are read like files sent in the widget, with any caption as the message; they appear in the transcript and count like any message when the agent answers. Voice notes, videos, stickers, locations, story mentions, and photos or documents over 4 MB or of another type get a short, polite reply in the agent's language asking for text, photos or PDFs, at most once every 10 minutes per person. With visitor attachments off, photos and documents get that reply too, asking for text ("For now I can only read text messages…"). The transcript shows a placeholder such as "[image]".
- One person can send up to 60 messages per hour to one channel; further messages that hour are saved without a reply. Your agent's overall limits still apply.
- Messages are answered as they arrive, usually within a few seconds; a slow action or a larger model can make it longer.
- The person's WhatsApp number and profile name become a contact (source "WhatsApp"); on Messenger and Instagram only the profile name, when Meta shares it. Nothing else about them is read.
- Disconnecting a channel deletes its token and stops the answers. Its conversations stay on the Conversations tab.
- Conversations on channels show
channelaswhatsapp,messengerorinstagramin the REST API and the MCP server.
For the platform owner: Meta app and environment
This section is for whoever runs the intoCHAT server, not for agent owners.
Environment variables (names only; never put the values in code):
| Variable | What it is |
|---|---|
META_APP_ID | The Meta app's ID |
META_APP_SECRET | The app secret: exchanges codes for tokens and checks every webhook's X-Hub-Signature-256 |
META_WEBHOOK_VERIFY_TOKEN | A random string you also enter as the webhook's verify token in the Meta app |
NEXT_PUBLIC_META_APP_ID | The app ID for Facebook's JavaScript SDK in the dashboard (falls back to META_APP_ID) |
META_WA_CONFIG_ID | The WhatsApp Embedded Signup configuration ID (Facebook Login for Business) |
META_LOGIN_CONFIG_ID | The Facebook Login for Business configuration for Messenger and Instagram (General, user access token, with the Page and Instagram messaging permissions); without it, Messenger and Instagram connect with a token only |
META_CHANNELS_LAUNCHED | true shows the channels to customers; until then only super admins see them, while the webhook already works |
TOKEN_ENCRYPTION_KEY | Encrypts the stored tokens (falls back to NEXTAUTH_SECRET) |
CRON_SECRET | Signs the server's internal chat turns (falls back to NEXTAUTH_SECRET) |
Without META_APP_ID, META_APP_SECRET and META_WEBHOOK_VERIFY_TOKEN, the card shows Meta app not configured and the webhook answers 404.
Webhook: set the callback URL to https://<your domain>/api/meta/webhook with the verify token above, and subscribe the fields messages for WhatsApp Business Account, messages and messaging_postbacks for Page, and messages for Instagram.
Prerequisites at Meta before customers can connect:
- Business verification of the business that owns the app.
- App Review for advanced access to
whatsapp_business_messaging,whatsapp_business_management,business_management,pages_show_list,pages_messaging,pages_manage_metadata,instagram_basicandinstagram_manage_messages, and Tech Provider onboarding for WhatsApp Embedded Signup. - The app switched to Live mode. Until then, only people with a role on the app can connect channels and write to them.