Webhooks & Enrichment
🔍 Data Enrichment
Automatically fill in extra contact info and data for your client records.
✨ Enrichment Features
| Feature | Description |
|---|---|
| Phone Append | Find extra phone numbers for a client |
| Email Append | Discover email addresses |
| Address Append | Find or verify addresses using reverse phone/email lookup |
| Demographics | Add demographic info |
⚡ Enrichment Triggers
Choose when enrichment happens:
| Trigger | Description |
|---|---|
| On Call | Enrich when making a call |
| On SMS | Enrich when sending a text |
| On Import | Enrich when importing records |
| Manual | Enrich whenever you want |
🛠️ Setting Up Enrichment
- Go to Settings → Integrations
- Select Data Enrichment
- Set up your enrichment provider
- Pick your automatic triggers
- Choose which data to add
📊 Enrichment History
See all enrichment attempts:
| Field | Description |
|---|---|
| Date | When it happened |
| Type | What data was looked up |
| Status | Did it work or not |
| Data Found | What info was discovered |
| Cost | Credits or money used |
🔔 Webhook Integrations
Send data to other systems whenever something happens in Kayse AI.
🤔 What Are Webhooks?
Webhooks are like automatic messages sent to other websites when things happen. They let you:
- Get notified about events in real time
- Build custom automations
- Connect with any system that can receive webhooks
🛠️ Setting Up Webhooks
- Go to Settings → Webhooks
- Click Add Webhook
- Enter the destination URL (where to send the data)
- Pick which events should trigger the webhook
- (Optional) Filter by campaigns — only available for call events
- Set up security (optional)
- Save and test it
Note: Campaign filters only work with call events (call_started, call_ended, call_analyzed, transcript_updated, transfer_started, transfer_bridged, transfer_cancelled, transfer_ended). Message, task, form, and document events are always sent across all campaigns.
📋 Available Events
| Category | Events |
|---|---|
| Calls | call_started, call_ended, call_analyzed, transcript_updated, transfer_started, transfer_bridged, transfer_cancelled, transfer_ended |
| Messages | message_sent, message_delivered |
| Tasks | task_completed |
| Forms | form_submitted |
| Documents | document_uploaded |
📞 Live Call Transfer Coverage
Your AI voice agents automatically send all four transfer events — you don't have to set anything up. ✨
| Event | What It Means |
|---|---|
transfer_started | The AI started to transfer the call (e.g., to a human). |
transfer_bridged | The transfer connected and the two people are now talking. |
transfer_cancelled | The transfer didn't go through (hangup, busy, no answer, etc.). |
transfer_ended | The transfer call leg is over. |
Here's how it works:
- Every new voice agent you build (from the Agent Builder, Wizard, or Campaign flow) gets these four events turned on from day one.
- All existing agents were updated for you, so they also send the full transfer event set.
- Your webhook will receive these events as long as it is subscribed to them (or listens to all events).
That means your CRM, Zapier flow, or other tool will always know when a live call gets transferred — and how it turned out. See the Webhooks API Reference for the full payload.
📦 Webhook Payload
Webhooks send data as JSON. Here's an example:
{
"event": "case.updated",
"timestamp": "2024-01-15T10:30:00Z",
"data": {
"id": "case_123",
"name": "Smith Case",
"status": "Active",
"changes": {
"status": {
"old": "New",
"new": "Active"
}
}
}
}🔐 Authentication Options
| Method | Description |
|---|---|
| None | No security added |
| API Key | Adds a key in the header |
| Basic Auth | Uses a username and password |
| Bearer Token | Uses a JWT or OAuth token |
| HMAC Signature | Signs the data so the receiver can verify it |
⚙️ Webhook Management
| Action | Description |
|---|---|
| Enable/Disable | Turn a webhook on or off |
| Test | Send a test message to check it works |
| View Logs | See the delivery history |
| Retry Failed | Resend messages that didn't go through |
🔄 Retry Logic
If a webhook fails, Kayse AI tries again automatically:
| Attempt | Wait Time |
|---|---|
| 1 | Right away |
| 2 | 5 minutes |
| 3 | 30 minutes |
| 4 | 2 hours |
| 5 | 24 hours |