Agent reading JSON extract to callers

Hi there,
Has anyone ever encountered an issue with a Retell agent reading JSON extracts to the caller?

We started seeing this behavior a couple days ago with multiple agents. Randomly after the Retell agent calls the extract_user_info function, she starts reading the JSON extract data to the caller which sounds terrible. I asked the Retell Discord AI if there was a temporary glitch with ChatGPT 5.1 that may cause this, and got a suggestion to add something to the prompt:

  • *CRITICAL: Never read raw JSON or technical data to the caller.

Even with this new instruction it is still happening (I tried adding to the global prompt, the conversation node, and in the function description).

Any ideas to fix this? This is a sample transcript:

…

agent: …If you don’t mind, may I have your name, please?

user: Yeah. It’s gonna be fred smith.

agent: Thanks. To make sure I have it right, could you please spell your first and last name for me, slowly?

user: Yeah. It’s f r e d s m i t h.

agent: {“first_name”:“Fred”,“last_name”:“Smith”,“company_name”:null,“phone_number”:null,“alternate_phone”:null,“email”:null,“contact_reason”:null,“message_details”:null,“urgent”:null}
Thank you. I have that as F R E D - S M I T H. Is that correct?
…
agent: Got it, thank you.Would you like to leave your email address?

user: Yeah. It’s I need a dollar at gmail dot com.

agent: {“first_name”:“Fred”,“last_name”:“Smith”,“company_name”:null,“phone_number”:“9251231234”,“alternate_phone”:null,“email”:null,“contact_reason”:“MESSAGE ONLY”,“message_details”:"…

user: You’re glitching out again.

agent: Ah, my apologies—that weird stuff you heard was just a system hiccup on my side.
…


Yes, this issue has been reported. From Thursday, December 18, 2025, there’s a documented case where an agent verbally outputs tool-related technical data during calls(1).

The issue you’re experiencing—where the agent reads JSON extracts aloud—appears related to how the LLM handles function calling responses. Here are potential solutions:

1. Configure Speech Behavior for Extract Dynamic Variables

When setting up your Extract Dynamic Variables tool, ensure “Speak during execution” is disabled(2). This prevents the agent from speaking while the extraction function executes(2).

2. Update Your Prompt

Add explicit instructions to your prompt about when to invoke the extraction function(2):

When user states his name and phone number, please extract the information by calling the `extract_user_details` function.

(2)

3. Consider LLM Provider

One documented case suggests that Gemini models don’t always perform well with tool calls, and recommends using GPT 4.1 models instead(1).

4. Review Speech Configuration

Check your agent’s “Speak after execution” setting for the extraction tool(3). This controls whether the agent continues talking after the function completes(3). You may want this disabled to prevent the agent from verbalizing extraction results(3).

5. Normalize for Speech

Ensure normalize_for_speech is set to true in your agent configuration(4)(5)(6). This normalizes text before speech synthesis, which can help prevent raw technical data from being spoken(4)(5)(6).

If these steps don’t resolve the issue, you may want to reach out through official support channels:

  1. Kindly tell me where the “Speak during execution” setting is. For the Extract Variable function it does not appear in my node:


I apologize for the confusion. Looking at the documentation more carefully, the “Speak during execution” setting appears in different contexts depending on which builder you’re using:

For Conversation Flow (Extract Dynamic Variable Node)

The Extract Dynamic Variable Node documentation(1) mentions “Speak during execution and messages” as a configurable setting, but this appears under the Agent Transfer Node(2), not the Extract Dynamic Variable Node(1).

For the Extract Dynamic Variable Node specifically, the documentation states it “is used to extract information from conversation and store them as dynamic variable. It’s not intended for having a conversation with the user”(1). The available settings shown are(1):

  • Global Node
  • LLM (choose a different model for this particular node)
  • Fine-tuning Examples

For Single/Multi Prompt (Extract Dynamic Variables Tool)

The Extract Dynamic Variables tool documentation(3) does not explicitly mention a “Speak during execution” toggle in the UI.

Based on your screenshot and the documentation, it appears the Extract Dynamic Variable function may not have an explicit “Speak during execution” toggle in the interface you’re using. The issue you’re experiencing—where JSON is being read aloud—suggests the LLM itself is including the function output in its spoken response, rather than a configuration setting causing speech during execution.

Given this, I’d recommend focusing on the prompt-based solutions and ensuring your LLM model selection is appropriate for tool calling behavior.

If you need further clarification on available settings for your specific setup, you may want to contact support:

Hello Jeremy
Indeed the issue is coming from GPT 5.1 , try GPT 4.1 and that will fix the issue.

1 Like

Thanks, Omar! I will try that.

I also noticed GPT 5.2 was just released. I wonder if that also fixes the issue.


GPT-5.2 is available on Retell AI(1)(2)(3)(4)(5). The available GPT-5 family models include: gpt-5, gpt-5.1, gpt-5.2, gpt-5-mini, and gpt-5-nano(1)(2)(3)(4)(5).

However, I don’t have specific information about whether GPT-5.2 addresses the JSON verbalization issue you’re experiencing. There is a documented case where GPT-5 models had issues with question-looping behavior(6), but no specific mention of fixes in GPT-5.2 for the JSON reading problem(6).

You can update your agent’s post_call_analysis_model or the LLM used in your response_engine to test GPT-5.2(1)(2)(3)(4)(5). When configuring your agent, you can specify the model like this:

{
  "post_call_analysis_model": "gpt-5.2"
}

(1)(2)(3)(4)(5)

I’d recommend testing GPT-5.2 alongside the configuration changes I mentioned earlier (particularly disabling “Speak during execution” for your extraction function). If the issue persists across models, it’s more likely a configuration issue rather than a model-specific bug.

**

So far I didn’t recieve any issue about GPT 5.2 but its still new, you can give it a try it.

Based on the available information, GPT-5.2 is listed as one of the supported models in Retell AI’s post chat analysis model options(1).

There was a reported issue with GPT-5 where the AI Voice Agent would get stuck repeating the same question in a loop during the question phase, even after the user answered(2). However, this issue was specifically reported for GPT-5, not GPT-5.2(2).

Since GPT-5.2 is a newer model and you haven’t received any issues about it yet, it appears to be functioning properly for your use case. If you do encounter any problems similar to the GPT-5 looping issue, you could try being more assertive with your prompt (e.g., “don’t repeat the question unless asked to”) or switch to an alternative model like GPT-4.1 or GPT-4.1-mini(2).

My first attempt using GPT 5.2 resulted in the agent reading back XML data with chinese characters this time… so I would not recommend it at this time.

I would stay with GPT 4.1, it’s the most stable one currently.

1 Like