full-greenF
VAPI8mo ago
full-green

Issue with Variable Substitution in Voice Response

Hi Vapi Support Team,

I’m reaching out regarding an issue where the voice bot says “offer range is offer range” instead of speaking the actual value, even though the webhook is returning the correct data.

Use Case:
We’re calling prospects who submitted their car details on our website for a valuation and may be interested in selling. The goal is to collect car details (make, model, year, etc.), give them an estimated offer range via webhook, and schedule a car inspection if they’re interested. After the inspection, they receive a final offer.

What’s working fine:

The entire flow is built in N8N

The webhook is triggered correctly with the right inputs

Google Sheets returns the correct offer range (e.g., 115 to 135 thousand dirhams)

The data is passed back cleanly to the Respond to Webhook node

I’ve added a tool called get_offer_range with a clear description about expected output

The system prompt includes explicit instructions not to say variable names, along with 10 real examples of how to pronounce the offer range naturally

The issue:
Despite all that, the voice bot still says:

“Based on your car’s details, the estimated offer range is offer range.

Only when you ask it something like “What does that mean?” does it respond correctly with:

“Sorry, the offer range is 115 to 135 thousand dirhams.

I've attached:

A PDF with the relevant section of the system prompt where this is explained clearly

Screenshots showing correct webhook execution and returned data

Could you please look into why this placeholder variable isn’t being replaced consistently during the natural dialogue? It’s blocking the main value moment of the call.

Thanks in advance for your help!

Best regards,
Mohammad Samir
Proof_2.png
proof_3.png
proof_4.png
proof_5.png
proof_6.png
proof_7.png
proof_8.png
Was this page helpful?