Introduccion
El sistema de variables del Agente de IA permite inyectar informacion dinamica en el prompt, servicios y acciones del agente. Las variables se resuelven automaticamente antes de cada interaccion con el modelo de IA, permitiendo personalizar el comportamiento del agente segun el contexto de la conversacion.Las variables usan la sintaxis
{{scope.codigo}} donde scope indica el origen de la variable y codigo es el identificador unico.Scopes de Variables
El sistema maneja 3 scopes (alcances) de variables, cada uno con un proposito diferente:1. Variables del Sistema (system)
Variables predefinidas que se actualizan automaticamente durante la conversacion. No se pueden modificar manualmente.
2. Variables del Contacto (contact)
Variables que provienen del contacto que esta conversando con el agente. Se resuelven dinamicamente buscando primero en los campos fijos del contacto y luego en las variables personalizadas del contacto (contactData.variables[]).
3. Variables Personalizadas (custom)
Variables definidas por el usuario en la pestana Variables del agente. Cada variable tiene un valor por defecto que se usa si no se envia un valor en el request on-message.
Ejemplo: Si creas una variable con codigo
empresa y valor por defecto "Mi Empresa", puedes usarla como {{custom.empresa}} en el prompt o servicios.
Donde Usar Variables
Las variables se pueden utilizar en 3 contextos del agente:En el Prompt
Las variables se resuelven en el texto del prompt antes de enviarlo al modelo de IA. Esto permite personalizar las instrucciones del agente dinamicamente.En Servicios (5 ubicaciones)
Las variables se resuelven en multiples partes de la configuracion de un servicio:En Acciones (1 ubicacion)
Orden de Resolucion
Cuando un servicio o accion contiene variables, estas se resuelven en un orden especifico:1
Variables del Agente
Primero se resuelven las variables con sintaxis
{{scope.codigo}} (system, contact, custom).2
Variables Legacy
Despues se resuelven las variables con sintaxis legacy
[variable] como [lastmessage], [sessionId], etc.3
Campos del LLM
Finalmente se sustituyen los campos extraidos por el modelo de IA con sintaxis
{campo}, que corresponden a los requiredFields del servicio.Configuracion en el Panel
La pestana Variables del agente muestra las 3 categorias de variables organizadas en secciones colapsables:- Variables del Sistema: Lista de solo lectura con todas las variables predefinidas.
- Variables del Contacto: Lista de solo lectura con las variables disponibles del contacto.
- Variables Personalizadas: Seccion editable donde puedes crear, modificar y eliminar variables propias.
{{scope.codigo}} al portapapeles para insertarla facilmente en el prompt, servicios o acciones.
Uso en la API (on-message)
Las variables personalizadas pueden enviarse dinamicamente en cada llamada al endpointon-message. Esto permite que webhooks, automatizaciones o integraciones externas inyecten valores en tiempo real.
Request
Comportamiento de variables
El campo
variables es opcional. Si un agente no tiene variables personalizadas y no se envian en el request, todo funciona exactamente como antes.Ejemplo Completo
1. Definir variables en el agente
En la pestana Variables, crear:empresa(tipo: string, valor por defecto:"Plazbot")api_key(tipo: string, valor por defecto:"sk-default-123")
2. Usar en el prompt
3. Usar en un servicio
4. Enviar variables por API
{{custom.empresa}} se resuelve como "Banco Digital" (valor del request) en lugar de "Plazbot" (valor por defecto).
Retrocompatibilidad
Ejemplo mixto (ambas sintaxis en el mismo bodyTemplate):

