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

# Configurar empresas

> Crea registros de clientes o marcas, asocia agentes, elige valores predeterminados y verifica la atribución de llamadas.

Usa Empresas para separar los clientes o las marcas que atiende una sola
organización de Zelto. Al terminar esta guía, cada llamada nueva tendrá una
empresa exacta enviada con la llamada o usará la empresa predeterminada de su
agente.

## Requisitos previos

* Tus agentes ya existen en Zelto. Consulta el [Inicio rápido](/es/docs/quickstart)
  si todavía no conectaste un proveedor.
* Un propietario o administrador de la organización habilitó **Empresas** en
  **Configuración → Organización**. Si eres miembro y no aparece en la barra
  lateral, pide a un propietario o administrador que la habilite.
* Sabes si tu integración puede enviar un identificador estable de cliente o
  marca en cada llamada. Usa siempre esa señal cuando un agente atienda a varias
  empresas.

## 1. Crea cada empresa

Abre **Empresas** en la barra lateral y selecciona **Nueva empresa**. Escribe el
nombre del cliente o de la marca y créala. Los nombres de empresa deben ser
únicos dentro de tu organización.

También puedes usar el **+** junto a Empresas en la barra lateral o crear una
empresa desde el campo **Empresas** de la configuración de un agente.

## 2. Asocia los agentes que trabajan para ella

Abre la empresa, cambia a la pestaña **Agentes**, selecciona **Añadir agentes** y
elige todos los agentes que trabajan para ese cliente. Un agente puede pertenecer
a varias empresas.

También puedes realizar la misma asignación desde **Agentes → \[agente] →
Configuración → Empresas**. Quitar una asociación no elimina el agente ni sus
llamadas.

## 3. Elige un valor predeterminado cuando necesites una alternativa

En la pestaña **Agentes**, selecciona la estrella junto a un agente asociado para
establecer esta como su empresa predeterminada. Cada agente puede tener como
máximo una empresa predeterminada.

Usa un valor predeterminado cuando todas o la mayoría de las llamadas del agente
pertenezcan a una empresa y el proveedor no envíe un identificador de empresa.
No dependas del valor predeterminado para separar entre clientes las llamadas de
un agente compartido; envía un identificador con cada llamada.

## 4. Envía un identificador de empresa con las llamadas de agentes compartidos

Si cargas llamadas en `/webhooks/calls`, añade `companyExternalId` en el nivel
superior del cuerpo de cada llamada:

```json theme={null}
{
  "agent": {
    "externalId": "shared-support-agent",
    "name": "Soporte compartido"
  },
  "companyExternalId": "acme-bank",
  "call": {
    "externalId": "call-001"
  },
  "transcript": {
    "turns": [
      { "role": "assistant", "content": "¿En qué puedo ayudarte?" },
      { "role": "user", "content": "Tengo una pregunta sobre mi cuenta." }
    ]
  }
}
```

Usa un valor estable para cada cliente. Si Zelto no ha visto el valor antes,
crea una empresa cuyo nombre temporal es ese valor y recuerda la asociación.
Cambia el nombre desde la página Empresas; las llamadas posteriores seguirán
usando la misma empresa.

Los workers de LiveKit pueden enviar el campo canónico `companyExternalId` o
una clave de metadatos de nivel superior compatible, como `company_id`,
`cliente_id`, `empresa_id` o `project_id`. También admiten
`metadata.contexto.company_id` como cadena o entero JSON seguro, por ejemplo
`42`. Los números se convierten en cadenas decimales; se ignoran fracciones y
enteros fuera del rango seguro. Un `companyExternalId` canónico válido tiene
prioridad sobre los IDs de metadatos de nivel superior, y estos sobre el campo
anidado. Las cadenas distinguen mayúsculas y conservan los ceros iniciales.

## 5. Verifica el resultado

Realiza o carga una llamada nueva y después:

1. Abre **Empresas** y confirma que aumentó el contador **Llamadas (7 d)** de la
   empresa.
2. Selecciona la empresa en la barra lateral.
3. Abre **Conversaciones** y confirma que aparece la llamada.
4. Vuelve a **Todos los agentes** para borrar el alcance de empresa.

## Solución de problemas

### Empresas no aparece

La función no está habilitada para tu organización. Un propietario o
administrador puede habilitarla en **Configuración → Organización**.

### Una llamada no está atribuida

Comprueba que la carga contenga un `companyExternalId` estable y no vacío. Si no
lo contiene, confirma que el agente de la llamada tenga una empresa
predeterminada. La pertenencia a una empresa sin que sea la predeterminada no
basta para atribuir la llamada.

### Todas las llamadas de un agente compartido van a una sola empresa

Probablemente el proveedor no está enviando un identificador de empresa con
cada llamada, por lo que todas usan el valor predeterminado del agente. Envía
`companyExternalId` en cada llamada.

### Las llamadas existentes no aparecen en la empresa

La empresa se asigna durante la ingestión. Crear una empresa, asociar un agente
o elegir un valor predeterminado no modifica las llamadas anteriores. Consulta
a tu contacto de Zelto sobre una migración de la atribución histórica.

### Otras páginas incluyen actividad de otra empresa

**Conversaciones** filtra por la empresa guardada en cada llamada. Otras páginas
con alcance de empresa pueden filtrar por agentes asociados, así que un agente
compartido puede incluir actividad de otra empresa. Usa Conversaciones cuando
necesites una separación exacta por llamada.

## Relacionado

* [Empresas](/es/docs/companies) — el modelo completo y las reglas de
  atribución.
* [Agentes](/es/docs/agents) — cómo identifica y administra agentes Zelto.
* [Conversaciones](/es/docs/conversations) — filtra las llamadas exactas
  atribuidas a una empresa.
* [Proveedores personalizados y otros](/es/docs/integrations/api-call-upload) —
  ejemplos completos de carga de llamadas y reglas de validación.
