Dynamic Voice Selection for Voice AI Assistants Now Available

24, Apr 2026

Voice AI assistants can now use dynamic variables to set the voice per call, letting you customize the assistant voice for each end user without creating separate assistants.

What's New

For dynamic voice selection, use mustache syntax in the voicesettings.voice field (e.g., Telnyx.Ultra.{{voiceid}}) to resolve the voice at call time from your dynamic variables webhook. Each call gets the right voice without duplicating assistant configurations.

How It Works

When a call comes in, the variable is resolved from your dynamic variables webhook, so the assistant speaks with the voice you've assigned for that specific caller or use case.

Current scope: dynamic selection applies to the voice only. The provider, model, and additional settings like language boost and expressive mode remain fixed per assistant.

Why It Matters

One assistant configuration can now serve multiple voices. Whether you're matching a brand persona, localizing by region, or personalizing the caller experience, you don't need to manage a separate assistant for each voice, just pass the variable at call time.

Getting Started

In Mission Control:

  1. Go to AI Assistants and choose an assistant to edit
  2. Configure the dynamic variables webhook to return the voice value at call time
  3. Navigate to the Voice tab and in the Voice dropdown, choose your dynamic variables release note (e.g., {{voice_id}})

Via the API: Set the voice_settings.voice field with mustache syntax when creating or updating an assistant. See the create an assistant API reference for details.