> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://naturgy-comer-documentation-p5mde.vercel.app/api/mcp` to find what you need.

# Operaciones voz y Carolina

En voz, el cliente entra por Amazon Connect/Chime o por la telefonía asociada.
Connect entrega la llamada y el contexto autorizado a HappyRobot, donde el
workflow `Caso de Operaciones` conversa como Dani.

## Arquitectura de entrada

```mermaid
flowchart TD
    caller["Cliente / Super App"] --> connect["Amazon Connect + Chime/WebRTC"]
    connect --> sip["SIP INVITE a HappyRobot"]
    sip --> workflow["Caso de Operaciones / Dani"]
    workflow --> proxy["HR Proxy / Cognito"]
    workflow --> carolina["Carolina / Apser"]
    workflow --> knowledge["KB + Exa"]
    workflow --> human["Connect: escalado o transferencia"]
```

La Super App puede enviar atributos por WebRTC en `user_to_user`; en telefonía
SIP pura normalmente solo están ANI y DNIS. El header de Connect
`x-amzn-connectinitialcontactid` aporta la correlación de contacto. Los
atributos de cliente, sesión, caso, idioma y destino deben llegar solo con la
clasificación y permiso acordados.

## Arranque del workflow

1. **Obtain token from Cognito:** obtiene el token técnico que permite llamar a
   los servicios autorizados.
2. **Get contact ID from SIP headers:** extrae correlación, caso, ANI, sesión,
   identidad disponible, destino, encuesta e idioma; también calcula la política
   de transferencia por horario.
3. **Correlación temporal:** Redis/Session Fetcher asocia `contact_id` con
   `run_id` para el histórico de la Super App.
4. **Token de Omega:** si existe una sesión de cliente, el workflow la recupera
   mediante una referencia corta y puede evitar el OTP.
5. **Encuesta:** si el destino es la rama de encuesta, se ejecuta el recorrido
   específico y se actualiza el sistema de casos.

Las referencias cortas sirven para correlacionar; no deben convertirse en
credenciales ni aparecer en logs públicos.

## Autenticación

* Un usuario logado con token de Omega entra directamente en el área cliente.
* Sin token, se solicita DNI.
* Una coincidencia autorizada con ANI puede validar automáticamente.
* Si no coincide, se envía y valida OTP.
* La respuesta de identidad pertenece a Cognito/HR Proxy/Omega; el modelo no
  decide por sí solo que un DNI o ANI autoriza un contrato.

## Zonas y acciones

### Sin autenticación

Autodiagnóstico, código de caldera, teléfono de distribuidora, coberturas,
OTP, reparación puntual, transferencia a otro departamento y actualización del
CI.

### Cliente autenticado

Ficha de servicios, cobertura exacta, registro de técnico, huecos y reagendado
de citas, distribuidora contextual, encuesta, transferencia a colega y
actualización del CI.

En ambos casos, el autodiagnóstico precede a la gestión de técnico cuando la
avería lo permite.

## CI/CG y resultado

Connect/Apser puede crear el CI antes de la conversación y entregar su
identificador. El workflow lo actualiza y, según el resultado, crea un CG de
Información o Actuación y cierra el CI. En un escalado, actualiza el CI con
motivo, resumen y whisper; en una transferencia ajena, cierra el CI y Connect
continúa el pase.

## Escalado frente a transferencia

* **Escalado:** el tema sí pertenece a Operaciones, pero Dani necesita una
  persona. El CI conserva el estado de atención y la conversación pasa al
  destino humano acordado.
* **Transferencia:** el tema no pertenece a Operaciones. El workflow señaliza el
  fin y Connect transfiere a la cola o número permitido por la política de
  horario.

Las tools de transferencia usan fin de llamada y actualización de contexto;
no se documenta SIP REFER como sustituto de la lógica de Connect.

## Riesgos del baseline

La lectura de workflow ha señalado referencias frágiles en cierres, dashboard y
citas, nodos de envío de conversación sin configuración, duplicados de cierre o
encuesta, claves definidas en nodos y lógica de zona horaria sensible al formato.
Son puntos de revisión: no deben corregirse en la versión live sin un draft,
pruebas y rollback.
