Webhooks Overview
8x8 CPaaS Voice provides webhook types to notify your application about call events and outcomes. Configure these webhooks at the subaccount level to receive HTTP POST callbacks.
Webhook Types
VSS — Voice Session Summary
When to use: End-of-session outcome for monitoring, reporting, retries, and reconciliation.
VSS is sent after a voice session ends with details about the call outcome, duration, participants, and any errors encountered.
What it contains:
- Session outcome (completed, failed, no-answer, busy, etc.)
- Call duration and timestamps
- Participant information
- Error details (if the session failed)
Payload schemas by product:
- Session Summary (IVR) - IVR session outcomes including DTMF input and menu navigation
- Session Status (Voice Messaging) - Voice message delivery status
- Session Summary (Number Masking) - Masked call session details
General webhook guide:
- Voice Session Summary (VSS) webhook - Common VSS webhook structure
VCA — Voice Call Action
When to use: In-call decisions for dynamic callflow control (for example, IVR branching, custom call routing).
VCA is sent during an active call when the platform requires your application to decide the next step. Your endpoint can return a callflow response to control what happens next. Use this to build dynamic voice applications with custom business logic.
References:
- Voice Call Action webhook guide
- IVR Call Action Handling
- Number Masking Call Action Handling
- Webhook setup guide for IVR
VCS — Voice Call Status
When to use: Real-time call status updates and progress telemetry.
Reference:
VRU — Voice Recording Uploaded
When to use: Recording availability notifications when call recording is enabled.
Reference:
VNU — Virtual Number Updated
When to use: Virtual number lifecycle events and configuration changes.
Reference:
Error Codes and Status Codes
Understanding the difference between error codes and status codes is crucial for effective debugging:
API Response Status Codes
When you see them: Immediately after making an API request (e.g., Send Callflow API)
What they indicate: Whether the API request was accepted, rejected, or encountered an error
Common scenarios:
200 OK- Request accepted, session created400 Bad Request- Invalid request payload401 Unauthorized- Authentication failed404 Not Found- Invalid subaccount or endpoint
Reference:
- Voice Status Codes and Status Messages - Complete API response codes
Session Error Codes (in VSS webhooks)
When you see them: In the Voice Session Summary (VSS) webhook payload after a session ends
What they indicate: Why a voice session failed or what happened during the call
Common scenarios:
- Session completed successfully (no error)
- Call rejected (busy, no answer, invalid number)
- Audio playback failed
- Network or routing errors
References by product:
- Voice Error Codes - General voice session errors (IVR, Voice Messaging)
- Number Masking Error Codes - Number Masking-specific errors
Key Differences
| Type | Timing | Source | Purpose |
|---|---|---|---|
| API Status Codes | Immediate (synchronous) | API response | Validate request acceptance |
| Session Error Codes | After session ends (asynchronous) | VSS webhook payload | Diagnose call outcome |
Example workflow:
- You send a Send Callflow API request → Receive 200 OK status code (request accepted)
- Call is placed and fails → Receive VSS webhook with error code -1004 (invalid destination)
Configuration
Configure webhooks using the Webhooks API (per subaccount):
- Create webhook:
POST /api/v1/subaccounts/{subaccountId}/webhooks - List webhooks:
GET /api/v1/subaccounts/{subaccountId}/webhooks - Delete webhook:
DELETE /api/v1/subaccounts/{subaccountId}/webhooks/{webhookType}
API Reference:
Security Best Practices
- Use HTTPS endpoints
- Validate inbound requests (for example, allowlist source IPs if your environment supports it)
- Implement idempotency (assume duplicate deliveries can occur)
- Return HTTP 200 OK quickly and process asynchronously where possible
Next Steps
Support Channels
- Technical support: support@cpaas.8x8.com
- Sales inquiries: Contact your account manager or visit cpaas.8x8.com/en/contact-us
- Support Portal: https://support.cpaas.8x8.com/hc/en-us