Hey, I’m having an issue with dynamic variables not loading in time during inbound calls.
Here’s what’s happening:
• I have a Vapi assistant with {{name}}, {{petName}}, and {{petType}} set up in the first message.
• I’m using the “Server URL” (not a tool) to trigger an n8n webhook on call start.
• In the webhook, I query Supabase for the customer and pet data based on customer.number, then respond with a Respond to Webhook node like this:
{
"assistantId": "xxxxx",
"assistantOverrides": {
"variableValues": {
"name": "John",
"petName": "Zena",
"petType": "cat"
}
},
"customer": {
"number": "+19782221234"
},
"phoneNumberId": "xxxxxx"
}
Everything looks fine in the webhook response logs, and the data is correctly passed back.
BUT… the assistant still starts the call by saying “Hi, thanks for calling” instead of using the name. However, when I manually trigger the call via API (using the same values), the assistant says the name correctly.
It seems like the webhook response is arriving too late during inbound calls.
Is there any way to delay the first message until the webhook returns the assistantOverrides? Or am I missing something in the config?
Would appreciate any guidance!