Voice AI

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.
01

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.

  1. A better built-in voice: a more natural or more expressive voice than the default, using what AWS already provides.
  2. A third-party voice: a specific voice from a provider that Connect can call, such as ElevenLabs, with your own account and key.
  3. 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.

02

The options at a glance

OptionWhere you set itWhat to know
Amazon Connect agentic voiceSet voice block, with the Advanced speech model on the botThe 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 generativeAWS states neural and standard Polly voices are free in Connect, while generative voices and Brand Voices are charged
Amazon Nova Sonic voicesBot speech model set to Speech-to-Speech, then Set voice with Generative styleA 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 keyYou bring the account and the key. Provider charges are separate from AWS
Polly Brand VoiceArranged with AWS, then associated with your accountCharged. 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.

03

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.

  1. 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.
  2. 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.
  3. 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.

04

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.

05

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.

06

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.

  1. Store the provider's API key in AWS Secrets Manager, in the same Region as your Connect instance.
  2. Use a customer-managed KMS key for that secret. AWS says you cannot use the default aws/secretsmanager key.
  3. Attach a resource policy to the secret that lets the Connect service principal call GetSecretValue, limited to your instance and your account.
  4. Attach a resource policy to the KMS key that lets Connect decrypt, limited to your instance, your account and that specific secret.
  5. 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.
  6. Save, publish and test.
Secret value, with an optional provider Region (shape from the AWS docs)
{
  "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.

07

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.

08

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.

09

Keeping third-party keys safe

ControlWhat AWS asks for
Secret locationSame Region as the Connect instance
EncryptionA customer-managed KMS key; the default Secrets Manager key cannot be used
Secret policyAllow the Connect service principal to read the secret, with source ARN and account conditions so it only works for your instance
KMS key policyAllow decrypt, with source ARN, account and the specific secret in the encryption context
RotationAWS recommends rotating API keys at least every 90 days and waiting for old-key usage to reach zero before revoking it
Secret resource policy pattern (replace the placeholders)
{
  "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>" }
    }
  }]
}
10

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.

11

How to choose

If you needStart withWatch out for
A natural voice quickly, no extra accountsAgentic voice with the Advanced speech modelCheck the voice list covers your language and region
The most natural turn-taking and expressive speechNova Sonic speech-to-speechA short voice list, and less control between hearing and speaking
A specific named voice or low-cost standard promptsPolly neural or generativeEngine support differs by voice; generative is charged
A voice from a provider you already useElevenLabs through Secrets ManagerSeparate bill, text leaves AWS, and the key setup
A voice unique to your brandAsk AWS about Brand Voice, or a third-party voice you licenseCost, 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.

12

When the voice does not work

SymptomLikely causeFix
No audio from a third-party voiceWrong model or voice valueCheck the values against the provider's documentation; execution logs show provider errors
Authentication error from a third-party voiceSecrets Manager or KMS permissionsRe-check both resource policies, the Region, and that a customer-managed key is used
Slow responses from a third-party voiceProvider Region far from your instanceSet apiTokenRegion to a nearer Region
Get customer input errors after changing the voiceSet voice language does not match the Lex bot localeMatch them, and choose Set language attribute for non-US English voices
A Polly voice goes to the error branchThe voice does not support the default standard engineSpecify neural or generative as the engine
A name or code is read as lettersALL CAPS text is spelled outUse normal capitalisation for words and spell tags for codes
Nova Sonic voice not speaking expressivelyBot speech model is not Speech-to-Speech, or the language was not builtSet 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.

13

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.

Work with Eveonix

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.

In production

See this in production