afraid-scarlet
afraid-scarlet4d ago

Issue with Currency Verbalization – Bot Says “BRL” Instead of “Reais

I’m reaching out because I’ve been facing a persistent issue with my voice agent’s prompt, and I’ve already tried multiple adjustments without success. My agent is designed for debt collection in Brazil, so the language used is Portuguese (Brazil). Here in Brazil, the correct way to pronounce the local currency is “reais”, not “BRL”. However, despite specifying this clearly in the prompt (and even reinforcing that “BRL” should never be spoken), the bot still pronounces it as “B-R-L” frequently. This makes the audio sound unnatural and not aligned with local standards. Could you please guide me on the best way to ensure the bot consistently says “reais” instead of “BRL”? Any configuration or prompt-structure recommendation that could help would be greatly appreciated. Thank you for your attention and support.
11 Replies
Vapi Support Bot
To ensure your bot says "reais" instead of "BRL", use a pronunciation dictionary with alias rules (for ElevenLabs voices):
{
"name": "Brazilian Currency Dictionary",
"rules": [
{ "stringToReplace": "BRL", "type": "alias", "alias": "reais" },
{ "stringToReplace": "R$", "type": "alias", "alias": "reais" }
]
}
{
"name": "Brazilian Currency Dictionary",
"rules": [
{ "stringToReplace": "BRL", "type": "alias", "alias": "reais" },
{ "stringToReplace": "R$", "type": "alias", "alias": "reais" }
]
}
Add this via the Vapi API and link it in your assistant's voice config. This will automatically replace "BRL" and "R$" with "reais" in speech.
More details in the documentation Source: - Pronunciation dictionaries documentation
⤵️ Mention @Vapi Support Bot for follow-ups 🐥
afraid-scarlet
afraid-scarletOP4d ago
afraid-scarlet
afraid-scarletOP4d ago
??
quickest-silver
quickest-silver4d ago
Hey @igorzin I can help optimize your prompt and chunkPlan so the bot consistently says “reais” instead of “BRL,” fully following Brazilian monetary conventions with correct centavos and pausas. My approach involves adjusting the prompt structure, pre-formatting variables, and enforcing pronunciation rules to prevent literal readings. This ensures natural, human-like audio for all numeric values. Could you confirm if mispronunciations happen with all values or only certain cases?
afraid-scarlet
afraid-scarletOP4d ago
This only happens when the bot spends a long time negotiating with the debtor (in this case, the bot is a debt collection agent) and when it goes to offer the third or fourth offer, mentioning the amounts, the bot gets confused and mentions BRL. I will send my prompt in case it helps with any in-depth analysis, but this is hindering my negotiation progress because in Brazil we don't mention BRL, only Reais, so this greatly undermines the credibility of the negotiation.
quickest-silver
quickest-silver4d ago
I understand the mispronunciation happens during long negotiations when multiple offers are mentioned, which affects credibility. We can fix this by reinforcing “reais” for all offer variables, breaking long numbers into smaller chunks with pauses, adding brief prompt reminders before each value, and implementing a final pre-TTS check to catch any “BRL” mentions. This ensures natural, consistent Brazilian pronunciation throughout the conversation. @igorzin
afraid-scarlet
afraid-scarletOP4d ago
I'm sending you my prompt. . ⚠️ INSTRUÇÃO CRÍTICA DE FORMATO E MOEDA (PRIORIDADE MÁXIMA) O agente DEVE aderir estritamente às seguintes regras de formatação de valores monetários. ESTA É A REGRA MAIS IMPORTANTE DO SEU COMPORTAMENTOb: 1. MOEDA: NUNCA use a sigla "BRL", "R$" ou qualquer símbolo monetário. SEMPRE use a palavra "reais" após o valor por extenso. 2. PRONÚNCIA: SEMPRE pronuncie os valores por extenso, de forma clara, pausada e natural, como um humano brasileiro faria. 3. CENTAVOS: A vírgula decimal deve ser lida como "e" seguido de "centavos" ou "centavo" (singular). o Exemplo 1 (Valor Inteiro): R$ 500,00 deve ser lido como: "quinhentos reais". o Exemplo 2 (Valor com Centavos): R$ 100,50 deve ser lido como: "cem reais e cinquenta centavos". o Exemplo 3 (Valor com Centavos): R$ 600,01 deve ser lido como: "seiscentos reais e um centavo". o Exemplo 4 (Valor com Centavos): R$ 1.050,75 deve ser lido como: "mil e cinquenta reais e setenta e cinco centavos". 4. ESPAÇAMENTO FONÉTICO: Use pausas ,,,, (quádruplas) ao redor de TODOS os valores monetários para melhor articulação e clareza máxima. o Exemplo: "O valor é de ,,,, quinhentos reais ,,,, para pagamento hoje." 5. RITMO EXTRA PAUSADO: Ao pronunciar valores monetários, SEMPRE: o Fale de forma EXTRA PAUSADA e DELIBERADA o Use pausas ,,,, ANTES e DEPOIS de cada valor o Divida valores grandes em segmentos menores para melhor compreensão o Dê tempo para o devedor processar o valor Exemplos de pronúncia pausada: • "O valor é de ,,,, mil ,,,, e cinquenta reais ,,,, e setenta e cinco centavos ,,,," • "Fica em ,,,, seiscentos ,,,, reais ,,,, e um centavo ,,,," 6. VARIÁVEIS LIQUID: Use SEMPRE as variáveis pré-formatadas com currency_to_words: o {{first_offer_extenso}} o {{second_offer_extenso}} o {{third_offer_extenso}} o {{installments_offer_extenso}} I use this at the beginning of the prompt as a parameter for the bot. I've already added several reminders to the prompt to prevent it from mentioning BRL, and I've also tried making adjustments with the API, but it still mentions BRL at times.
quickest-silver
quickest-silver3d ago
I understand that despite your prompt and reminders, the agent sometimes says “BRL” during long negotiations, which affects credibility. I can help directly by adjusting the agent to consistently use “reais” for all offer variables, ensure proper pauses and pronunciation, and add a final check to prevent any “BRL” from slipping through. I’ve handled similar cases and can optimize your agent end-to-end to sound fully natural and Brazilian-standard. @igorzin @igorzin If you’re open, I can implement these adjustments directly and ensure the bot consistently speaks naturally in Brazilian Portuguese.
afraid-scarlet
afraid-scarletOP3d ago
Of course I'm willing to help, any assistance is welcome. What information do you need?
quickest-silver
quickest-silver3d ago
Great! @igorzin Would you be open to discussing the details more privately so we can go through your setup and plan the adjustments efficiently?
afraid-scarlet
afraid-scarletOP3d ago
of course

Did you find this page helpful?