Appearance
Channels
A channel is the surface through which an end-user talks to your bot. AdaptCX supports multiple channels; the same bot flow works across all of them (with channel-appropriate rendering — Rich Content falls back to text on SMS, Voice Prompt uses TTS on voice, etc.).
Available channels
| Channel | Reach |
|---|---|
| Web | Chat widget embedded on your website (most common) |
| SMS | Text message via Telnyx (or other carrier) |
| WhatsApp Business messages | |
| Voice | Inbound phone calls, TTS + STT |
| CCaaS | Live-agent handoff to Genesys Cloud, Amazon Connect, 8x8, or Google CCAI |
Additionally, agent-facing channels handled through the Agent Desktop rather than the widget: email, Telegram, Slack.
Which channels a bot serves
A bot can serve any subset of channels. Configure per bot in Operations Portal → [bot] → Channels. Each channel enabled surfaces its own configuration (phone number, WhatsApp business account, etc.).
Channel-specific behavior
The flow builder produces one graph that runs on every channel — but some node types behave differently:
| Node | Channel behavior |
|---|---|
| Send Message | Plain text on all channels; TTS on voice |
| Rich Content | Cards + images on web, WhatsApp; text fallback on SMS + voice |
| Voice Prompt, Voice Input, IVR Menu | Voice only; no-op on non-voice channels (configurable) |
| Quick Replies | Chips on web; numbered options on SMS; spoken options on voice |
| Form | Inline form on web; sequential prompts on SMS/voice |
| Handoff | CCaaS transfer — behavior depends on target provider |
The test panel always simulates the web channel. Test other channels by deploying to a test SMS number or dialing a test phone.
Channel identity variables
Available in every flow as system variables:
{{sys_channel}}— one ofweb,voice,sms,whatsapp{{sys_locale}}— the caller/user's language{{sys_user_id}}— populated after Authenticate
Route on channel with a Condition when behavior needs to differ:
Rules:
1. expr: sys_channel == "voice"
→ voice-specific greeting
2. expr: sys_channel == "sms"
→ SMS-specific greeting
Default:
→ web / other channel greetingOr use different bots for different channels if the flows are meaningfully divergent.
See also
- Each channel's own page for setup + configuration
- Publishing — how bot versions roll out across channels
- Widget — the web channel's UI