CG
12/22/2025, 4:55 PMAI Evy
12/22/2025, 4:55 PMAI Evy
12/22/2025, 4:56 PMAI Evy
12/22/2025, 4:56 PMAI Evy
12/22/2025, 4:56 PMAI Evy
12/23/2025, 12:34 AMCG
12/23/2025, 12:34 AMAI Evy
12/23/2025, 12:34 AMYYYY-mm-dd (e.g., 2025-12-22) . [(1) ]()
To fix this, ensure the start_date parameter in your custom function is being passed as a string in that exact format. In your function's parameter schema, you can define it like this:
json
{
"type": "object",
"properties": {
"start_date": {
"type": "string",
"description": "The start date in YYYY-mm-dd format (e.g., 2025-12-22) "
}
},
"required": ["start_date"]
}
Adding a clear description helps the LLM extract and format the date correctly from the conversation.
If the LLM is still passing an incorrectly formatted date, you can also update your prompt to explicitly instruct the agent to format dates as YYYY-mm-dd before calling the function.AI Evy
12/23/2025, 12:35 AMAI Evy
12/23/2025, 12:35 AMCG
12/23/2025, 12:38 AMCG
12/23/2025, 12:38 AMAI Evy
12/23/2025, 12:38 AMAI Evy
12/23/2025, 12:38 AMAI Evy
12/23/2025, 12:38 AM{{variable_name}}. [(2) ]() When you use {{variable_name}} in a const value or query parameter, it will be substituted with the actual value at runtime—you don't need to add extra quotes around it. [(1) ]()
For example, in a parameter schema:
json
"last_name": {
"type": "string",
"const": "{{last_name}}"
}
Important: The {{variable_name}} must reference an existing dynamic variable that has been set (either via the API call, inbound webhook, or extracted during the conversation) . If the variable doesn't have a value, it won't be substituted. [(2) ]() , [(3) ]()
If you need the LLM to extract a value during the conversation, use the Extract Dynamic Variables function to capture it first, then reference it with {{variable_name}} in your query parameters.AI Evy
12/23/2025, 12:38 AMCG
12/23/2025, 2:26 AMjuvonno_get_availability
- Purpose: get appointment availability from Juvonno
- Method: GET
- Usage: called from State4_booking_calendar to find slots for a given day (e.g. “tomorrow at 12 pm”, “Friday at 2 pm”).
When I don’t pass any dates, the function returns availability (Juvonno seems to use some default date like 2025-12-22). But when I try to pass start_date and end_date so we can search specific days, the API responds with a 400 error saying the date format is invalid – even though the date string looks correct.
I’d like help understanding exactly how Retell is mapping function “Arguments” → HTTP query parameters for this GET request, and how I should configure it so Juvonno accepts the dates.
---
### What works (no dates, Arguments: {})
In this scenario, my custom function is defined as a GET with no explicit query params configured. Melina calls:
```text
Calling tool: juvonno_get_availability
Arguments: {}
And Juvonno responds successfully with a huge list of slots keyed by "2025-12-22" (this is the behavior I want, but for whatever date the user actually requested):
Result: {"list":[
{
"staff":{"id":5,"num":"5","first_name":"3D BODY SCAN","last_name":"THERAPY"},
"slots":{"2025-12-22":[
{"available":true,"time":{"time":"10:00","meridiem":"am","interval":10},
"schedule_type":{"code":"11","name":"3D Body Scan","id":8}},
...
]}
},
...
]}AI Evy
12/23/2025, 2:26 AMAI Evy
12/23/2025, 2:26 AMAI Evy
12/23/2025, 2:26 AMjson
{
"type": "object",
"properties": {
"start_date": {
"type": "string",
"description": "The start date in YYYY-mm-dd format (e.g., 2025-12-22) "
}
}
}
Bottom line: For GET requests with LLM-extracted parameters, the most reliable approach is to use a POST request to capture the data first, then handle the actual GET request to Juvonno from your backend.
[(2) ]()AI Evy
12/23/2025, 2:26 AM{{start_date}} in query parameters, the variable may be passed literally (e.g., ?start_date=%7B%7Bstart_date%7D%7D) rather than substituted with the actual value. This happens because the dynamic variable doesn't have a value set at the moment the request is made.
[(2) ]()
Recommended workaround:
1. Use a POST request instead to extract the date values first, then either:
- Send the data to your backend/webhook (n8n, Make, etc.) and have it make the GET request to Juvonno with the properly formatted dates
- Return the extracted values as dynamic variables, then use a second function with those variables
2. Extract the dynamic variable first using the Extract Dynamic Variables function to capture and store start_date and end_date from the conversation before calling your availability function. Then reference them with {{start_date}} in your query parameters.
For the date format itself:
Ensure your prompt explicitly instructs the agent to format dates as YYYY-mm-dd (e.g., 2025-12-22) before calling the function, and define the parameter description clearly:
[(1) ](httpAI Evy
12/23/2025, 2:26 AMAI Evy
12/23/2025, 2:26 AM