Webhook Overview
Webhooks enable real-time communication between ThreeTone and your applications by sending HTTP POST requests to your specified endpoints when events occur.Supported Events
- Call Events: call_started, call_ended, call_transferred
- Agent Events: agent_available, agent_busy, agent_offline
- Conversation Events: conversation_started, conversation_ended, escalation_triggered
- System Events: system_error, maintenance_scheduled, quota_exceeded
Webhook Configuration
Creating Webhooks
Set up webhook endpoints for event notifications:cURL
Webhook Management
List and manage existing webhooks:cURL
Event Payloads
Call Started Event
Triggered when a new call begins:Call Ended Event
Triggered when a call completes:Conversation Events
Track conversation lifecycle:Escalation Events
Monitor when calls are escalated:Webhook Security
Signature Verification
Verify webhook authenticity using HMAC signatures:Best Practices
- HTTPS Only: Always use HTTPS endpoints for webhooks
- Signature Verification: Verify all incoming webhooks
- Idempotency: Handle duplicate events gracefully
- Error Handling: Implement proper error responses
- Rate Limiting: Protect against webhook flooding
Webhook Implementation Examples
Node.js Express Handler
Python Flask Handler
Webhook Testing
Test Webhook Delivery
Test webhook endpoints during development:cURL
Webhook Logs
Monitor webhook delivery status:cURL
Error Handling and Retries
Retry Configuration
Configure automatic retry behavior:Handling Failed Webhooks
Implement proper error handling:Monitoring and Debugging
Webhook Health Monitoring
Monitor webhook endpoint health:cURL

