TONEXT AI
Latest agent_id: agent_eb13a21c7dd6a5f0718d9bd02d
Problem: A custom tool (check_availability) is configured exactly per your docs at docs.retellai.com/build/single-multi-prompt/custom-function:
method: "POST"datedeclared in theparametersschema with adescription(so the LLM determines it)- static values (client_id, calendar_id, user_id) in
query_params args_at_root: true,parameter_type: "json"
On every real call, our webhook receives a request with NONE of this attached — no query string, no body (confirmed via raw request headers on our end — no query string, no content-type, no content-length) — even though your own call logs show the LLM correctly deciding a value for date (e.g. {“date”: “2026-08-29”}) right before the tool call fails.
Example failing call to check directly in your logs:
- call_id: call_622ea01f4cd3516887f2404cdce
- Timestamp: 2026-08-28 22:47:17 EDT (llm decided the tool call, per your own call log:
Calling tool: check_availability Arguments: {"date": "2026-08-29", ...}) → 22:47:18 EDT (our server responded 400 because the request arrived empty) - Several other call_ids from the same session show identical behavior if you need more samples: call_631b08619f7bdd6b598434e5072, call_728dfa3d05c58b5e3c229cb30b7, call_b87bc2f034bb4596b882bc46c38, call_f36e28003cbad3f61bdf44fc6f3
What we’ve already confirmed directly from your own API (GET /get-retell-llm/{id}):
- The tool’s stored
query_parametersfield (note: we sendquery_paramsper your docs, but a read-back shows it stored underquery_parametersinstead — a naming discrepancy between the write and read schema you may want to check) IS correctly populated with our static values (client_id, calendar_id, user_id all present and correct). - We tried this both with method GET and POST — GET makes sense as broken since query params are documented as static-only and there’d be no channel left for the LLM’s own argument, but POST (with the parameters schema + args_at_root + parameter_type set as documented) also produced an identical empty request.
What we need from support: please check these call_ids against your own server-side execution logs — we’ve followed the documented mechanism exactly and the stored tool config is confirmed correct on our end via your own API, so at this point we need someone who can see what Retell’s backend actually attempted to send (or didn’t) for these specific calls, not another documentation pass.
This is blocking a live-booking feature for a multi-tenant SaaS product (each client gets an auto-provisioned agent via your API), so a fix or workaround here needs to be something we can replicate programmatically, not a one-off dashboard edit.
Thanks — happy to hop on a call if that’s faster than back-and-forth.