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

# Variables del agente

> Usa datos del contacto, de la conversación y valores propios en las instrucciones, mensajes y acciones.

Escribe una variable entre llaves dobles, por ejemplo `{{contact_fname}}`, y el agente la reemplaza con el dato de cada conversación. Las encuentras en **Configuración del agente → Variables**.

## Dónde funcionan

* Instrucciones del agente, en todos los canales y en el Playground.
* Saludo, mensaje flotante, pie y respuestas rápidas del widget.
* Mensajes de cierre.
* Acción Enviar correo: destinatarios, asunto y cuerpo.
* Criterio de «cuándo usarla» y mensajes de confirmación de las acciones de derivación, formularios, agenda, tickets y pago.
* Título del evento de Google Calendar, título del lead en Pipedrive, y etiqueta, origen y empresa por defecto en Zoho CRM y LeadConnector, según lo que permita cada integración.

## Variables del sistema

| Variable | Valor |
| - | - |
| `contact_fname` | Nombre del contacto |
| `contact_company`, `contact_job_title` | Empresa y cargo |
| `contact_city`, `contact_state`, `contact_country`, `contact_postal_code`, `contact_address` | Ubicación |
| `contact_industry`, `contact_website` | Rubro y sitio web |
| `user_id`, `chat_id` | ID del usuario y del chat |
| `webpage_url`, `webpage_title` | Página que está viendo, solo en el widget |
| `conversation_content` | Transcripción de los últimos 50 mensajes |

## Variables propias

Crea una variable con su nombre y un valor por defecto. Su valor en cada conversación puede venir de dos lugares:

**Snippet del widget:**

```html theme={null}
<script>
  window.chatnorrisConfig = {
    chatbotId: 'ID_DEL_AGENTE',
    variables: { plan: 'premium' },
  }
</script>
```

**API v2:**

```json theme={null}
{ "message": "Hola", "variables": { "plan": "premium" } }
```

Los nombres que no creaste se ignoran. Si la variable es de tipo número o booleano y el valor no corresponde, también se ignora. No uses los nombres del sistema ni nombres solo en mayúsculas: están reservados.

## Si una variable no tiene valor

Se usa el valor por defecto. Si no hay, queda vacía y el visitante nunca ve las llaves.

> [!NOTE]
>
> En el saludo y los demás textos del widget, que aparecen antes de que empiece la conversación, los datos de contacto todavía no se conocen. Solo está disponible el nombre si lo pasas en `user` en el snippet.

## Datos del visitante y seguridad

El agente trata los datos del visitante como datos, nunca como instrucciones, aunque el visitante escriba algo que lo parezca. No guardes contraseñas ni claves en una variable: el modelo puede leer su valor, y el de los textos del widget llega al navegador.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.