Webhooks
Webhooks allow your campaigns to send real-time notifications to external systems when call events occur. Use webhooks to integrate with CRMs, trigger workflows, update databases, or connect to any HTTP endpoint.How Webhooks Work
- You register a webhook endpoint (your server URL)
- You enable webhooks on a campaign and select which events to send
- When a call event occurs, EolasFlow sends a POST request to your endpoint
- Your server processes the data and responds with a 2xx status code
Webhook Events
EolasFlow can notify you about these call events:| Event | Description |
|---|---|
call.initiated | Call request created, dialing started |
call.ringing | Destination phone is ringing |
call.answered | Call was answered |
call.in_progress | Active conversation is happening |
call.completed | Call ended successfully |
call.failed | Call failed to connect |
call.no_answer | No one answered the call |
call.busy | Line was busy |
call.cancelled | Call was cancelled before connecting |
call.voicemail | Call went to voicemail |
Setting Up Webhooks
Step 1: Register a Webhook Endpoint
First, register your server’s webhook URL:1
Navigate to Integrations
Go to Dashboard → Integrations → Webhooks.
2
Add New Endpoint
Click Add Endpoint and enter:
- Name: A descriptive name (e.g., “CRM Integration”)
- URL: Your webhook endpoint URL
3
Configure Authentication
Choose how to authenticate requests to your server:
- None: No authentication
- Bearer Token: Authorization header with Bearer token
- API Key (Header): Custom header with API key
- API Key (Query): API key as URL parameter
- Basic Auth: HTTP Basic authentication
- Custom Header: Custom header name and value
4
Optional: Add Signing Secret
Add a signing secret to verify webhook payloads using HMAC-SHA256.
5
Test Connection
Click Test to verify your endpoint is reachable.
6
Save
Click Save to register the endpoint.
Step 2: Enable Webhooks on a Campaign
1
Open Campaign Settings
Go to Dashboard → Campaigns and click on your campaign.
2
Navigate to Webhooks Tab
Click the Webhooks tab in campaign settings.
3
Enable Webhooks
Toggle webhooks On and select your registered endpoint.
4
Select Events
Choose which events should trigger webhooks.
5
Add Custom Fields (Optional)
Add custom key-value pairs to include in every webhook payload.
6
Save Configuration
Click Save to activate webhooks for this campaign.
Webhook Payload
When an event occurs, EolasFlow sends a POST request with this JSON structure:Authentication Options
Bearer Token
Your token is sent in the Authorization header:API Key Header
Your API key is sent in a custom header:Signing Secret (HMAC-SHA256)
When you configure a signing secret, EolasFlow includes a signature header:Retry Logic
If your endpoint returns an error (non-2xx status), EolasFlow automatically retries:- Max Retries: 3 attempts
- Initial Delay: 5 seconds
- Backoff: Exponential (5s, 10s, 20s)
To prevent duplicate processing, use the
idempotency_key field to identify duplicate webhook deliveries.Monitoring Webhooks
View Webhook Logs
- Go to Dashboard → Campaigns → [Your Campaign] → Webhooks
- Click the Logs tab
- View execution history with status, timing, and response data
Filter Logs
Filter webhook logs by:- Event type
- Success/failure status
- Date range
- Specific call
Resend a Webhook
If a webhook failed and you’ve fixed the issue:- Find the failed webhook in the logs
- Click Resend
- The webhook is re-sent with the original payload
Testing Webhooks
Test Endpoint Connectivity
Before using a webhook endpoint:- Go to Dashboard → Integrations → Webhooks
- Click Test on your endpoint
- Verify the test request succeeds
Send Test Webhook from Campaign
- Go to Campaign → Webhooks
- Click Send Test Webhook
- A sample payload is sent to your endpoint
Best Practices
Common Use Cases
| Use Case | Events to Subscribe |
|---|---|
| Update CRM after call | call.completed |
| Real-time dashboard | All events |
| Trigger follow-up workflow | call.completed, call.voicemail |
| Alert on failures | call.failed |
| Track call outcomes | call.completed |
Troubleshooting
Webhooks Not Arriving
- Check that webhooks are enabled on the campaign
- Verify the endpoint URL is correct and accessible
- Check your server logs for incoming requests
- Review webhook logs for error messages
Authentication Failures
- Verify your token/API key is correct
- Check the header name matches your server’s expectations
- Ensure your server is checking the right header
Timeouts
If webhooks are timing out:- Reduce processing time in your webhook handler
- Process asynchronously and return 200 immediately
- Increase timeout in endpoint settings (max 120 seconds)
Build Your Own Workflows
Want to connect EolasFlow to any tool of your choice? Use automation platforms like n8n, Zapier, or Make to create custom webhook endpoints.n8n
Self-hosted, open-source automation
Zapier
5000+ app integrations
Make
Visual workflow builder
- Send call data to any CRM (Salesforce, HubSpot, Pipedrive, etc.)
- Trigger Slack/Teams notifications
- Update Google Sheets or databases
- Send automated follow-up emails
- Connect to any API or service
Automation Workflows Guide
Learn how to build custom integrations with n8n, Zapier, and more