CRM Integration
Goal
Automatically log calls and update contact records in your CRM.Implementation
Oncall.end:
- Receive webhook with transcript and outcome
- Look up contact by phone number
- Create/update contact record
- Add call notes with summary
- Create follow-up tasks if needed
Example Flow
Real-Time Dashboard
Goal
Show live call activity and metrics on a dashboard.Implementation
Oncall.start:
- Add to “active calls” count
- Show caller info in live feed
call.end:
- Remove from active calls
- Update completed calls count
- Recalculate metrics
analytics.completed:
- Update satisfaction scores
- Refresh aggregate statistics
Technology Options
- WebSocket connection to frontend
- Push notifications
- Server-sent events
- Polling from dashboard
Email Follow-Up
Goal
Send personalized follow-up emails based on call outcomes.Implementation
Onanalytics.completed:
- Receive metrics (satisfaction, resolution, etc.)
- Determine email template:
- Satisfied + Resolved → “Thank you” email
- Unsatisfied → “We’re sorry” + escalation
- Unresolved → “Additional resources” email
- Queue or send email
Example Logic
Ticket Creation
Goal
Automatically create support tickets from calls.Implementation
Oncall.end:
- Check if issue was resolved
- If unresolved, create ticket:
- Title: Issue type
- Description: Transcript summary
- Priority: Based on sentiment
- Customer: Caller info
- Assign to appropriate queue
Data Warehouse
Goal
Store all call data for analytics and reporting.Implementation
Oncall.end and analytics.completed:
- Receive payload
- Transform to your schema
- Insert into data warehouse
- Available for BI tools
Data Points to Capture
- Call metadata (time, duration, direction)
- Transcript (full or summarized)
- Outcome (disposition)
- Metrics (satisfaction, resolution)
- Variables (customer data collected)
Slack Notifications
Goal
Alert team members about important call events.Implementation
Oncall.end:
If certain conditions:
- Escalation requested
- Low satisfaction
- High-value customer
- Call summary
- Customer info
- Action needed
Example Triggers
| Condition | Notification |
|---|---|
| Transfer requested | ”#support - Transfer requested by [customer]“ |
| Satisfaction ≤ 2 | ”#alerts - Unhappy customer: [summary]“ |
| VIP customer | ”#vip - VIP call completed: [outcome]“ |
Multi-System Sync
Goal
Keep multiple systems updated with call data.Implementation
Your webhook endpoint fans out to multiple services:Best Practices
Acknowledge Quickly
Return 200 immediately, process asynchronously:Handle Failures
What if your processing fails?- Log the failure
- Queue for retry
- Alert if persistent
Idempotency
Webhooks may be sent more than once. Handle duplicates:- Track
call_idto detect duplicates - Use upsert operations
- Design for idempotency

