Amazon Connect Custom Voice: Every Voice Option for an AI Voice Agent
What 'custom voice' can mean in Amazon Connect, and how to set up each option: agentic voice, Amazon Polly, Nova Sonic, ElevenLabs and Brand Voice, with the security setup and the traps that cost time.
By Naeem Akhtar · 11 min read
In short
- 'Custom voice' means three different things in Amazon Connect: a better built-in voice, a third-party voice such as ElevenLabs, or a voice commissioned for your brand.
- A third-party voice needs an API key in AWS Secrets Manager, a customer-managed KMS key and two resource policies. That setup is where most attempts stall.
- Third-party text-to-speech sends your response text to that provider, and the provider bills you separately. Treat it as a data-protection decision, not just a sound choice.
- Pick the voice by listening on a real phone line with your own names, numbers and codes, not by reading a feature list.
What 'custom voice' means in Amazon Connect
People searching for an Amazon Connect custom voice usually want one of three things, and the setup for each is completely different.
- A better built-in voice: a more natural or more expressive voice than the default, using what AWS already provides.
- A third-party voice: a specific voice from a provider that Connect can call, such as ElevenLabs, with your own account and key.
- A voice made for your brand: a custom voice built for your organisation rather than picked from a list.
This guide covers all three against the current Amazon Connect Customer documentation, which we checked on 10 November 2026. It focuses on voice agents on phone calls. If you are still building the agent itself, start with How to Add an AI Voice Agent to Amazon Connect, where voice is Step 8, and come back here when you want to choose or change the voice.
The options at a glance
| Option | Where you set it | What to know |
|---|---|---|
| Amazon Connect agentic voice | Set voice block, with the Advanced speech model on the bot | The default voice provider in Connect Customer. AWS describes 100+ voices across 50+ languages, including multilingual voices. Part of Connect Customer, not Customer Basic |
| Amazon Polly (standard, neural, generative) | Set voice block, provider Amazon, with Override speaking style for neural or generative | AWS states neural and standard Polly voices are free in Connect, while generative voices and Brand Voices are charged |
| Amazon Nova Sonic voices | Bot speech model set to Speech-to-Speech, then Set voice with Generative style | A short launch list of compatible voices, tied to the speech-to-speech model |
| ElevenLabs (third-party text-to-speech) | Set voice block, provider ElevenLabs, with a Secrets Manager key | You bring the account and the key. Provider charges are separate from AWS |
| Polly Brand Voice | Arranged with AWS, then associated with your account | Charged. We found no AWS documentation showing exactly how a Brand Voice is selected in the Set voice block, so confirm with AWS before planning around it |
Prices change, so we do not quote any here. Check the Amazon Connect and Amazon Polly pricing pages and your provider's plan before you commit.
Option 1: Agentic voice, the built-in default
For most new voice agents this is the right place to start, because it is the default and needs no extra accounts. Two settings work together.
- On the bot, open the speech configuration, set the voice provider to Amazon Connect agentic voice and the speech model preference to Advanced. AWS describes this as a streaming recognizer for lower latency and natural turn-taking.
- In the flow, add or open a Set voice block, keep Amazon Connect agentic voice as the provider, choose the language (this filters the voice list), pick a voice, and use the listen-to-sample link before you commit.
- Save and publish the flow.
If callers switch languages, AWS offers multilingual voices (Katie, Blake, Brooke, Ronald and Gemma at the time of writing) that can follow the caller from a single bot locale. For a voice in a language those do not cover, build a separate bot for that locale and use a voice made for it, setting the language explicitly. Details are in the agentic voice configuration guide.
Option 2: Amazon Polly voices
The Set voice block also exposes Amazon Polly voices and engines. This is the long-standing route and still useful when you want a specific named voice or a standard prompt voice for non-agent flows.
- The block's default is Joanna in a conversational style. Override speaking style lets you choose neural or generative engines for voices that support them.
- Neural voices improve pitch, inflection and tempo. Generative voices are described by AWS as the most human-like and adaptive Polly voices, and they are charged.
- Not every voice supports every engine. A voice such as Ruth does not support the standard engine, so a flow that does not specify an engine fails over to the error branch. If a later prompt plays after an error branch, it falls back to Joanna on the standard engine.
- You can set language, voice, engine and style dynamically, but only in consistent combinations: if the language is dynamic the voice must be too, and if the voice is dynamic and the style is overridden, the engine and style must be dynamic as well.
- Instances created before October 2018 that moved to a service-linked role may need an extra permission, polly:SynthesizeSpeech, on the service role to use the generative engines.
With Amazon Lex V2 bots, the language in the Set voice block must match the bot's language model, and for a non-US English voice you must choose Set language attribute. Otherwise the Get customer input block errors. Reference: Set voice.
Option 3: Nova Sonic voices (speech-to-speech)
Nova Sonic is configured as the bot's speech model rather than as a voice in the Set voice block alone. Set the bot locale's model type to Speech-to-Speech with Amazon Nova Sonic, build the language, and then in the flow choose Override speaking style, select Generative, set the voice provider to Amazon and pick a compatible voice.
AWS lists the launch voices as Matthew (en-US), Amy (en-GB), Olivia (en-AU) and Lupe (es-US). That is a short list, so check it against your language and brand before you design around speech-to-speech. Reference: Configure Amazon Nova Sonic speech-to-speech.
Option 4: A third-party voice such as ElevenLabs
Connect can call an external text-to-speech provider from the Set voice block. This is the route for a voice you have chosen or created in the provider's own tools. The setup has more parts than the others, so do it in this order.
- Store the provider's API key in AWS Secrets Manager, in the same Region as your Connect instance.
- Use a customer-managed KMS key for that secret. AWS says you cannot use the default aws/secretsmanager key.
- Attach a resource policy to the secret that lets the Connect service principal call GetSecretValue, limited to your instance and your account.
- Attach a resource policy to the KMS key that lets Connect decrypt, limited to your instance, your account and that specific secret.
- In the Set voice block choose the third-party provider, then set the model, voice, Secrets Manager ARN and language manually. The language must be one the provider's voice supports.
- Save, publish and test.
{
"apiToken": "<your provider API key>",
"apiTokenRegion": "eu"
}By default Connect calls the provider's standard endpoint. The apiTokenRegion field lets you point to another provider Region, and AWS lists us, eu and in options for ElevenLabs. Aligning the provider Region with your instance is also the check AWS suggests when a third-party voice sounds slow.
Where your text goes
At runtime Connect sends the text to be spoken to the provider and plays back the audio it returns. If that text can contain personal data, such as a caller's name or booking details, review the provider's data handling and your own obligations before you switch it on.A note on cloned or custom voices from a provider: the Connect documentation only asks for a provider voice value. Whether a voice you created or cloned in your provider account can be used, and on what terms, is a question for that provider's documentation and licence. Get written consent from anyone whose voice is cloned. Reference: Configure third-party text-to-speech providers and Managing secrets and resource policies.
Option 4b: A third-party speech recognizer
Recognition is separate from voice. If callers are poorly understood in a language or accent, you can change the speech-to-text provider on the bot instead. AWS documents Deepgram as a third-party option, set on the bot locale: choose the Speech model, set the model type to Speech-to-Text, pick the provider, enter the model ID (case-sensitive, so copy it exactly from the provider) and the Secrets Manager ARN, then choose Build language so the change becomes active.
The same secrets and KMS rules apply. AWS says no flow or Lambda changes are needed, errors appear in the logs, and a slow response should prompt you to check the provider Region. Reference: Configure third-party speech-to-text providers.
Option 5: A brand voice
Amazon Polly Brand Voice is a custom neural voice created for a single organisation. The Connect documentation confirms that Brand Voices associated with your account are charged, which tells you they are a supported idea in Connect. What we could not find is a documented step-by-step for choosing one in the Set voice block, and it is built through an engagement with AWS, not a self-service setting.
If a distinctive brand voice is a firm requirement, ask AWS two questions before you plan the project: how the voice is selected in a Connect flow, and what it costs per character. For many teams a well-chosen built-in voice or a third-party voice gets there faster and is easier to change later.
Keeping third-party keys safe
| Control | What AWS asks for |
|---|---|
| Secret location | Same Region as the Connect instance |
| Encryption | A customer-managed KMS key; the default Secrets Manager key cannot be used |
| Secret policy | Allow the Connect service principal to read the secret, with source ARN and account conditions so it only works for your instance |
| KMS key policy | Allow decrypt, with source ARN, account and the specific secret in the encryption context |
| Rotation | AWS recommends rotating API keys at least every 90 days and waiting for old-key usage to reach zero before revoking it |
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": { "Service": "connect.amazonaws.com" },
"Action": "secretsmanager:GetSecretValue",
"Resource": "*",
"Condition": {
"ArnLike": { "aws:sourceArn": "<your Connect instance ARN>" },
"StringEquals": { "aws:sourceAccount": "<your account ID>" }
}
}]
}Make it say the right thing
A good voice still reads badly written text badly. For agentic voice, AWS's guidance is to pass natural, well-punctuated sentences and avoid markdown, emoji and brackets, because the engine reads symbols aloud. A few specifics worth knowing:
- Normal capitalisation matters. The engine treats ALL CAPS the same as a spell tag, so ACME BANK is read letter by letter. Write Acme Bank if you want it said as a name.
- Use the spell tag for codes and reference numbers, for example <spell>TKT4829XB</spell>, and use break tags only when natural punctuation does not give the pause you want.
- Speed, volume, emotion and laughter tags exist. Emotion tags are described as a beta capability. Start without tags and add one only where a test call shows a problem.
- Unclosed or malformed tags are read aloud as text, so validate them before they reach the caller.
For prompts played with Polly voices in non-agent flows, Connect supports SSML for pronunciation, volume and speed. Reference: Agentic voice best practices.
How to choose
| If you need | Start with | Watch out for |
|---|---|---|
| A natural voice quickly, no extra accounts | Agentic voice with the Advanced speech model | Check the voice list covers your language and region |
| The most natural turn-taking and expressive speech | Nova Sonic speech-to-speech | A short voice list, and less control between hearing and speaking |
| A specific named voice or low-cost standard prompts | Polly neural or generative | Engine support differs by voice; generative is charged |
| A voice from a provider you already use | ElevenLabs through Secrets Manager | Separate bill, text leaves AWS, and the key setup |
| A voice unique to your brand | Ask AWS about Brand Voice, or a third-party voice you license | Cost, timeline and how it is selected in a flow |
Whichever you choose, decide by listening. Call the number from a mobile phone in a noisy place and read through your real prompts: names, phone numbers, dates, reference codes and a long answer. Compare two voices on the same script. Also test the failure case, because if the voice or provider fails the call should reach a person, not silence.
When the voice does not work
| Symptom | Likely cause | Fix |
|---|---|---|
| No audio from a third-party voice | Wrong model or voice value | Check the values against the provider's documentation; execution logs show provider errors |
| Authentication error from a third-party voice | Secrets Manager or KMS permissions | Re-check both resource policies, the Region, and that a customer-managed key is used |
| Slow responses from a third-party voice | Provider Region far from your instance | Set apiTokenRegion to a nearer Region |
| Get customer input errors after changing the voice | Set voice language does not match the Lex bot locale | Match them, and choose Set language attribute for non-US English voices |
| A Polly voice goes to the error branch | The voice does not support the default standard engine | Specify neural or generative as the engine |
| A name or code is read as letters | ALL CAPS text is spelled out | Use normal capitalisation for words and spell tags for codes |
| Nova Sonic voice not speaking expressively | Bot speech model is not Speech-to-Speech, or the language was not built | Set the model type, choose Build language, and use Generative style in Set voice |
For the architecture behind the voice, including latency, tools and escalation, read our architecture and build guide, and for how the agent connects to Connect, see AI voice agent integration with Amazon Connect. To have a voice agent built and tuned for you, see our AI voice agent development service.
Frequently asked questions
Can Amazon Connect use ElevenLabs voices?
Yes. Amazon Connect Customer lists ElevenLabs as a third-party text-to-speech provider in the Set voice block. You store your ElevenLabs API key in AWS Secrets Manager, grant Connect access through resource policies on the secret and a customer-managed KMS key, then enter the model, voice, secret ARN and language in the block. ElevenLabs bills you separately.
Does Amazon Connect support custom or cloned voices?
Amazon Connect supports third-party providers where you supply a model and a voice value, and Amazon Polly Brand Voice is described in the Connect documentation as a charged custom voice. Whether a cloned voice works depends on the provider's own features and licence. Confirm with the provider or AWS, and obtain consent from anyone whose voice is cloned.
Is Amazon Polly free in Amazon Connect?
According to the Amazon Connect documentation, Polly neural and standard voices are free in Connect, while Polly generative voices and Brand Voices are charged. Check the Amazon Polly and Amazon Connect pricing pages for current rates, because they change.
Which Amazon Connect voice sounds the most natural?
AWS positions agentic voice, Polly generative voices and Nova Sonic speech-to-speech as its most expressive options. Which sounds best is subjective and depends on language and script, so compare two or three on a real phone line with your own prompts, names and numbers.
How do I make the voice read a code or reference number correctly?
With agentic voice, wrap the code in spell tags so it is read character by character, and use normal capitalisation for words, because all capital letters are treated as spelled out. With Polly voices in standard prompts, use SSML to control pronunciation.
Where do I store a third-party voice provider's API key in Amazon Connect?
In AWS Secrets Manager, in the same Region as your Connect instance, encrypted with a customer-managed KMS key. Attach resource policies to the secret and the key that allow the Connect service to read and decrypt it for your instance only, and rotate the key at least every 90 days as AWS recommends.
Need help with AI Voice Agents? Talk to the engineers.
Tell us what you want to build. You'll get a straight answer on scope, approach and cost from the people who do the work.
Keep reading
Related guides
Voice AI
AI Voice Agent for Amazon Connect: Architecture and Build Guide
A practical guide to building an AI voice agent on Amazon Connect — the build options, the call flow, what drives cost, and the mistakes that sink pilots.
17 min read
Voice AI
How to Add an AI Voice Agent to Amazon Connect: Step-by-Step Setup Guide
Every step to put an AI voice agent on a phone number in Amazon Connect: instance, number, orchestrator AI agent, tools, bot, voice, contact flow and a test call, checked against the current AWS documentation.
15 min read
Voice AI
Amazon Lex vs AI Agent in Amazon Connect: Which to Use for Voice
Lex, the Amazon Connect AI agent and a Bedrock agent are not three rivals. This guide explains how they fit together, the hard limits between them, and how to choose for your calls.
14 min read