Skip to content
Last updated

Agent Channels

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.

Binding

Every channel binds to exactly one agent.

  • Pass agentId to bind.
  • Pass null (or --clear on the CLI) to unbind.
  • Omit the field to leave the current binding unchanged (WhatsApp update also edits the business profile this way).

WhatsApp numbers used by SEND_WHATSAPP_MESSAGE nodes need canSendMessages: true (an assistant is assigned).

WhatsApp templates

Approved WhatsApp message templates from Meta are listed separately. Use template.name in SEND_WHATSAPP_MESSAGE nodes and map parameters into templateVariables.

Operations

VerbPathPurpose
GET/public/v1/channelsList WhatsApp / Instagram / Messenger + agent bindings
GET/public/v1/channels/whatsapp/templatesApproved WhatsApp templates
GET/public/v1/channels/whatsapp/numbers/{phoneNumberId}/business-infoLive 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}/registerRegister the number with Meta
POST/public/v1/channels/whatsapp/{integrationId}/numbers/{phoneNumberId}/disconnectDisconnect 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.

CLI

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).