Connecting Telegram, WhatsApp and the rest
Registering a channel surface makes it visible, not live — and WhatsApp, Messenger and Instagram share one Meta adapter with one reply-window rule between them.
Every channel surface your capabilities can answer on — WhatsApp, Messenger, Instagram, Telegram, SMS, voice, the web widget — is a row your organization registers, not something wired into code per city. The Studio's Channels screen is where that row gets created and turned on.
The surfaces
- Website widget — the only surface with no registration step: it is live the moment the embed line is on your page.
- Telegram — its own adapter, and live today.
- WhatsApp — built on the Meta adapter, and goes live once Meta approves your business account.
- Messenger — the same Meta adapter as WhatsApp, with the same reply-window rule.
- Instagram — the same Meta adapter again, registered as its own surface.
- SMS — its own adapter, registered like any other surface.
- Voice — its own adapter, registered like any other surface.
Meta is one adapter, three surfaces
WhatsApp, Messenger and Instagram all sit behind a single Meta Business account, one webhook shape, and — critically — one reply-window model. The Channels screen groups them under one adapter card for exactly that reason: treating them as three unrelated peers of Telegram would teach the wrong mental model, and it's the model that leads to the reply-window logic getting implemented three times and getting it right twice.
1. Register a surface
Pick the surface and, if you already have one, the asset it corresponds to (a phone number, a page). This step does not connect anything — it creates a row marked not-yet-connected, and the panel says so before you click submit. Registering is what makes a surface reachable at all; a surface with no row here can't be enabled no matter what happens on Meta's side.
There is deliberately no way to remove a registered surface, only disable it. Disabling is the removal: the row is the only record of when a resident last reached your organization there, and a delete-then-re-register cycle would be a way to erase that history rather than a way to fix a mistake.
2. Wait for connection, then enable
A surface can't be enabled until its provider connection state says Connected — that state is a mirror of what the provider reports, and the Studio can't write into it, so it can't be ticked into truth ahead of time. Once it's connected, the enable/disable control is a kill switch: turning a channel off is never blocked for any reason, because an incident is exactly the moment a city needs to reach it.
3. Know the reply-window rule before your first campaign
Outside a limited window after a resident's last message, only a pre-approved template may be sent — not a live reply. The human-agent tag extends that window on Messenger and Instagram; it does nothing at all on WhatsApp. That distinction is invisible until a campaign quietly fails partway through, so it's worth reading the window rule panel once before you rely on it.
Templates themselves move through a real lifecycle — Draft → Submitted → Approved or Rejected, and Paused if the quality rating drops later. A paused template is a live incident on your outbound traffic, not a dormant draft, and it's shown that way.
Check the Templates panel for your organization's approved wording before writing a new campaign — a template that already exists and is approved is faster to reuse than a new one working through review.