Mikey
02/17/2026, 7:19 PMAI Evy
02/17/2026, 7:19 PMAI Evy
02/17/2026, 7:19 PMtool_uses structure from the LLM rather than the extracted parameters being passed to your endpoint. A few things to check:
1. **If using Custom LLM integration**: You need to parse the function call output from the LLM yourself and handle the tool execution logic in your server code. The tool_uses array with recipient_name and parameters is the raw output format from the LLM—you're responsible for extracting the parameters and executing the function accordingly. [(1) ]()
2. **If using Retell's built-in Custom Function**: When Retell calls your endpoint, the request body should contain an args field with the function arguments. The expected request body format includes:
- `name`: the name of the custom function
- `call`: the call object for context
- `args`: the arguments for the custom function as a JSON object [(2) ]()
3. **Model-related issues**: There have been reports of certain models (like GPT-4o) not passing required parameters correctly. Switching to a different model version (like GPT-4.1) has helped in some cases. [(3) ]()
Could you clarify:
- Are you using a Custom LLM integration or Retell's built-in agent framework (Single/Multi Prompt or Conversation Flow) ?
- What model are you using?
This will help narrow down whether the issue is in how the function call output is being parsed or a configuration issue.AI Evy
02/17/2026, 7:19 PMAI Evy
02/17/2026, 7:19 PMMikey
02/17/2026, 7:25 PMAI Evy
02/17/2026, 7:25 PMAI Evy
02/17/2026, 7:26 PMname, call, and args fields in the body. [(1) ]()
The tool_uses structure you're seeing with recipient_name and parameters is not the expected format from Retell's Custom Function—that looks like raw LLM output that wasn't properly processed.
Possible causes and fixes:
1. **Parameter schema validation issue**: If you failed to save the custom function, it's likely because the parameters are not valid. One common mistake is not adding "type": "object" to the top level of the JSON schema. [(2) ]() [(1) ]()
2. **HTTP method configuration**: Verify your custom function is configured with the correct HTTP method (POST, GET, PUT, PATCH, or DELETE) . There was a reported case where a trailing slash in the URL caused the request to be sent as GET instead of POST. [(3) ]()
3. **Verify the request you're receiving**: The expected request body format from Retell should look like:
- `name`: the name of the custom function
- `call`: the call object with context
- `args`: the arguments as a JSON object [(2) ]() [(1) ]()
4. **Check your endpoint**: Ensure your endpoint is correctly receiving and parsing the POST request body. The X-Retell-Signature header can be used to verify the request is from Retell.
If you're still receiving the tool_uses format instead of the expected args structure, this mAI Evy
02/17/2026, 7:26 PM"type": "object" at the top level.AI Evy
02/17/2026, 7:26 PMAI Evy
02/17/2026, 7:26 PM