CoPhraseCoPhrase

Channels

How CoPhrase connects to messaging channels — the full matrix of connection methods, what each channel supports, and which ones are unofficial.

A channel is a place your customers message you. A connection is one linked account on that channel: one WhatsApp number, one Discord server, one Instagram professional account, one website widget.

You connect channels. You configure one agent. Every connection points at an agent, and that's the whole wiring model.

One agent, one brain, every channel

Channels differ wildly — Discord is a persistent socket to a server, WhatsApp Web is a linked-device session, Messenger is a signed webhook from Meta. The agent doesn't know about any of that.

Every inbound message, whatever the channel, is converted into the same normalized message before it reaches the agent:

  • who sent it (resolved to a contact, across channels)
  • which thread it belongs to
  • what's in it — text, image, audio, video, file, location

The agent replies with a normalized message back, and the connector layer figures out how to actually deliver it on that channel. The agent code contains zero channel-specific logic.

Three consequences worth knowing:

One contact, many identities. Each channel identity (an Instagram user id, a phone number, a Discord user id) links to a single contact record. Someone who DMs you on Instagram and later messages your WhatsApp is one contact, and the qualification the agent already did carries over.

The thread is the work item, not the person. That same contact still has two separate threads — one Instagram, one WhatsApp. Taking over the WhatsApp thread doesn't silence the agent on Instagram. The merged cross-channel history shows up as context on the contact, not as one merged conversation.

Capabilities degrade, they don't break. Every channel declares what it can carry — maximum message length, which media types, whether it supports typing indicators. The agent is told the limits before it writes, so it writes a reply that fits. Anything richer than the channel supports falls back to text.

The channel matrix

ChannelHow you connect itOfficial API?
Web chat widgetScript tag on your site → iframeYes
DiscordInvite the CoPhrase bot into your serverYes
WhatsApp (Web)Linked device — scan a QR code or enter a phone codeNo
WhatsApp Business APIManaged number, or bring your own via Meta signupYes
Instagram DMsInstagram Login on a professional accountYes
MessengerMeta OAuth on a Facebook PageYes
TelegramBot token from BotFather → webhookYes
iMessageA BlueBubbles server on a Mac you runNo
EmailBuilt-in inbound address, or connect Gmail / OutlookYes
SMSBring your own Twilio account, number, and credentialsYes

Official vs unofficial — read this before connecting

Some channels have an API the platform vendor sanctions. Others work by holding a session that looks, to the vendor, like the customer's own device.

Official channels (widget, Discord, Telegram bot, Instagram DMs, Messenger, WhatsApp Business API, SMS, email) have no ban risk from using CoPhrase. They have rules — approvals, messaging windows, template requirements — but those rules are documented and enforceable, and staying inside them is a solved problem.

Unofficial channels are WhatsApp Web and iMessage.

Unofficial channels put your account at risk, not ours

WhatsApp Web is a linked-device session on your real WhatsApp number — the same mechanism as WhatsApp on your laptop. WhatsApp does not sanction automating it. Numbers that send too much, too fast, or from the wrong kind of network get restricted or permanently banned, and the ban lands on your number, not on CoPhrase. iMessage requires a Mac you own and keep running, and is likewise not an official Apple integration.

We support these channels because they're what a lot of businesses actually use, and we run warm-up ramps, per-account networking, and sending governors to keep them alive. That reduces the risk. It does not remove it. If an official route exists for you — WhatsApp Business API instead of WhatsApp Web — take it.

Rollout order

CoPhrase is pre-launch. Channels arrive in waves:

WaveChannelsWhy this order
FirstWeb chat widget, DiscordBoth official, zero ban risk, nothing to approve
NextWhatsApp WebThe first unofficial channel — it's what builds the warm-up, networking, and send-governor machinery every later unofficial channel reuses
ThenInstagram DMs, Messenger, Telegram, email, WhatsApp Business API, SMS, iMessageMeta app review and telephony registration are calendar-bound, so they can't be rushed regardless of engineering

Messaging windows (Meta channels)

Instagram, Messenger, and WhatsApp all enforce a 24-hour window. It is the single most surprising constraint on these channels, so it's worth stating once here:

  • The window opens (and re-opens) only when the customer messages you. Nothing you send extends it.
  • Instagram and Messenger: free-form replies are only allowed inside the window. You can never message someone who hasn't messaged you first.
  • WhatsApp: outside the window, only pre-approved templates may be sent — and sending a template does not re-open the free-form window. Only a reply from the customer does.

CoPhrase tracks the window per conversation and routes sends accordingly. Details on each channel's page.

What each channel can carry

Limits are enforced before sending, not discovered afterwards — providers silently truncate over-length messages, so we don't let them get that far.

ChannelOutbound message lengthOutbound media
Instagram DMs1,000 charactersText and images
Telegram4,096 charactersText
WhatsApp (template body)1,024 charactersPer approved template
SMSBilled in 160-character GSM-7 segmentsText out; MMS receive-only
Web chat widgetNo practical limitText, streams live

The web chat widget is the only channel where replies stream token by token. Every other channel gets the full reply at once, with a typing indicator in the meantime where the channel supports one.

Inbound isn't just text

On every channel that supports them:

  • Audio messages (voice notes) are transcribed before the agent replies.
  • Images and PDFs are read and described before the agent replies.

WhatsApp and Instagram customers lead with voice notes and photos constantly. An agent that could only read text would fail on day one, so this is on by default.

A few behaviors that apply everywhere

  • Rapid-fire messages collapse. A customer who sends four messages in ten seconds gets one considered reply, not four.
  • Language is mirrored. The agent replies in the language the customer wrote in.
  • First message from a stranger is spam-checked. Flagged contacts get no reply and stay out of your inbox counts. The raw message is still stored — nothing real is silently dropped.
  • A human reply pauses the AI on that thread. Including a reply you send from your own phone on WhatsApp or iMessage — we see it and back off. See Handoff.

Next

On this page