Agent Channels are the messaging surfaces a customer-facing Agent answers on: WhatsApp Business numbers, Instagram accounts, and Messenger pages.
This is the account-level integration itself and which agent it is bound to. It is not the same as PUT /agents/{agentId}/settings/{channel}, which configures how a given agent behaves on a channel (split-message rules, conversation-close policy, appearance).
Connecting a new channel requires the OAuth / embedded-signup flow in the app (Meta tokens) and is not available via the API. The Public API can list already-connected channels, bind or unbind them to agents, and run WhatsApp number maintenance.
Every channel binds to exactly one agent.
- Pass
agentIdto bind. - Pass
null(or--clearon the CLI) to unbind. - Omit the field to leave the current binding unchanged (WhatsApp
updatealso edits the business profile this way).
WhatsApp numbers used by SEND_WHATSAPP_MESSAGE nodes need canSendMessages: true (an assistant is assigned).
Approved WhatsApp message templates from Meta are listed separately. Use template.name in SEND_WHATSAPP_MESSAGE nodes and map parameters into templateVariables.
| Verb | Path | Purpose |
|---|---|---|
GET | /public/v1/channels | List WhatsApp / Instagram / Messenger + agent bindings |
GET | /public/v1/channels/whatsapp/templates | Approved WhatsApp templates |
GET | /public/v1/channels/whatsapp/numbers/{phoneNumberId}/business-info | Live business profile |
PUT | /public/v1/channels/whatsapp/{integrationId}/numbers/{phoneNumberId} | Update profile and/or bind an agent |
POST | /public/v1/channels/whatsapp/{integrationId}/numbers/{phoneNumberId}/register | Register the number with Meta |
POST | /public/v1/channels/whatsapp/{integrationId}/numbers/{phoneNumberId}/disconnect | Disconnect one number |
PUT | /public/v1/channels/instagram/accounts/{instagramAccountId} | Bind / unbind an Instagram account |
PUT | /public/v1/channels/messenger/pages/{messengerPageId} | Bind / unbind a Messenger page |
GET /channels accepts an account API key. Binding and WhatsApp maintenance require a USER API key.
Full list in the API Reference under the Agent Channels tag.
Personal WhatsApp sync (turning chats into CRM records) is a different surface — see Data & Sync.
frontline agent-channels list --table
frontline agent-channels instagram assign <instagramAccountId> --agent-id <agentId>
frontline agent-channels messenger assign <messengerPageId> --clear
frontline agent-channels whatsapp update <integrationId> <phoneNumberId> --agent-id <agentId>
frontline agent-channels whatsapp info <phoneNumberId>In --table mode, targetId is the value you pass to assign/update (WhatsApp uses phoneNumberId; Instagram/Messenger use the numeric account/page id).