{{customer_name}} y le das el valor en cada llamada: desde tu solicitud a la API, un lead de campaña, un webhook de enriquecimiento entrante o el contexto del sistema integrado en la plataforma.
Sintaxis de referencia
Haz referencia a una variable con llaves dobles, la forma preferida y segura para JSON:{customer_name} también se resuelve, pero solo para claves que realmente existen (una variable definida o del sistema). Así se mantienen intactas las llaves literales, por ejemplo el JSON dentro del cuerpo de una herramienta. Cualquier marcador cuya clave sea desconocida se deja tal cual.
Definir variables en un asistente
Cada asistente tiene una lista de definiciones de variables. Una definición incluye:Las claves se validan al guardar: se rechazan un formato inválido, una colisión con una variable de sistema reservada, una clave duplicada o una etiqueta faltante.
Dónde se sustituyen las variables
Los valores se sustituyen al inicio de la llamada, antes de que se ejecute el modelo o el Flow, en estos campos:- Prompt del sistema del asistente
- Primer mensaje del asistente (saludo)
- Nodo
start.greetingdel Flow - Nodo
agent.instructionsdel Flow - URL de la solicitud y valores de encabezado del nodo de herramienta del Flow
https://app.famulor.de/api/user/orders/{{order_id}} o enviar Authorization: Bearer {{api_token}} con valores propios de cada llamada.
Origen de los valores y prioridad
Un valor puede llegar desde varios lugares. Al inicio de la llamada, el worker resuelve cada clave según este orden de prioridad, de mayor a menor:- Explícito: valores pasados con la llamada, ya sea el
variablesde la APImake-callo los campos personalizados de un lead de campaña mapeados a claves coincidentes. - Webhook de variables entrante: enriquecimiento obtenido al inicio de la llamada (ver más abajo).
- Variables de sistema: completadas por la plataforma a partir del contexto de la llamada.
- Predeterminado: el
default_valuede la definición.
Valores explícitos mediante la API
Leads de campaña → variables
En una campaña, cada lead lleva campos personalizados de formato libre (leads.custom_fields). Al marcar, el campo personalizado de un lead se mapea a una variable con la misma clave. Así, una columna del CSV se convierte en una variable:
customer_name y appointment_date completan {{customer_name}} y {{appointment_date}} en cada llamada. Asigna source: "lead" a una variable proveniente de un lead para documentar su origen.
Variables de sistema
Estas claves siempre están disponibles y el worker las completa al inicio de la llamada. Están reservadas: no puedes definir una variable personalizada con ninguna de estas claves.Webhook de variables entrante
En las llamadas entrantes muchas veces no conoces de antemano a quien llama. Configura un webhook de variables en el asistente (variable_webhook_url + variable_webhook_secret) y el worker lo llama al inicio de la llamada para enriquecer las variables, por ejemplo, buscando a un cliente por su número de llamada.
Solicitud
El worker envía unPOST con un cuerpo JSON:
variable_webhook_secret del asistente, y se envía en el encabezado:
Respuesta
Devuelve las variables que quieres fusionar:Automatización nativa (alternativa)
En lugar de unvariable_webhook_url propio, puedes crear una Automatización con el disparador Inyectar variables de entrada (call.variables) vinculada al asistente. Al iniciar la llamada, el worker ejecuta esa automatización de forma síncrona y espera una acción Devolver variables (con la misma estructura { variables: {…} }). Si no existe ninguna automatización activa que coincida, se usa como alternativa la URL del webhook clásico.
Verificar la firma
Solicitud de ejemplo
API y MCP
GET /v1/assistants/{id}/variables: lee las definiciones de variables del asistente; alcanceassistants:read.PATCH /v1/assistants/{id}/variables: reemplaza las definiciones de variables; alcanceassistants:write.- Herramientas MCP:
get_assistant_variables,set_assistant_variables.