What you need
Getting your credentials
- Sign in to the Azure portal and open your Speech resource. Create one first if you do not have it.
- Go to Keys and Endpoint.
- Copy either key. Azure issues two keys per resource — both work, and having two lets you rotate one while the other stays live.
- Note the Location/Region shown on the same page. That is the value to enter here.
Adding the connection
- Go to Connections and choose Azure Speech.
- Paste the API key.
- Enter the region of the resource the key belongs to.
- Choose which services this connection drives — voice, transcription, or both.
- Save, then place a test call. A wrong key or a mismatched region saves without complaint and surfaces on the first call.
What you can select afterwards
Choose your voice and language on Model Configurations. There is no model to pick — recognition follows the language, synthesis follows the voice. Voice — names are locale-prefixed, as inen-US-AvaNeural. Copy the full name rather than the label. Availability depends on your region — check Microsoft’s region list and voice list.
Language — set it to match your callers. See Microsoft’s language support.
Using Azure Speech for only one service
If you want Azure voices with a different transcriber, turn the transcription service off on the connection — and the reverse if you want Azure transcription behind another voice provider. The unused role stays off until you enable it.Completing the pipeline
Azure Speech has no language model. To run the agent’s reasoning on Azure too, add Azure OpenAI as a separate connection with its own credential. Any other LLM connection works alongside Azure Speech just as well. If you would rather have one model handle speech end to end instead of separate voice and transcription, see OpenAI Realtime.Troubleshooting
Calls fail to authenticate
Calls fail to authenticate
The usual cause is a region mismatch. Reopen Keys and Endpoint on the resource and confirm the region you entered matches the Location/Region shown there. A valid key still fails against any region other than its own.
A voice name is rejected or falls back to another voice
A voice name is rejected or falls back to another voice
That voice is likely not offered in your resource’s region. Check the region list — HD and specialized voices are limited to a subset of regions. Either pick a voice available in your region, or create a Speech resource in a region that offers the one you want.
The voice name is not accepted as typed
The voice name is not accepted as typed
Azure expects the full locale-prefixed name, as in
en-US-AvaNeural, not the display name shown in a voice gallery.Transcripts are poor or empty
Transcripts are poor or empty
Check the language setting first — a mismatch between the configured locale and what the caller actually speaks is the usual cause.
The key came from a different Azure resource
The key came from a different Azure resource
Azure AI resources each have their own keys. A key from an Azure OpenAI resource will not authenticate against Speech. Copy the key from the Speech resource itself, and see Azure OpenAI for that connection.