Spanky
04/09/2025, 11:30 PMVapi Support Bot
04/09/2025, 11:32 PMstartSpeakingPlan.waitSeconds
One of the simplest solutions is to increase the wait time before your AI starts speaking:
javascript
const assistant = {
firstMessageMode: 'assistant-speaks-first',
startSpeakingPlan: {
waitSeconds: 2 // Increase this value (default is 0.4 seconds)
}
// other configurations
};
According to [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1343915991670853654), increasing this value from the default 0.4 seconds to something like 0.8 or 2 seconds can help ensure the connection is fully established before the AI begins speaking.
### 2. Use a Webhook to Intercept Calls
You can set up a webhook endpoint to intercept the call and introduce a delay before forwarding it to Vapi using TwiML, as mentioned in [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1343397177182912553).
### 3. Use a Twilio Conference
Another approach is to place the caller in a Twilio conference (on hold) to delay the connection to the AI:
xml
app.post("/conference", (req, res) => {
const VoiceResponse = twilio.twiml.VoiceResponse;
const twiml = new VoiceResponse();
// Put the caller into a conference
const dial = twiml.dial();
dial.conference(
{
startConferenceOnEnter: true,
endConferenceOnExit: true,
},
"my_conference_room"
);
return res.type("text/xml").send(twiml.toString());
});
This approach is documented in the [Vapi documentation on call handling](https://docs.vapi.ai/phone-calling/on-hold-specialist-transfer).Vapi Support Bot
04/09/2025, 11:32 PMKyle Brunker
04/11/2025, 3:10 PM