Channel inventory
web is the only channel that is both text and voice: the widget
starts in chat and can upgrade to a live voice conversation using the
same media pipeline as a phone call.
clip is designed for offline capture (e.g. wearable devices in
network-poor environments): audio is recorded on the device, uploaded
when connectivity returns, transcribed, and executed as a complete
flow turn. Uploads are idempotent — a clip is processed at most once
even if the upload retries.
Channel capabilities
Each channel plugin declares three capabilities the runtime uses for routing decisions:Reachability windows
Persistent channels have a window inside which the session can be resumed by the next inbound message:Channel routing
Inbound addresses are bound to flows through channel routes: a phone number, WhatsApp business number, or API key is mapped to the flow that should answer it. Routes are managed per organization through the dashboard or the API.Cross-channel operations
Flows can move across channels mid-conversation:- Side-channel messages — a
messagenode can deliver on a different channel than the session (e.g. text a confirmation link by SMS during a voice call). A reply to that message starts its own session via the channel route. - Re-establishing contact — the
reachnode re-establishes reachability after adisconnect: on voice it dials the user back into the same room; on messaging channels it validates the reachability window before sending. - Session migration — a live session can be moved to another channel; the next inbound turn on the new channel resumes the same session with full state.