namestring
The name the agent will identify as during conversations
displayNamestring nullable
Label shown in place of the name across the dashboard (e.g. a short descriptor like "Irate Escalator"). The persona still identifies as name on calls. Omit or set null to display the name itself.
descriptionstring nullable
Human-readable description of the persona
language'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE'
Primary language ISO 639-1 code for the persona
secondaryLanguage'EN' nullable
Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
understoodLanguagesstring[]
Languages the persona can understand. Multilingual combinations are limited by multilingual speech recognition support.
accent'US' | 'US_X_SOUTH' | 'GB' | 'ES' | 'DE' | 'IN' | 'FR' | 'NL' | 'SA' | 'GR' | 'AU' | 'IT' | 'ID' | 'TH' | 'JP' | 'NZ' | 'PH' | 'SG' | 'MY' | 'HK' | 'TR' | 'PT' | 'IL'
Accent of the persona, defined using ISO 3166-1 alpha-2 country codes with optional variants
age'CHILD' | 'TEENAGER' | 'ADULT' | 'ELDERLY'
How old the caller sounds and behaves. Only ages the persona's accent has a voice for are accepted; defaults to ADULT, which every accent supports.
backgroundNoise'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'CONSTRUCTION' | 'CRYING_BABY' | 'DRIVING' | 'LIBRARY' | 'OFFICE' | 'THUNDERSTORM' | 'TRAIN'
speechPace'SUPER_SLOW' | 'SLOW' | 'NORMAL' | 'FAST' | 'SUPER_FAST'
Speech pace of the persona
speechClarity'CLEAR' | 'VAGUE' | 'RAMBLING'
Speech clarity of the persona
hasDisfluenciesboolean
Whether the persona uses filler words like "um" and "uh"
baseEmotion'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED' | 'ANGRY' | 'ANXIOUS' | 'SAD'
Base emotional state of the persona
intentClarity'CLEAR' | 'INDIRECT' | 'VAGUE'
How clearly the persona expresses their intentions
confirmationStyle'EXPLICIT' | 'VAGUE'
How the persona confirms information
memoryReliability'HIGH' | 'LOW'
How reliable the persona's memory is
responseTiming'RELAXED' | 'NORMAL' | 'QUICK' | 'BARGE_IN'
Deprecated and inert: it no longer affects the call. It set how long the persona waited once the agent stopped talking, and measured across production simulations it moved the reply gap by less than the noise floor, because model and speech latency dominate it. Every persona now uses one voice-activity profile. Use interruption for a caller who talks over the agent. Still accepted and stored so existing clients keep working. BARGE_IN is stored as responseTiming: QUICK with interruption: OCCASIONAL.
interruption'OFF' | 'BACKCHANNEL' | 'OCCASIONAL' | 'HEAVY'
How much the persona talks over the agent while it is still speaking. OFF waits its turn. BACKCHANNEL makes listening noises ("mm-hm") over the agent without taking the floor, which tests whether the agent wrongly stops for them. OCCASIONAL adds cutting in on some long agent turns, HEAVY on most of them. Timing is randomised per turn, so two runs of the same persona do not interrupt at identical moments.
backstoryPromptstring nullable
Background story and behavioral patterns for the persona
idleMessagesstring[] nullable
Messages the persona will say when the agent goes silent during a call. null = "Automatic": language-appropriate defaults are used at call time.
idleTimeoutSecondsinteger
Seconds of silence before the persona sends an idle message
idleMessageMaxSpokenCountinteger
Maximum number of idle messages the persona will send before giving up
idleMessageResetCountOnUserSpeechEnabledboolean
Whether the idle message counter resets when the agent speaks
propertiesobject
Additional custom properties about the persona