Webhook Not Triggering During Vapi Call Events
# support
a
Hi Vapi Support Team, I'm encountering an issue where my webhook endpoint is not being triggered during Vapi call events (e.g., call.started, call.ended, etc.). Here’s my setup: I'm using vapi.start() with the following server config: server: { url: 'https://19a9b58798bf.ngrok-free.app/webhook/vapi', secret: 'my-shared-secret' } I’ve verified that: The ngrok tunnel is live and forwarding to my local server My webhook is reachable (tested via Postman and curl — all working) I’m running vapi listen --forward-to http://localhost:5000/webhook/vapi No events are received during the call lifecycle Additionally, no breakpoints or logs are hit on my server when a real call starts or ends — but simulated POSTs to the same endpoint work fine. Could you please help me verify: If the webhook URL is properly registered during vapi.start()? If there are any issues on your end preventing event delivery? If I’m missing any required configuration for event triggering? I’m also struggling to capture live transcripts during ongoing calls. I’ve configured transcriber with deepgram and set model: 'nova-2', but I’m not receiving real-time transcript events in the webhook or client side. https://cdn.discordapp.com/attachments/1394204182512406689/1394204182780706856/image.png?ex=6875f554&is=6874a3d4&hm=d0d3860377f17aeff1726b2c5e8af8c61a562315bfcdcd27b08b8d5a6231699b&
c
Check that your assistant includes "transcript", "status-update", and "end-of-call-report", and consider switching your transcriber from Deepgram to Whisper to fix silent audio issues..
a
const startCall = async () => { try { addMessage('system', 'Starting call...'); // Start call with assistant configuration await vapi.start({ // Basic assistant configuration model: { provider: 'openai', model: 'gpt-4o', messages: [ { role: 'system', content: "You are a helpful assistant. Keep your responses concise and conversational. You're speaking to someone through voice, so avoid using formatting or special characters.", }, ], }, server: { url: 'https://api.xxx.com/webhook/vapi', secret: '.................2', // 👈 Must match what your server checks timeoutSeconds: 20, }, // Voice configuration voice: { provider: 'vapi', voiceId: 'Elliot', }, // Transcriber configuration transcriber: { provider: 'deepgram', model: 'nova-2', language: 'en-US', }, // Call settings firstMessage: "Hello! I'm your AI assistant. How can I help you today?", endCallMessage: 'Thank you for the conversation. Goodbye!', endCallPhrases: ['goodbye', 'bye', 'end call', 'hang up'], // Silence timeout (in seconds) silenceTimeoutSeconds: 30, // Max call duration (in seconds) - 10 minutes maxDurationSeconds: 600, // Required for CreateAssistantDTO clientMessages: [], serverMessages: [], }); } catch (error) { console.error('Error starting call:', error); addMessage('system',
Failed to start call: ${error}
); } }; here is my fuall code
webhook never fires do i need to set any property in the call start?
c
Add
"transcript"
,
"status-update"
, and
"end-of-call-report"
to both
clientMessages
and
serverMessages
, to fix missing transcripts and webhook events..
2 Views