Skip to main content

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
Response example:

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

Debug Information

Access detailed webhook debug information for troubleshooting delivery issues and payload validation.

Next Steps