Documentation Index
Fetch the complete documentation index at: https://docs.dograh.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Dograh AI uses webhooks to communicate with telephony providers for call events and audio streaming. Webhooks are automatically configured when you initiate calls.Webhook Types
1. Initial Call Webhook
When a call is initiated, the telephony provider requests instructions. Endpoint:/api/v1/telephony/webhook/{workflow_id}/{user_id}/{workflow_run_id}
Purpose: Returns provider-specific instructions
- Twilio (TwiML)
- Vonage (NCCO)
2. Status Callback
Receives call lifecycle events. Endpoint:/api/v1/telephony/status-callback/{workflow_run_id}
Events Tracked:
initiated- Call request receivedringing- Call is ringinganswered- Call was answeredcompleted- Call ended normallybusy- Line was busyno-answer- Call not answeredfailed- Call failed
3. WebSocket Audio Stream
Real-time audio streaming for voice interaction. Endpoint:/api/v1/telephony/ws/{workflow_id}/{user_id}/{workflow_run_id}
Audio Formats:
- Twilio: 8kHz ฮผ-law (MULAW), Base64-encoded in JSON messages
- Vonage: 16kHz Linear PCM, Binary frames
How It Works
Dograh AI automatically:- Constructs webhook URLs based on your deployment
- Passes them to the telephony provider when initiating calls
- Verifies webhook signatures for security:
- Twilio: HMAC-SHA1 signature validation
- Vonage: JWT token verification
- Processes status updates to track call lifecycle
- Manages WebSocket connections for audio streaming
- Handles provider-specific audio formats and protocols
Local Development
For local development, use the built-in Cloudflare tunnel:Troubleshooting
Webhook URL not accessible
Webhook URL not accessible
- Verify your domain/tunnel URL is publicly accessible
- Check firewall rules allow incoming HTTPS traffic
- Test with
curlfrom external network
WebSocket connection dropping
WebSocket connection dropping
- Check WebSocket upgrade headers are preserved
- Verify no timeout on load balancer/proxy
- Monitor for memory/CPU constraints
Status callbacks not received
Status callbacks not received
- Verify workflow_run_id is included in URL
- Check provider console for webhook errors
- Review webhook retry logs