AiPlannerVoiceDef

Represents a voice definition for an Agentforce voice agent. It stores the speech-to-text and text-to-speech configuration settings used during voice interactions, including model selection, voice persona, and audio synthesis parameters.

Parent Type 

This type extends Metadata and inherits its fields.

File Suffix and Directory Location 

AiPlannerVoiceDef components have the suffix .aiPlannerVoiceDef and are stored in the aiPlannerVoiceDef folder.

Version 

Introduced in API version 63.0.

Special Access Rules 

AiPlannerVoiceDef is available only if Agents and Agentforce Voice are enabled in your org.

Fields 

additionalConfigs 

  • Type: string
  • Required: No
  • Description: A JSON string for extensible configuration settings not covered by explicit fields. Allows additional voice parameters to be stored without requiring schema changes.

developerName 

  • Type: string
  • Required: No
  • Description: Required. Represents the API name of the voice definition. This name must be unique across all voice definitions. Can contain only underscores and alphanumeric characters and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.

inboundFillerWordsBool 

  • Type: boolean
  • Required: No
  • Description: Specifies whether filler words (such as “um” or “uh”) are included when processing inbound audio. When true, filler words are preserved in the transcription output. When false, they are stripped.

inboundKeywords 

  • Type: string
  • Required: No
  • Description: A JSON object of keywords or phrases with optional boost weights that improve speech recognition accuracy for inbound audio. Positive values increase recognition priority; negative values suppress. Example: {“keywords”: {“Salesforce”: 5, “Agentforce”: 5, “cancel”: -10}}.

inboundModel 

  • Type: string
  • Required: No
  • Description: The speech-to-text model used to transcribe inbound audio. References a deployed model record in MktMLAIModel (e.g., sfdc_ai__Default_Nova_2_PhoneCall).

label 

  • Type: string
  • Required: No
  • Description: The user-facing label for this AiPlannerVoiceDef component as it appears in the Salesforce UI.

languageCode 

  • Type: string
  • Required: No
  • Description: The BCP 47 language code specifying the language used for voice processing, for example en-US for American English or ja-JP for Japanese.

outboundFillerSentences 

  • Type: string
  • Required: No
  • Description: A JSON object of filler sentences the voice agent speaks while processing a response, organized by category. Helps maintain natural conversational flow during pauses. Example: {“fillerSentences”: {“waiting”: [“Let me look into that…”, “Just a moment…”], “confirmation”: [“Got it, let me confirm that.”], “fallback”: [“Sorry, could you repeat that?”]}}.

outboundModel 

  • Type: string
  • Required: No
  • Description: The text-to-speech model used to synthesize outbound audio. References a deployed model record in MktMLAIModel (e.g., sfdc_ai__Default_Eleven_Flash_V2).

outboundSimilarity 

  • Type: double
  • Required: No
  • Description: A value between 0 and 1 that controls how closely the synthesized voice matches the selected voice profile. Higher values produce a more faithful reproduction; lower values allow more natural variation. Default is typically 0.75.

outboundSpeedNum 

  • Type: double
  • Required: No
  • Description: A multiplier that controls the speaking rate of the outbound voice. A value of 1.0 represents normal speed. Typical range is 0.7 (slower) to 1.2 (faster), depending on the voice persona’s configured bounds.

outboundStability 

  • Type: double
  • Required: No
  • Description: A value between 0 and 1 that controls the consistency of the outbound voice tone and delivery. Higher values produce a more stable, predictable output; lower values introduce more expressive variation. Default is typically 0.65.

outboundStyleExaggeration 

  • Type: double
  • Required: No
  • Description: A value between 0 and 1 that amplifies the speaking style of the selected voice. Higher values increase expressiveness and emotional range in the synthesized speech. A value of 0 produces neutral delivery.

outboundVoice 

  • Type: string
  • Required: No
  • Description: The name of the voice persona used for text-to-speech synthesis in outbound audio (e.g., elevenlabs-Mark-en_US). Maps to a voice configuration defined in the voice metadata layer.

pronunciationDict 

  • Type: string
  • Required: No
  • Description: A custom pronunciation dictionary that defines phonetic overrides for how specific words or phrases are pronounced by the text-to-speech engine. Useful for brand names, technical terms, or unusual proper nouns.

voiceAvatarDef 

voiceIdentifier 

  • Type: string
  • Required: No
  • Description: A unique identifier for the voice configuration, typically the pre-computed hash ID from the voice metadata layer (e.g., f64af13e6fb0). Used to reference or distinguish this voice setup across planner configurations.

voiceLanguageConfig 

  • Type: string
  • Required: No

voiceLanguageRuntimeInfo 

  • Type: string
  • Required: No

AiPlannerVoiceAvatarDef Type 

Parent Type 

This type extends Metadata and inherits its fields.

Fields 

context 

  • Type: string
  • Required: No

developerName 

  • Type: string
  • Required: No
  • Description: The unique developer name of this component. Used as an API reference and must follow Salesforce identifier rules.

imageUrl 

  • Type: string
  • Required: No

label 

  • Type: string
  • Required: No
  • Description: The label that identifies this component in the Salesforce UI and in metadata listings. Character limits and translation behavior follow the enclosing type.

replicaKey 

  • Type: AvatarReplicaKeyType (enumeration of type string)
  • Required: No

Declarative Metadata Sample Definition 

The following is an example of an AiPlannerVoiceDef component.

1<?xml version="1.0" encoding="UTF-8"?>
2<GenAiPlannerBundle xmlns="http://soap.sforce.com/2006/04/metadata">
3    <description>This agent is either testing you, or you&apos;re testing it.</description>
4    <masterLabel>My Test Agent</masterLabel>
5    <plannerType>AiCopilot__ReAct</plannerType>
6    <voiceDefinition>
7        <developerName>dev2Automation</developerName>
8        <inboundFillerWordsBool>false</inboundFillerWordsBool>
9        <inboundKeywords>key2</inboundKeywords>
10        <inboundModel>sfdc_ai__DefaultOpenAIGPT35Turbo</inboundModel>
11        <label>label2</label>
12        <outboundFillerSentences>test2</outboundFillerSentences>
13        <outboundModel>sfdc_ai__DefaultOpenAIGPT35Turbo</outboundModel>
14        <outboundSimilarity>0.8</outboundSimilarity>
15        <outboundSpeedNum>1.2</outboundSpeedNum>
16        <outboundStability>0.5</outboundStability>
17        <outboundStyleExaggeration>1.8</outboundStyleExaggeration>
18        <outboundVoice>test2</outboundVoice>
19        
20    </voiceDefinition>
21</GenAiPlannerBundle>

The following is an example package.xml that references the previous definition.

1<?xml version="1.0" encoding="UTF-8"?>
2<Package xmlns="http://soap.sforce.com/2006/04/metadata">
3    <types>
4        <members>*</members>
5        <name>GenAiPlannerBundle</name>
6    </types>
7    <version>63.0</version>
8</Package>