Recording policies
The recording config doesn't live on the channel — it lives in policies that resolve hierarchically when each call is created:
- Global — default for the tenant.
- By DID — overrides for a specific number.
- By queue — for support / sales / etc.
- By agent — recording exclusions for specific users.
Each policy specifies: where to store, retention in days, format (WAV / MP3 / OGG), encryption, and what to do with the audio when retention expires (delete, archive, transfer).
Cloud storage providers
- SIVO managed (default) — included in Pro/Enterprise plans.
- S3 — AWS, Wasabi, Backblaze B2 (S3-compatible).
- MinIO — when you want bucket residency in a specific region.
- Google Cloud Storage.
- Azure Blob Storage.
- FTP / SFTP — for legacy compliance.
Live transcription
Real-time transcription with 2 audio forks (caller + agent legs) for full speaker separation. Hard rule:
- Capture only when the call reaches the agent or an
ai_agentnode. Never during IVR / menu / queue / MOH (cost + privacy). - Transcription policies symmetric to recording — retention sealed on each row's creation, immune to future changes.
STT engines
- Deepgram Nova-2 / Nova-3 — best price/quality ratio.
- ElevenLabs Scribe v2 Realtime — streaming WebSocket, great in noisy environments.
- OpenAI Whisper — for highly regulated cases that need self-managed audio (we host Whisper for you in your region).
Push to Salesforce Service Cloud Voice
Real-time transcription materializes in SF as Conversation +
ConversationEntry records via POST /voiceCalls/{vendorCallKey}/messages
with the Telephony-Provider-Name: calltree header. Compatible
with Einstein Conversation Insights for sentiment, topics and coaching.
Live panel
The softphone shows the live transcription while talking. Useful for agents who want to verify what they captured. Auto-scroll, color by speaker, timestamp per segment.