Recording & STT
Grabación y transcripción en vivo
Captura speaker-separated agente↔caller en tiempo real. Búsqueda full-text en 6 idiomas. Push automático a Salesforce Conversation.
Grabación
Políticas por scope
Define cuándo se graba con la granularidad que necesites:
- Global — todas las llamadas del tenant.
- DID — solo las que entran por un número concreto.
- Cola — solo las atendidas por una cola.
- Agente — solo las de un agente (formación, evaluaciones).
Storage cloud configurable
Cada política apunta a un proveedor de almacenamiento. Soportados:
- S3 de AWS
- MinIO compatible (cualquier endpoint S3)
- GCS de Google Cloud
- Azure Blob
Las credenciales se cifran AES-256-GCM. Retención por política (por días). Borrado automático cuando expira — tanto del row como del blob remoto.
Transcripción en vivo
Speaker-separated
Capturamos las dos piernas de audio (agente y caller) por separado con
uuid_audio_fork × 2. El transcript distingue quién dice qué con
etiquetas [Agent] / [Caller]. Opcionalmente modo mono
(una sola pista mixta) para reducir coste a la mitad.
STT engines soportados
- Deepgram Nova-2 / Nova-3 — el más rápido (TTFT <500ms).
- ElevenLabs Scribe v2 Realtime — 150 ms latencia.
- Whisper — para idiomas exóticos donde los anteriores fallan.
Regla dura — privacidad
La transcripción solo arranca cuando un agente humano o IA atiende la conversación. Mientras el caller está en IVR, menú, música de espera o cola, NO se transcribe. Esto evita coste innecesario y respeta privacidad: la conversación "privada" del caller en el IVR no se procesa.
Visualización en vivo
- Panel desplegable en el softphone con el transcript en tiempo real.
- Líneas interim en gris itálico, finales en estilo normal.
- Auto-scroll inteligente (se pausa si el usuario scrollea arriba).
- Búsqueda inline y copy del transcript completo.
Post-llamada
- Transcripts persistidos en BD con búsqueda full-text en 6 idiomas (índice GIN).
- Dump JSON completo (con timestamps de palabra, confidence) en el provider configurado.
- Visible en CallHistory junto al audio para coaching.
- Export TXT / JSON / botón "Reenviar a Salesforce" si la primera vez falló.
Push a Salesforce
Si la política tiene push_to_salesforce=true, los mensajes finales se
envían en vivo a SCRT2 como ConversationEntry records vinculados al
VoiceCall. Compatible con Einstein Conversation Insights
— los reps ven el transcript en el record y EI procesa para coaching automático.