> ## Documentation Index
> Fetch the complete documentation index at: https://docs.inagent.inconcertcx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Contactos

> Los Contactos determinan la red de transferencias internas de un equipo. Son la lista de agentes que el recepcionista y los demás agentes pueden usar como destino cuando una conversación necesita ser derivada.

## Propósito de los Contactos

* **Habilitar transferencias** entre agentes del mismo equipo.
* **Definir relaciones de enrutamiento**: quién puede enviar conversaciones a quién.
* **Soportar escalamiento automático** según **Tópicos** .
* Mantener **trazabilidad** de todas las derivaciones.

<Callout type="info">
  Los contactos se definen **a nivel de equipo**.Cada agente puede tener configuraciones específicas de visibilidad dentro de esa red.
</Callout>

## Relación con el Recepcionista

El **recepcionista** se apoya en los Contactos para derivar las conversaciones entrantes:

1. El recepcionista **recibe la interacción inicial**.
2. Aplica su **Guion + Reglas**.
3. **Transfiere** a uno de los agentes que figuran en la lista de Contactos si aplica.

Si un agente no está incluido como Contacto, **no podrá recibir transferencias**.

## Configuración de Contactos paso a paso

1.**Abrir el equipo que se desea configurar**

* En la sección Equipos, localiza el **Contactos** que se desea configurar.

2. **Abrir la sección Contactos**
   * En la configuración del equipo, localiza el botón **Contactos**.
3. **Agregar agentes**
   * Selecciona los agentes del equipo que podrán recibir transferencias.
   * Especifica si cada uno **puede recibir** solo del recepcionista o también de otros agentes.
4. **Definir relaciones**
   * Opcionalmente, configura una **matriz de relaciones** para limitar quién puede transferir a quién (por ejemplo, de “Soporte nivel 1” solo a “Soporte nivel 2”).
5. **Guardar y publicar**
   * Confirma los cambios y publica la nueva configuración.

## Ciclo de transferencia

Cuando se inicia una transferencia:

1. **Entrada del usuario** llega al agente que actualmente atiende (normalmente el recepcionista).
2. Se evalúa el **Guion + Reglas + Descripciones de Contactos** y/o los **Tópicos**.
3. Si se determina una transferencia:
   * Se elige un **Contacto válido** según la matriz de relaciones y disponibilidad.
4. Se envía la conversación al nuevo agente:
   * **Manteniendo el contexto y variables**.
   * Registrando la transferencia para trazabilidad y reportes.
5. El nuevo agente continúa la conversación, aplicando su propio **Guion + Reglas**, **Guardrails** y **Modificadores**.

## Buenas prácticas

* **Mantén la lista actualizada**: revisa contactos cuando ingresen o se retiren agentes.
* **Diseña una matriz clara**: evita transferencias recíprocas infinitas (por ejemplo, A→B y B→A sin control).
* **Usa nombres descriptivos**: facilita la búsqueda de contactos.
* **Prueba con Playground**: simula flujos completos de transferencia y revisa logs.

<Callout type="warning">
  Si se definen **contactos excesivos o relaciones complejas**, puede aumentar el tiempo de decisión para transferir.\
  Procura mantener la red de contactos optimizada.
</Callout>

## Solución de problemas

* **Transferencias fallidas**:
  * Verifica que el agente destino esté incluido como Contacto y esté habilitado.
* **Bucle de transferencias**:
  * Revisa las reglas para evitar transferencias recíprocas o circulares.
* **Lentitud en el enrutamiento**:
  * Reduce la cantidad de contactos o simplifica la matriz de relaciones.

## Próximos pasos

* Configura el [**Recepcionista**](./receptionist) para que utilice la red de Contactos de forma eficiente.
* Crea [**Tópicos**](./topics) para enrutar automáticamente según la intención del usuario.
* Usa el [**Playground**](./playground) para validar las rutas de transferencia antes de publicar.
