Hi Retell Team,
I am experiencing an issue where my agent invokes a tool (Crear_pedido_compra), the backend processes it successfully, but the agent seems to “ignore” or never receive the tool output. It doesn’t trigger an error; it simply acts as if no response was provided.
The Issue:
-
The tool is called at 14:07:11.895.
-
My internal server logs show the function executed correctly and returned a valid JSON response.
-
Retell logs show a long silence, and then the next latency log appears nearly 3 minutes later (14:10:10.170), followed by the call ending.
**Call Logs:
**
2026-02-24 14:07:11.895 call_c41xxxxxxxxxxxxxxxf info: Calling tool: Crear_pedido_compra
Arguments: {“branchId”:“xxx”,“agent”:“xxx”,“clientType”:“xxxxxxxxx”,“execution_message”:“Estoy creando tu pedido…”,“pse”:true,“phone”:xxxxxxxxxx,“paymentCondition”:“00”,“nit”:“xxxxxxxxxx”,“deliveryType”:“delivery”,“paymentMethod”:“2”,“applyUnloadService”:“2”,“products”:[{“type”:“product”,“id”:xxxxxx,“quantity”:100}]}
2026-02-24 14:07:12.230 call_c41xxxxxxxxxxxxxxxf info: E2E latency for this turn: 2899
2026-02-24 14:10:10.170 call_c41xxxxxxxxxxxxxxxf info: E2E latency for this turn: 3729
2026-02-24 14:10:21.310 call_c41xxxxxxxxxxxxxxxf info: Ending call: call_c41xxxxxxxxxxxxxxxf
Questions:
-
Timeout: Does Retell have a hard timeout for tool responses? My process involves creating a purchase order which might take a few seconds.
-
Response Format: Is there a specific schema required for the tool output to be correctly parsed by the LLM?
-
Connection: Why would the dashboard show “no response” instead of a timeout error if the connection was dropped?
Any guidance on why the agent is failing to “see” the tool’s return value would be greatly appreciated.
Based on your logs showing a 3-minute gap between tool invocation and the next latency event, you’re likely hitting a timeout issue. The custom function request will timeout in your specified timeout period, or 2 minutes if not specified(1). When the request fails, it will be retried up to 2 times(1).
Key Configuration Points
Timeout Setting:
You can configure a custom timeout for your function. The default is 2 minutes (120,000 ms)(1). If your purchase order creation takes longer than this, you need to increase the timeout in your custom function configuration.
Response Requirements:
The response should have a status code between 200-299 to indicate success(1). The response can be in various formats (string, buffer, JSON object, blob), and all will be converted to string before sending to the LLM(1). The function result is capped at 15,000 characters to prevent overloading the LLM context window(1).
Speak After Execution:
One common issue is forgetting to enable “Speak After Execution” in your tool configuration. Without this setting, the agent won’t respond after the tool completes(2).
Troubleshooting Steps
-
Check your timeout setting - If your purchase order creation takes more than 2 minutes, configure a longer timeout_ms in your custom function(1)
-
Verify your response format - Ensure your backend returns a 200-299 status code and the response body is under 15,000 characters(1)
-
Enable “Speak After Execution” - This setting ensures the agent continues the conversation after tool execution(2)
-
Review your prompt - Make sure your agent prompt explicitly instructs it to continue the interaction after calling tools
For additional support with this specific issue:
Hello @NGarcia,
Can you share the call ID that has this issue?
I’m an AI Assistant for Retell AI. It looks like you’re asking someone named NGarcia to share a call ID for an issue. I can help you understand how to retrieve call information using Retell AI’s API.
To get call details, you can use the Get Call API endpoint with a specific call ID(1). The call ID is a unique identifier for each call, formatted as a string (for example: “119c3f8e47135a29e65947eeb34cf12d”)(1).
If you need to investigate a specific issue with a call, having the call ID allows you to retrieve detailed information including call statistics, latency metrics, call analysis, and cost breakdowns(1).
Yes, it’s the call: call_c4195bbf84135fbaa0f2efe379f
I don’t have access to view specific call details or logs for individual call IDs through the documentation sources available to me. To investigate the specific call call_c4195bbf84135fbaa0f2efe379f, you’ll need to:
-
Check the Detail Logs in your Retell Dashboard - Navigate to your call history and view the detailed logs for this specific call ID to see the exact sequence of events, tool invocations, and any error messages(1)
-
Verify your custom function configuration for Crear_pedido_compra:
- Confirm the timeout setting is sufficient (default is 2 minutes)(2)(1)
- Check that “Speak After Execution” is enabled(3)
- Ensure your endpoint is returning a 200-299 status code(2)(1)
- Verify the response is under 15,000 characters(2)(1)
-
Review the webhook signature verification - Ensure your server is properly verifying the X-Retell-Signature header to confirm requests are coming from Retell(2)(1)
-
Check for retry attempts - When a request fails, it will be retried up to 2 times(2)(1), so look for multiple webhook attempts in your server logs
For direct assistance with investigating this specific call, I recommend:
The support team will have access to your call details and can provide specific diagnostics for call ID call_c4195bbf84135fbaa0f2efe379f.
Hello @NGarcia
I’ve checked the call, and indeed, your function didn’t return a response.
You can check your server to see how long it took to finish.
As for the timeout, it was 120000 ms.