Chat widgets are the demo channel. Production inclusion often requires phone trees, USSD menus, and speech — channels that punish verbose dialogue and reward crisp state machines.
The durable pattern is a shared dialogue core with channel adapters, plus human escalation into a ticketing system of record.
Speech services are infrastructure. Regional language STT/TTS belongs in the deployable stack, not as a slide labeled “phase 2.”
Design for the narrowest channel first
USSD and IVR force short turns, explicit confirmations, and recoverable errors. If your flows work there, web chat becomes an expansion, not a rewrite.
Channel adapters should normalize intents and context into one conversation model — not fork business logic per channel forever.
Escalation is part of the product
Dead-end bots create abandoned users. Sync context into ticketing so humans continue, not restart.
Measure containment and escalation quality separately — high containment with angry tickets is not success.
Observe the whole path
Logs must join channel, dialogue state, and ticket ID. Otherwise you cannot debug “the IVR lied” vs “NLU misfired” vs “queue overflow.”
Takeaways
- Multichannel is an architecture, not a skin.
- Ticketing handoff is mandatory for public-service assistants.
- Speech and USSD change dialogue design more than model choice does.