Webhook Settings
Send OutCallerAI workspace events to your CRM, automation service, or backend.
Workspace webhooks send real-time JSON events from OutCallerAI to an HTTPS endpoint you control. Use them to sync leads, calls, tasks, and agent changes into your CRM or internal systems.
Configure Webhooks
- Open Integrations.
- Click Webhook Settings.
- Enter your Webhook URL.
- Optionally enter Webhook Headers (JSON) for auth or routing.
- Save changes.
Headers must be a JSON object:
{
"Authorization": "Bearer your-secret-token",
"X-CRM-Source": "outcaller"
}OutCallerAI sends these headers on every webhook:
| Header | Value |
|---|---|
Content-Type | application/json |
X-Outcaller-Event | Event name, for example lead.created |
X-Outcaller-Resource | Resource type: lead, call, task, or agent |
X-Outcaller-Action | Action: created, updated, or deleted |
X-Outcaller-Workspace-Id | Workspace id |
Your configured custom headers are merged into the request.
Events
Common events include:
| Event | Resource | When it sends |
|---|---|---|
lead.created | lead | A lead is created or imported. |
lead.updated | lead | Lead data changes. |
lead.deleted | lead | A lead is deleted. |
lead.bulk_deleted | lead | Leads are deleted in bulk. |
call.created | call | A call record is created. |
call.<status> | call | Call status changes, for example call.initiated, call.completed, or call.failed. |
task.created | task | A follow-up task is created. |
task.updated | task | A task changes. |
task.<status> | task | Task status changes. |
agent.created | agent | An agent is created. |
Payload
Every webhook request is a POST with this envelope:
{
"event": "lead.created",
"resource": "lead",
"action": "created",
"workspaceId": "cmpxz43bl00032c6udndznzdg",
"timestamp": "2026-06-04T05:49:10.221000+00:00",
"data": {
"id": "lead_123",
"workspaceId": "cmpxz43bl00032c6udndznzdg",
"campaignId": "campaign_123",
"name": "Priya Sharma",
"phone": "+919876543210",
"email": "priya@example.com",
"source": "google_sheet_webhook",
"status": "new"
},
"metadata": {
"source": "google_drive_sync"
}
}Update events may include previousData.
Data Included
Webhook payloads are sanitized before delivery. OutCallerAI includes useful operational fields such as ids, workspace/campaign links, lead contact fields, call status, call summary, transcription, recording URL, task status, and timestamps. Internal secrets and provider-only fields are not sent.
Delivery Behavior
- OutCallerAI sends each webhook as an HTTPS
POST. - The request timeout is 10 seconds.
- Your endpoint should return any
2xxresponse. - Failed deliveries are logged by OutCallerAI.
Endpoint Tips
- Use HTTPS in production.
- Keep responses fast; offload slow work to a queue.
- Make handlers idempotent by storing processed event ids or deduplicating by
event,resource,data.id, andtimestamp. - Validate your own auth header if you configure one in Webhook Headers (JSON).
How is this guide?