Alex
12/20/2025, 5:03 PMAI Evy
12/20/2025, 5:03 PMAI Evy
12/20/2025, 5:03 PMAI Evy
12/20/2025, 5:03 PMAI Evy
12/20/2025, 5:03 PMAlex
12/20/2025, 5:17 PMAI Evy
12/20/2025, 5:17 PMAI Evy
12/20/2025, 5:17 PM{{barber_name}}) .
2. Use that dynamic variable in a single check availability function — you can include {{barber_name}} in the custom function URL or pass it as a parameter to your API endpoint.
This way, you only need one check availability function that dynamically references whichever barber the user selected, rather than creating 20 separate functions.
For the calendar integration itself, you'd configure a check calendar availability function with:
- Tool name (unique within the agent)
- API Key from cal.com
- Event Type ID
- Tool description [(2) ]()
The key is that your backend API would receive the barber name as a parameter and route to the appropriate calendar based on that value.
You can also use collected dynamic variables from the call to pass user-provided information (like the barber name) to your function calls. [(11) ]()AI Evy
12/20/2025, 5:17 PMAI Evy
12/20/2025, 5:17 PMAlex
12/20/2025, 5:23 PMAI Evy
12/20/2025, 5:23 PMAI Evy
12/20/2025, 5:23 PMjson
{
"type": "object",
"required": [
"startDate",
"endDate"
],
"properties": {
"barber_name": {
"type": "string",
"const": "{{barber_name}}"
},
"startDate": {
"type": "string",
"description": "start date in YYYY-MM-DDTHH:MM:SSZ format"
},
"endDate": {
"type": "string",
"description": "end date in YYYY-MM-DDTHH:MM:SSZ format"
}
}
}AI Evy
12/20/2025, 5:24 PM"const": "{{barber_name}}" to pass the dynamic variable directly to your API — const values are applied directly to the function without LLM resolution. [(1) ]() , [(2) ]()
- The startDate and endDate use "description" so the LLM resolves them based on what the user says. [(1) ]() , [(2) ]()
- Make sure your date format strictly matches YYYY-MM-DDTHH:MM:SSZ with the Z indicating UTC time. [(3) ]()
Your backend API would then receive the barber_name parameter and use it to query the correct cal.com calendar/event type for that barber.
You can also include the dynamic variable in query parameters or the endpoint URL itself if your API structure requires it. [(1) ]() , [(2) ]()AI Evy
12/20/2025, 5:24 PMAI Evy
12/20/2025, 5:24 PMAlex
01/04/2026, 2:18 PMAI Evy
01/04/2026, 2:18 PMAI Evy
01/04/2026, 2:18 PMja-JP for Japanese speech recognition. [(1) ]() , [(2) ]()
[(1) ]() , [(2) ]()
Voice Temperature
The voice_temperature parameter controls how stable vs. variant the voice is, ranging from 0-2. [(1) ]() , [(2) ]()
[(1) ]() , [(2) ]()
Pronunciation Dictionary
You can add custom pronunciation entries to guide speech synthesis for consistent pronunciation of specific words/phrases (currently supported for English & 11labs voices) . [(1) ]() , [(2) ]()
[(1) ]() , [(2) ]()
Prompt Engineering
For regional dialect and colloquial language, you'd primarily handle this through your LLM prompt — instructing the agent to respond using specific regional expressions, honorific patterns, or dialect markers (e.g., Kansai-ben, Tohoku dialect, etc.) .
---
For detailed guidance on Japanese regional dialects and voice characteristics, I'd recommend:
Check out these potentially useful sources:
- [Configure LLM Options](AI Evy
01/04/2026, 2:19 PMAI Evy
01/04/2026, 2:19 PMAlex
01/04/2026, 2:20 PMAI Evy
01/04/2026, 2:20 PMAI Evy
01/04/2026, 2:20 PMjson
"language": "ja-JP"
Step 2: Voice Selection & Tuning
Configure voice parameters:
json
"voice_temperature": 1,
"voice_speed": 1
- voice_temperature ranges from 0-2; higher values create more variant speech generation (may help with natural-sounding regional inflections)
- voice_speed ranges from 0.5-2; adjust to match the natural speaking pace of the target region
Step 3: Speech Normalization
Enable speech normalization for consistent pronunciation of numbers, dates, and currency:
json
"normalize_for_speech": true
*Step 4: Prompt Engineering (LLM-Side) *
For regional dialect and colloquial language, your LLM prompt should include:
- Specific regional expressions and vocabulary
- Appropriate honorific patterns (keigo levels)
- Regional dialect markers (e.g., Kansai-ben endings, Tohoku pronunciation notes)
- Character personality traits that align with regional stereotypes if desired
Step 5: Boosted Keywords
Add region-specific vocabulary to improve transcription accuracy:
json
"boosted_keywords": ["regional_term_1", "regional_term_2"]AI Evy
01/04/2026, 2:20 PMAI Evy
01/04/2026, 2:20 PMAI Evy
01/04/2026, 2:20 PMAlex
01/04/2026, 3:10 PMAI Evy
01/04/2026, 3:10 PMAI Evy
01/04/2026, 3:10 PM{{current_time_Asia/Tokyo}}
Retell supports system default dynamic variables including {{current_time}} for America/Los_Angeles, and {{current_time_[timezone]}} for any given timezone.
[(2) ]()
Example timezone formats:
- {{current_time_Asia/Tokyo}} — for Tokyo, Japan
- {{current_time_America/New_York}} — for Eastern Time
- {{current_time_Australia/Sydney}} — for Sydney
, [(1) ]()
The format returns the current time like: Monday, March 24, 2025 at 02:53:01 PM PDT
[(2) ]()
You can add this variable to your prompt or begin message to give your Japanese agent accurate local time context.AI Evy
01/04/2026, 3:10 PMAI Evy
01/04/2026, 3:10 PMAI Evy
01/04/2026, 4:27 PMAlex
01/04/2026, 4:27 PMAI Evy
01/04/2026, 4:28 PM{"status":"failed to transfer"}, this can also occur when the destination simply doesn't pick up. [(4) ]()
Can you share any error messages from your call logs or the specific tranAI Evy
01/04/2026, 4:28 PMAI Evy
01/04/2026, 4:28 PMAI Evy
01/04/2026, 4:28 PMAlex
01/04/2026, 4:28 PMAI Evy
01/04/2026, 4:28 PMAI Evy
01/04/2026, 4:29 PM"telephony provider or carrier declined or was unavailable" indicates an issue at the telephony/carrier level during the transfer attempt. [(1) ]()
Issue with your transfer number format:
Your transfer destination is formatted as "+1(647) 584-0591" — this contains parentheses which is not valid E.164 format. [(2) ]()
The transfer number must be in e.164 format (e.g., +16475840591) or a SIP URI in the format sip:username@domain.
Fix:
Change your transfer destination from:
+1(647) 584-0591
to:
+16475840591
Additional context:
Call transfer failures occur for similar reasons as outbound call failures. [(1) ]()
The telephony_provider_unavailable disconnection reason indicates the telephony provider is unavailable. [(3) ]()
One community user experiencing similar transfer failures with a custom telephony provider resolved the issue by creating a new SIP trunk connection with their PBX. [(4) ]()
Since you're using Retell numbers, ensure the destination number is correctly formatted and reachable. If the issue persists after fixing the format, check the SIP connection log in your call logs for more detailed error information. [(1) ]()AI Evy
01/04/2026, 4:29 PMAI Evy
01/04/2026, 4:29 PMAlex
01/06/2026, 3:56 PMAI Evy
01/06/2026, 3:56 PMAI Evy
01/06/2026, 3:56 PM{{current_time_America/Toronto}}
Retell supports {{current_time_[timezone]}} for any specified timezone.
The output format will be similar to: "Thursday, March 28, 2024 at 11:46:04 PM EST"
You can include this variable in your prompts or begin message to give your agent accurate local time context.AI Evy
01/06/2026, 3:56 PMAI Evy
01/06/2026, 3:56 PMAlex
01/08/2026, 3:58 PMAI Evy
01/08/2026, 3:58 PMAI Evy
01/08/2026, 3:58 PMAI Evy
01/08/2026, 3:58 PMAI Evy
01/08/2026, 3:58 PMAlex
01/08/2026, 4:01 PMAI Evy
01/08/2026, 4:01 PMAI Evy
01/08/2026, 4:01 PMAI Evy
01/08/2026, 4:01 PMAI Evy
01/08/2026, 4:01 PMAlex
01/08/2026, 4:44 PMAI Evy
01/08/2026, 4:44 PMAI Evy
01/08/2026, 4:44 PMAI Evy
01/08/2026, 4:44 PMAlex
01/08/2026, 4:59 PMAI Evy
01/08/2026, 4:59 PMAI Evy
01/08/2026, 4:59 PMmultipart/form-data for requests that include files, and the JSON fields like knowledge_base_texts and knowledge_base_urls should follow standard JSON syntax. [(1) ]() [(2) ]()
Check out these potentially useful sources:
- [Create Knowledge Base]()
- [Add Knowledge Base Sources]()
Would you like a general answer on JSON formatting best practices?AI Evy
01/08/2026, 4:59 PMAI Evy
01/08/2026, 4:59 PMAlex
01/08/2026, 5:02 PMAI Evy
01/08/2026, 5:02 PMAI Evy
01/08/2026, 5:03 PMknowledge_base_name must be less than 40 characters [(1) ]() [(2) ]() , but I don't see information about editing or updating the name after the knowledge base is created.
Check out these potentially useful sources:
- [Knowledge Base]()
- [Get Knowledge Base]()
You may want to check if there's an Update Knowledge Base API endpoint, or reach out to support for clarification on this functionality.AI Evy
01/08/2026, 5:03 PMAI Evy
01/08/2026, 5:03 PM