Bridging async chatbot conversations into Amazon Connect IVR flows at Espressive
Overview
Espressive's virtual support agent was built for asynchronous chat, where a two-second reply feels snappy. A phone call is a blocking, real-time channel — callers hear every hop in the pipeline as silence. The platform needed a voice channel without rewriting the existing chatbot backend.
Architected and led the integration end to end: intent routing, speech-to-text/text-to-speech orchestration across Amazon Connect, Amazon Lex, AWS Lambda, and Polly, and the handoff into existing fulfillment.
Amazon Connect captures audio and streams to Lex for intent resolution; a Lambda bridge translates between the synchronous IVR flow and the asynchronous chatbot backend, then Polly synthesizes responses back into the call. Downstream lookups start speculatively on utterance-start instead of after intent resolution, and a caller's journey is correlated across Connect, Lex, Lambda, and downstream APIs so traces survive the channel boundary.
Shipped as a production channel of the virtual support agent platform that helped reduce help-desk call volume by 40–60%.
Design cross-service correlation in from day one rather than adding it during hardening — traces that die at a channel boundary are not traces. And budget for barge-in cancellation semantics early: every in-flight synthesis becomes cancellable, which changes idempotency requirements downstream.
Lessons
Voice latency budgets are unforgiving — prefetching on utterance-start beats any downstream optimization. And traces that die at the channel boundary are not traces; cross-service correlation has to be designed in, not bolted on.
Stack
Related writing
Talk shop
If you're hiring for similar backend, AWS, voice, or integration work — or just want to compare notes on architecture — reach out directly.