Hi Retell Support,
We are seeing a high-severity issue where a Retell agent is audibly speaking internal tool-call syntax to the caller instead of silently invoking the relevant tool.
Org ID: org_vKVl7EVrGjqQoEMi
Call ID: call_3d1060f0314e28d3cf68e817d5c
Agent ID: agent_6469ced6df072b5c1788a25e60
Call type: Outbound phone call
LLM Model: GPT 4.1
During the call, the user agreed to speak with one of our insurance advisors. The agent correctly said the transfer handoff message:
“Sounds great, Robert. I will transfer you over to them now. Please stay on the line, one of our insurance advisors will be with you in a moment.”
However, instead of silently invoking the transfer tool, the caller then heard the agent say the following internal tool syntax aloud:
functions.transfer_call
The transfer did not complete. The agent then continued speaking, repeating “please stay on the line” messages for several minutes, as if it believed the transfer/waiting state had started.
Later in the same call, after the user was still waiting and asked to speak with the advisor, the agent also audibly spoke the end-call syntax instead of silently invoking the tool:
functions.end_call
The user then said, “No. Hello?” because the call had not ended cleanly, and the agent repeated the closing message and again exposed:
functions.end_call
This is not isolated to this one client.
We previously saw the same class of issue on another client’s Retell calls, where the agent audibly said internal tool-call syntax instead of silently invoking the tool.
After that incident, we updated our agents based on Retell’s documented tool-calling best practices, including removing backticks/code-style formatting around tool names and making the prompt wording clearer so tools should be used silently.
Despite those updates, the issue is still occurring.
Can you please investigate this specific call and confirm:
- Why
functions.transfer_callandfunctions.end_callwere emitted into the spoken transcript/TTS output. - Whether this is related to a Retell runtime, LLM, streaming, or tool-calling regression.
- Whether there is a recommended setting, tool/prompt configuration, or stricter tool-calling mode we should use to prevent internal tool syntax from ever reaching the caller.
- Whether this has anything to do with the agent continuing to speak “please stay on the line” messages after the transfer should have started.
Expected behaviour:
The caller should hear only the normal handoff sentence, then the transfer should start silently. The caller should never hear internal tool names, function names, markdown, JSON, or anything beginning with functions.
Actual behaviour:
The caller heard functions.transfer_call and later functions.end_call spoken aloud by the agent, and the transfer did not complete as expected.
This is urgent because it impacts live production outbound calls and creates a poor caller experience. Please review the call log, transcript with tool calls, and any internal execution traces for the call above.
Thank you