Insights · AI voice
Amazon Lex is the native answer to "make the phone system understand people", it is deeply integrated with Amazon Connect, and it is inexpensive. It is also an intent-and-slot engine, which is a specific kind of thing with specific failure modes. Knowing exactly where those failures start is the difference between replacing Lex, extending it, or leaving it alone.
Amazon Lex takes an utterance, classifies it into an intent, and collects the slots that intent needs before handing off to fulfilment. Inside Amazon Connect it is wired in through the Get customer input block: the caller speaks, Lex returns an intent and its slot values as attributes, and your contact flow branches on them. Prompts come back through Amazon Polly, so the whole thing stays inside the platform you already run.
Where that design shines is where the world really is a finite list.
It is also the cheapest capable option per interaction, it stays entirely within your AWS account and region, and its behaviour is predictable enough to write test cases for. None of that is trivial. If your call reasons genuinely are a short list, Lex is the right tool and a language model is an expensive way to be less certain.
It's worth adding that Lex has not stood still — the console now offers generative assistance for building bots and resolving slots, and a question-answering intent that can sit over a knowledge base. That narrows the gap for informational calls without changing the underlying model of the conversation.
The failure mode isn't dramatic. It's gradual, and it looks like maintenance cost.
Intent proliferation. You launch with nine intents. Someone adds "change my delivery address", then "change my billing address", then "update my details". Now three intents share utterances, the classifier's confidence drops on all three, and every fix to one degrades the others. Past roughly thirty intents most teams are managing a confusion matrix rather than a conversation.
Compound requests. "I want to change the address on order 4471 and also cancel the second one." That's two intents in one breath, and slot-filling has nowhere to put the second half. The caller repeats themselves, which is the exact experience they rang to avoid.
Mid-conversation changes of mind. "Actually no, not that order — the other one." Handling this in an intent-slot design means explicit correction handling on every slot, which nobody builds, so the caller escapes to a person.
The long tail. A stubborn share of calls in any contact centre doesn't fit an intent anyone thought to define — check your own fallback rate, it's usually higher than the team assumes. Those calls land in the fallback intent and get routed to a human — that's the design working as intended, but it also caps containment.
Alphanumerics and Australian proper nouns. Order references, rego numbers and suburb names. "Double four seven one" and Woolloongabba both cause more transfers than any feature gap.
Curation effort. Sample utterances are hand-written and hand-maintained forever. Every new product, campaign or policy change is a bot release. That ongoing effort is the real cost of Lex, and it rarely appears in the business case.
A conversational AI voice agent replaces classification with generation, and slots with tools. Instead of matching an utterance to a pre-declared intent, the model reads the whole conversation, decides what is being asked, and calls the systems it has been given access to in order to do something about it.
Concretely, that changes four things.
The trade-offs are just as real and should be stated plainly. Generation is non-deterministic, so the same question can produce differently-worded answers, which unsettles compliance teams and makes testing a statistical exercise rather than a pass/fail one. Cost per turn is higher. Latency budgets are tighter. And a model asked a factual question it has no tool for will answer anyway unless it is constrained — which is why serious deployments make facts come only from tool calls, keep confirmations deterministic, and log full transcripts for review. ProUCX's Live AI Agent is built on that principle: the conversation is generated, the facts and the actions are not.
There's a governance point too. A Lex bot's behaviour is reviewable by reading its configuration. A generative agent's behaviour is reviewable by reading its transcripts. Both are auditable; they are not audited the same way, and whoever signs off needs to know that before go-live rather than after.
Most disappointing voice-AI projects fail on this distinction rather than on technology.
Deflection is getting the call off the queue: a menu that sends people to the website, a callback offer, an announcement about wait times. It improves the queue metric immediately and can make the customer's day worse.
Containment is the caller's reason for calling being resolved without a human. It is harder to fake and it is the only number worth optimising.
Measure it honestly with three figures: the proportion of contacts fully resolved by the automation; the proportion transferred; and — the one everyone omits — repeat contacts from the same customer within seven days. A high containment rate with a high repeat rate is deflection wearing containment's clothes.
This is also where Lex and a generative agent divide most clearly. Lex's containment is high on the tasks you built and zero on everything else, and that shape is stable. A conversational agent's containment is more even across the tail but less predictable per task. Which shape you want depends on whether your call mix is concentrated or scattered — and you can read that straight out of your existing Contact Lens data rather than guessing.
This is usually the right answer, and it is not a compromise.
Amazon Connect contact flows make it straightforward to route different contacts to different treatments, so the practical patterns are:
Whichever pattern you pick, keep two rules. The caller can always reach a person, immediately, by asking — an AI that traps callers is a support problem dressed as a saving. And every automated leg must hand off with context: on Amazon Connect that means writing the summary and intent to contact attributes, which the ProUCX CRM connectors already read for screen-pop, so the agent who picks up in HubSpot, Pipedrive or Dynamics 365 starts informed.
If you're still choosing an implementation route rather than a model, we set the options out in how to add an AI voice agent to Amazon Connect.
Lex is right when the call reasons are a list and the tasks are transactional; it's cheap, predictable and native. A conversational agent is right when the tail is long, requests are compound, or intent maintenance has become somebody's job. Most contact centres want both, arranged so the deterministic thing goes first and the flexible thing catches what falls through — and both should measure themselves on containment, not deflection.
See what Live AI Agent does on your own Amazon Connect number, or subscribe on the AWS account you already have.