Skip to main content

Table of Contents

  1. What are Webhooks?
  2. Getting Started
  3. Webhook Events
  4. Setup & Configuration
  5. Event Payloads
  6. Best Practices
  7. Testing & Debugging
  8. Troubleshooting

What are Webhooks?

Webhooks are HTTP callbacks that allow CallIntel to send real-time notifications to your application when specific events occur. Instead of constantly polling our API for updates, webhooks push data to your system instantly.

Key Benefits

  • Real-time Updates: Receive instant notifications about call events
  • Reduced Latency: No need for polling intervals
  • Efficient: Only receive data when events occur
  • Scalable: Handle high volumes of events asynchronously
  • Reliable: Automatic retry mechanism for failed deliveries

How Webhooks Work


Getting Started

Prerequisites

  • CallIntel account with organization
  • Public HTTPS URL for receiving webhooks
  • Basic understanding of HTTP and JSON

Quick Setup

  1. Navigate to Webhooks Settings
    • Go to Organization Dashboard → Settings → Webhooks
  2. Add Webhook URL
    • Enter your HTTPS endpoint URL
    • Example: https://your-domain.com/webhooks/callintel
  3. Select Events
    • Choose which events to subscribe to
    • Save configuration
  4. Test Connection
    • Click “Send Test Webhook”
    • Verify receipt and logging
  5. Start Receiving Events
    • Your system is now ready to receive real-time events

Webhook Events

CallIntel supports the following webhook event types:

Call Events

call.initiated

A new call has been initiated (outbound only)

call.connected

Call has been successfully connected

call.in_progress

Call is currently in progress

call.completed

Call has been completed successfully

call.failed

Call failed to connect or was dropped

call.missed

Inbound call was not answered

Data Events

call.transcript_ready

Call transcript has been generated

call.recording_ready

Call recording is available for download

call.summary_ready

AI-generated call summary is ready

call.analysis_complete

Call analysis (sentiment, intent, etc.) is complete

Batch Events

batch.initiated

Batch call campaign has been initiated

batch.in_progress

Batch calls are currently being processed

batch.completed

All batch calls have been completed

batch.failed

Batch call campaign encountered errors

Setup & Configuration

Configure Webhook Endpoint

Your webhook endpoint must:
  • ✅ Be publicly accessible over HTTPS
  • ✅ Accept POST requests
  • ✅ Return HTTP 200 status code
  • ✅ Respond within 10 seconds
  • ✅ Handle duplicate events

Add Webhook URL

Via Dashboard

  1. Go to Organization SettingsWebhooks
  2. Click “Add Webhook”
  3. Enter webhook URL: https://your-domain.com/webhooks/callintel
  4. Select event types to subscribe
  5. Click “Save”

Via API

Webhook Settings


Event Payloads

Call Status Changed Event

Call Transcript Event

Batch Call Event


Best Practices

1. Verify Webhook Authenticity

Always verify that webhooks are legitimate CallIntel requests:

2. Handle Duplicate Events

Events may be delivered multiple times. Use idempotency keys:

3. Implement Retry Logic

Handle temporary failures gracefully:

4. Respond Quickly

Your endpoint should respond as quickly as possible:

5. Log All Webhooks

Maintain a log of all webhook deliveries:

Testing & Debugging

Test Webhook from Dashboard

  1. Navigate to Organization SettingsWebhooks
  2. Select your webhook
  3. Click “Send Test Event”
  4. Choose event type to test
  5. View response status and logs

Manual Testing with curl

Monitor Webhook Logs

Via Dashboard

  1. Go to Organization SettingsWebhooks
  2. Click “View Logs”
  3. Filter by:
    • Date range
    • Event type
    • Status (Success/Failed/Pending)
    • Response code

Via API

Debug Webhook Issues

Use these tools to debug webhook problems:

Troubleshooting

Common Issues

Webhook Not Being Delivered

Check:
  • ✅ Webhook URL is publicly accessible
  • ✅ URL uses HTTPS (HTTP will be rejected)
  • ✅ Endpoint accepts POST requests
  • ✅ Firewall allows incoming connections
  • ✅ Webhook is enabled in settings

Webhook Timeout

Issue: Webhook endpoint takes too long to respond Solution:
  • Process events asynchronously
  • Respond with 202 Accepted
  • Use background job queue

Duplicate Event Processing

Issue: Same event processed multiple times Solution: Implement idempotency

Invalid Signature

Issue: Webhook signature verification fails Check:
  • ✅ Using correct webhook secret
  • ✅ Signature header present
  • ✅ Not modifying request body
  • ✅ Using correct hash algorithm (SHA-256)

Error Response Codes

Get Support

If you’re experiencing webhook issues:
  1. Check Logs - Review webhook delivery logs in dashboard
  2. Test Webhook - Send test event to verify endpoint
  3. Monitor Status - Check Organization Health page
  4. Contact Support - Email: callintel01@gmail.com

Advanced Configuration

Webhook Filters

Filter events to reduce noise:

Multiple Webhooks

Register multiple endpoints for different purposes:

Webhook Retry Policy

Configure retry behavior:

FAQ

Webhooks are retried up to 3 times with exponential backoff. First retry at 60 seconds, then 300 seconds, then 900 seconds.
No, webhooks must use HTTPS for security. HTTP endpoints will be rejected.
CallIntel will retry the webhook delivery multiple times. Once all retries are exhausted, the webhook delivery is marked as failed and logged.
Each webhook includes an X-Callintel-Signature header containing an HMAC-SHA256 signature. Verify this against your webhook secret.
Yes, when registering a webhook, you can select specific event types or use filters for more granular control.
Webhook payloads are limited to 10 MB. Larger payloads will be truncated or rejected.
Use ngrok to expose your local server: ngrok http 8000, then use the generated URL as your webhook endpoint.
Yes, toggle the “Active” switch in webhook settings to disable without deleting it.

See Also


Happy Building! 🚀 For support or questions about webhooks, contact us at callintel01@gmail.com