Cada activador y paso del generador de automatizaciones, con sus campos y su comportamiento
Esta es la referencia a nivel de campo del generador de automatizaciones — cada activador, cada paso y cómo fluyen los datos entre ellos. Para saber para qué sirven las automatizaciones, cómo se facturan las ejecuciones y ver ejemplos resueltos, empieza por Automatizaciones.
La página de listado /automations tiene tres pestañas:
Pestaña
Qué muestra
Automations
Cada flujo de trabajo del espacio de trabajo — iconos de las apps conectadas, nombre (con su activador, y el asistente vinculado si el activador tiene uno), etiquetas, número de ejecuciones, cuándo se disparó por última vez, y estado. Busca, filtra por etiqueta, y activa/pausa/elimina desde el menú de la fila.
Runs
Cada ejecución de cada automatización — qué automatización, activador, estado, créditos cobrados, cuándo, y el error si falló. La misma lista, limitada a una automatización, también vive en la pestaña Runs propia de esa automatización dentro del editor.
Connections
Credenciales guardadas y reutilizables para CRMs, SMTP y servidores MCP. Cada fila muestra un icono de proveedor, una insignia de tipo (API o MCP), y una etiqueta de estado (ok / pending / error) — prueba o edita una sin tocar las automatizaciones que la usan.
En el editor de automatizaciones, On Call Completed inicia este ejemplo; usa el + de la conexión para añadir otro paso.
Cada activador arranca a partir de un evento concreto. Los activadores vinculados a un asistente (On Call Completed, On Inbound Call, Inject input variables) exigen elegir un asistente específico. Los activadores de reserva, conversación y correo usan en su lugar un Assistant filter opcional; los de conversación también se pueden acotar a una conexión o plataforma de mensajería concreta, y los de reserva a una única página de reservas.En los activadores de conversación, Plataforma y Canal o widget solo muestran los canales activos y conectados del asistente seleccionado. Sin filtro de asistente, aparecen los canales conectados del espacio de trabajo. Los widgets de chat web están disponibles para Conversation started. Al elegir una conexión, su plataforma se selecciona automáticamente. Los filtros guardados siguen visibles como no disponibles si la conexión se elimina, desactiva o reasigna; revísalos antes de guardar. Un filtro de conexión vacío también incluye futuras conexiones coincidentes. REST y MCP usan los mismos filtros de asistente, plataforma y conexión.
Activador
Se dispara cuando
On Call Completed
Termina una llamada de voz y su análisis posterior a la llamada está listo.
On Inbound Call
Una llamada entrante empieza a sonar, antes de que se conteste o se analice.
Inject input variables
Empieza una llamada del asistente seleccionado — esto sustituye el webhook de variables de ese asistente mientras esta automatización esté en Live. Combínalo con Return variables.
Conversation started
Se inicia una nueva conversación de mensajería o chat web, también en la vista previa del widget.
Conversation ended
Una conversación de mensajería se cierra o expira.
Message received
Cada mensaje entrante en un canal, no solo el primero — con filtro opcional por plataforma.
Email received
Llega un correo entrante a una dirección del espacio de trabajo.
Booking created / cancelled / rescheduled
Ocurre un evento de página de reservas.
Contact created
Se añade un nuevo contacto de Audience. Elige qué sources cuentan — creado manualmente (activado por defecto), importación CSV/archivo, API, CRM sync — así una importación masiva no dispara por accidente miles de ejecuciones.
Manual
Solo se ejecuta cuando haces clic en Run now, llamas a la API, o se lo pides a Milian.
Schedule
Basado en cron, con zona horaria (próximamente — seleccionable ya para borradores).
Un activador de webhook genérico o de CRM obtiene su propia URL entrante y su secreto, que se muestran directamente en los ajustes del activador en cuanto se guarda la automatización. HighLevel y las apps conectadas, en cambio, entregan eventos a través de un endpoint compartido y preautenticado — configurado una sola vez para todo el espacio de trabajo, no por automatización:
Activador
Se dispara cuando
Incoming Webhook
Algo hace POST de JSON a la URL entrante de esta automatización, con el secreto de la automatización en una cabecera X-Automation-Secret.
El CRM conectado hace POST de un evento a la URL entrante propia de este activador — la misma mecánica que Incoming Webhook, solo que archivado bajo ese proveedor en el catálogo.
HighLevel webhook
HighLevel envía un evento firmado de CRM o de cita desde su app de Marketplace. Una única Marketplace webhook URL se reutiliza en todas las automatizaciones de HighLevel; cada automatización se acota eligiendo una HighLevel connection y un HighLevel event.
App event
Una app conectada entrega un evento firmado — un commit nuevo, un mensaje en la bandeja de entrada, etc. Elige la app y el evento en el catálogo.
Estos no hablan con nada fuera de la automatización — determinan qué camino sigue una ejecución, o la pausan.
En el Builder, abre Add Node → Famulor para elegir una acción lógica como Condition, Loop on Items, Filter o Set variable.
Paso
Qué hace
Campos clave
Ejemplo
Condition
Ramifica a verdadero o falso según un valor del payload.
Ruta del payload, operador (equals / not equals / contains / exists), valor
data.analysis.success equals true → ramifica a un texto de seguimiento
Filter
Continúa solo si la condición coincide; si no, la ejecución termina aquí, con éxito — no como un fallo.
Igual que Condition
Continuar solo cuando data.status equals open
Switch
Compara un valor con una lista de casos — más de dos resultados posibles.
Ruta del payload, casos (JSON), valor por defecto
Enrutar data.pipeline_stage a un paso distinto según la etapa
Random Outcome
Elige una rama al azar de una lista — útil para hacer A/B testing de un mensaje.
Resultados (separados por comas)
Repartir el tráfico entre variant_a y variant_b
Loop on Items
Repite los pasos conectados una vez por cada elemento de una lista. Conecta los pasos que deban repetirse a su conector Loop, y lo que se ejecute después del bucle a Done.
Items — una ruta a un array, p. ej. {{steps.step1.records}}
Recorrer {{steps.list_records.records}} y enviar un texto a cada uno
Delay For
Pausa la ejecución durante un número fijo de segundos.
Segundos
Esperar 300 segundos antes de hacer seguimiento
Delay Until
Pausa hasta una fecha y hora absolutas.
Until (fecha y hora ISO)
Esperar hasta el día antes de una reserva
Set variable
Escribe un valor en la ejecución para que los pasos posteriores puedan referenciarlo.
Ruta, valor
Guardar {{last.text}} en vars.summary
Run Code
Ejecuta un fragmento pequeño y restringido de JavaScript y devuelve su valor — sin imports, sin acceso a archivos ni procesos.
Código (debe hacer return de un valor)
Poner en mayúsculas un número de teléfono antes de enviarlo
Note
Escribe un mensaje en el registro de la ejecución; no cambia nada.
Mensaje
Registrar Call from {{data.from_number}} para depurar más tarde
Loop on Items procesa como máximo 100 elementos por bucle, y los bucles se pueden anidar hasta 5 niveles de profundidad.
Una ejecución también termina de forma limpia cuando un paso no tiene ninguna conexión de salida. Estos tres pasos la terminan explícitamente, y dos de ellos devuelven una respuesta concreta.
Paso
Qué hace
Campos clave
Ejemplo
Stop
Termina la ejecución con éxito, aquí mismo.
Motivo (opcional, se registra)
Salir antes de tiempo cuando un caso ya está resuelto
Return variables
Devuelve variables a la llamada en el momento de inicio — se combina con el activador Inject input variables. Termina la ejecución.
Variables (mapa clave/valor)
Devolver customer_name y tier antes de que empiece la llamada
Respond to webhook
Responde a quien llamó a un activador Incoming Webhook con un estado y un cuerpo — la única forma de que ese llamante reciba una respuesta real en lugar de un acuse de recibo genérico. Termina la ejecución.
Modo (objeto JSON / texto plano / reenviar el último paso), código de estado, cuerpo
Devolver { "ok": true, "id": "{{last.id}}" }
Cuando un asistente llama a esta automatización a mitad de conversación, todos los caminos deben terminar en Respond to webhook, sin ningún paso Delay ni Loop antes.
Agrupados bajo Milian AI en el catálogo. Estas acciones utilizan créditos según el consumo de tokens, a las tarifas de tu espacio de trabajo. El importe descontado aparece en la ejecución y en el panel Test del paso.
Add Node → Milian AI muestra las acciones de análisis, como Classify Text, Custom Prompt y Extract Fields. Selecciona una acción para configurar sus entradas.
Paso
Qué hace
Campos clave
Ejemplo
Custom Prompt
Ejecuta un prompt libre sobre una transcripción, un mensaje, o la salida de cualquier paso anterior, y devuelve texto.
Prompt, system prompt opcional
Resumir {{data.transcript}} en dos frases
Extract Fields
Extrae campos con nombre y tipo de un bloque de texto. Cada campo es una fila en el panel: nombre, tipo (text / email / number / boolean / enum), y si es obligatorio.
Datos de entrada, campos
Extraer email y budget de una transcripción de chat
Añade un paso en Automations → Milian AI para clasificar texto, comprobar una condición, puntuar contenido, detectar varias etiquetas o crear un análisis personalizado. Custom Prompt y Extract Fields siguen disponibles.
Classify Text → Configure: define Input Data, Answer key, Question y Categories. Los valores mostrados son ejemplos editables.
Cinco acciones nuevas. Convierte transcripciones, mensajes y resultados anteriores en categorías, decisiones sí/no, puntuaciones o etiquetas.
Tres plantillas editables. Empieza el análisis personalizado con Analizar una llamada, Calificar un lead o Priorizar un mensaje y adapta las preguntas.
Incertidumbre explícita. La información insuficiente produce una respuesta incierta. Comprueba el estado con una Condition antes de continuar.
Tu espacio, tu flujo. Previsualiza sin consumir créditos, ejecuta una prueba real con créditos del espacio de trabajo y utiliza la misma configuración mediante REST o MCP.
El análisis consume créditos. Las puntuaciones siguen tus niveles y se muestran en una escala de 0 a 100.Con Análisis personalizado, combina tipos de preguntas o utiliza una de las tres plantillas. Cada respuesta requiere una clave única. Las categorías admiten 2–32 opciones descritas; las puntuaciones, 2–10 niveles ordenados. Cada análisis admite hasta 32 preguntas y 32 KB de texto. Divide los textos más largos de forma deliberada.La Probabilidad mínima se aplica a categorías y decisiones sí/no; la Confianza mínima, a categorías y puntuaciones. Cada pregunta también comprueba si existe información suficiente. Estos umbrales no garantizan la exactitud.Cada respuesta contiene un valor y un estado. Una respuesta incierta devuelve null; un no respaldado por información devuelve false. La lista de etiquetas solo incluye coincidencias aceptadas; comprueba los resultados individuales para los casos inciertos. Un fallo técnico detiene el paso. Varias preguntas independientes comparten una evaluación.Usa el selector de variables en los siguientes pasos. Comprueba primero el estado y después compara el valor con una Condition. El análisis no crea ramas adicionales directamente. Para resumir, traducir o extraer texto libre, utiliza las acciones existentes.
Igual que Send Channel Message, fijado a una sola plataforma. Slack y Discord también pueden publicar directamente en un canal en lugar de responder en una conversación.
Conexión de canal, conversación (o canal, para Slack/Discord)
Publicar una alerta en un canal de Slack cuando una llamada necesita a una persona
Send WhatsApp Template
Envía una plantilla de WhatsApp Business aprobada a un número de teléfono — el único envío de esta lista que puede abrir una conversación totalmente nueva fuera de la ventana de 24 horas.
Remitente de WhatsApp, plantilla, destinatario, asignación de variables
Enviar una plantilla de confirmación de reserva justo después de Booking created
Send SMS
Envía un texto desde un número del espacio de trabajo que tenga SMS activado.
Número de origen, destino, mensaje
Enviar un seguimiento por SMS de una llamada perdida a {{data.from_number}}
Send Email
Envía desde el servidor de correo de la plataforma o una dirección de asistente verificada.
Remitente, destino, asunto, cuerpo
Enviar la transcripción por correo a una bandeja de soporte
Send Email (SMTP)
Envía a través de tu propio relay SMTP guardado en lugar del servidor de correo de la plataforma.
Conexión SMTP, destino, asunto, cuerpo
Enviar un recibo a través del propio servidor de correo de tu empresa
Las acciones de supresión son idempotentes — volver a añadir o volver a quitar la misma identidad nunca hace fallar una ejecución.
Paso
Qué hace
Campos clave
Ejemplo
Create or Update Contact
Crea o actualiza (upsert) un lead de Audience por teléfono y/o correo.
Teléfono, correo, nombre, atributos
Guardar a quien llama como lead justo al terminar la llamada
Get Contact by Phone Number
Busca un lead por teléfono.
Teléfono
Comprobar si {{data.from_number}} ya es un lead conocido
Get All Contacts
Lista los leads más recientes (máximo 100).
Límite
Recopilar los leads más nuevos para un correo resumen
Add Tags to Contact
Añade etiquetas a un lead.
ID de contacto, etiquetas
Etiquetar un lead como hot tras una llamada de calificación
Add Attributes to Contact
Fusiona valores de atributos personalizados en un lead.
ID de contacto, atributos
Guardar el tamaño de un deal en el lead encontrado
Add to blocklist
Suprime un teléfono o correo para que las campañas y los mensajes salientes lo omitan.
Teléfono, correo, canal (opcional — selecciona automáticamente voz o correo), motivo
Suprimir un número en el momento en que alguien dice «stop»
Remove from blocklist
Restaura un teléfono o correo previamente suprimido.
Teléfono, correo
Quitar la supresión tras un nuevo opt-in
Call Phone Number
Inicia una llamada saliente con el asistente elegido.
Asistente, destino (E.164), Variables opcionales
Devolver la llamada a un lead automáticamente tras una llamada entrante perdida
Call Phone Number también acepta Variables opcionales como objeto JSON plano, por ejemplo { "auftrag": "{{data.task}}" }. Los valores pueden ser texto (hasta 2000 caracteres), números o booleanos. También puedes usar un objeto completo de un paso anterior, como {{data.inputs}}. Son entradas para esta llamada y no modifican el asistente ni el contacto. Los valores resueltos inválidos o demasiado largos hacen fallar el paso antes de marcar. Comprueba por separado las entradas esperadas y el resultado real; crear una llamada no demuestra que la tarea haya terminado correctamente.
Ninguno de estos necesita una conexión guardada — pega una URL y listo.
Paso
Qué hace
Campos clave
Ejemplo
HTTP Request
Llama a cualquier endpoint HTTPS con el payload del activador o un cuerpo JSON personalizado.
URL, método, cabeceras, cuerpo
Enviar por POST el resumen de la llamada a un endpoint interno de operaciones
Slack (Webhook)
Publica en un canal de Slack mediante una URL de Incoming Webhook.
URL del webhook, mensaje
Soltar una alerta de una línea en un canal de operaciones cuando falla una ejecución
Discord (Webhook)
Publica en un canal de Discord mediante una URL de webhook.
URL del webhook, mensaje
Publicar un aviso por cada reserva nueva
Microsoft Teams (Webhook)
Publica texto en un Teams Incoming Webhook.
URL del webhook, título, mensaje
Avisar a un canal de Teams cuando llega un lead de alto valor
Las acciones HTTP Request reintentan hasta dos veces los errores HTTP y de conexión temporales dentro del tiempo configurado, con la misma clave Idempotency-Key. Los errores temporales incluyen HTTP 408, 425, 429, 5xx y errores de red. Los errores permanentes detienen la acción inmediatamente. El tiempo límite cubre toda la acción. El receptor debe respetar Idempotency-Key para evitar efectos duplicados si se pierde la respuesta.
Los pasos de CRM, MCP y de apps conectadas leen o escriben en un sistema externo a través de una credencial guardada — añade una en Automations → Connections antes de usar cualquiera de ellos. Cada uno aparece en el catálogo como Provider · Action (por ejemplo Airtable · Create record).CRM providers. Consulta Sincronización de CRM para la configuración de la sincronización recurrente y el flujo de autorización de HighLevel — estos nodos de acción escriben un registro cada vez, independientemente de cualquier programación de sincronización.
Proveedor
Qué puedes hacer
Airtable
Listar, encontrar, buscar, buscar o crear, obtener, crear (uno o hasta 10 a la vez), actualizar y eliminar registros — los selectores de base, tabla, campo y vista se cargan automáticamente desde tu esquema.
HubSpot
Obtener, crear, actualizar y buscar contactos; crear un deal; crear una nota.
Salesforce
Ejecutar una consulta SOQL, u obtener, crear y actualizar cualquier registro de objeto.
Close.io
Crear o actualizar un lead, crear un contacto, crear una oportunidad, crear una nota, y buscar.
HighLevel
Listar/obtener/crear/actualizar contactos, crear una oportunidad, crear una nota, además de lecturas de calendario y escrituras de citas — listar calendarios, obtener huecos libres, crear, actualizar/reprogramar y cancelar.
Pipedrive
Listar/buscar/obtener/crear/actualizar personas, crear un deal, añadir una nota.
Zoho CRM
Listar, buscar, obtener, crear y actualizar registros en cualquier módulo.
Attio
Listar/filtrar, obtener, crear y actualizar personas, empresas o registros de objeto personalizado.
Keap
Listar/buscar/obtener/crear/actualizar contactos, crear una oportunidad, crear una nota.
Twenty CRM
Listar/filtrar, obtener, crear y actualizar registros — alojado o autoalojado.
Ejemplo: después de On Call Completed, usa una actualización de HubSpot para registrar {{data.analysis.success}} en el contacto encontrado, o ramifica antes con Condition.MCP de proveedores y genérico. En lugar de campos fijos, estos pasos entregan un prompt y el contexto de la ejecución a un agente que elige por sí mismo la herramienta y los argumentos correctos — útil cuando la llamada exacta varía de una ejecución a otra. Ambos cobran créditos de IA del espacio de trabajo por el razonamiento del agente.
Llama al servidor MCP oficial de ese proveedor a través de una conexión guardada.
Conexión, herramientas permitidas (lista blanca opcional), prompt del agente
«Enumera los tickets de Jira atrasados y anota el más antiguo»
MCP · Call tool
El mismo patrón de agente-elige-la-herramienta, para cualquier servidor MCP guardado como conexión.
Conexión, herramientas permitidas, prompt del agente
«Añade {{last.email}} al CRM como contacto nuevo»
Apps conectadas. Además de las plataformas anteriores, el catálogo también incluye cada app que tu espacio de trabajo haya conectado mediante OAuth. Conecta una en Connections → App marketplace, y luego elígela como activador o acción igual que cualquier plataforma nativa. Consulta el App Catalog para ver la lista completa y cómo funciona la conexión. Las apps con muchas acciones cargan más a medida que te desplazas; escribe un nombre o una palabra clave en Search actions… encima de la lista para encontrar cualquier acción, por ejemplo send message.
Paso
Qué hace
Campos clave
Ejemplo
Execute app tool
Ejecuta una herramienta de una app conectada; sus campos se cargan desde el propio esquema de la herramienta.
Conexión de app, herramienta
Crear una fila en una hoja de cálculo conectada
App event(activador)
Se dispara cuando una app conectada entrega un evento firmado.
Elegido desde el catálogo
Iniciar una ejecución al llegar un mensaje nuevo a la bandeja de entrada
Cada campo marcado con un ⚡ acepta plantillas {{ }} extraídas de los datos actuales de la ejecución.
Patrón
Se resuelve a
{{data.from_number}}
Un campo del payload del activador
{{steps.<nodeId>.<field>}}
Un campo de salida de un paso anterior concreto
{{last.<field>}}
Un campo de salida del paso inmediatamente anterior a este
{{item}} / {{index}}
El elemento / la posición actual dentro del cuerpo de un Loop on Items
Extract Fields devuelve sus valores dos veces — anidados bajo fields ({{steps.step1.fields.email}}) y aplanados directamente sobre el propio paso ({{steps.step1.email}}) — usa el que se lea con más claridad.
Set variable escribe en la propia ejecución en lugar de en la salida propia de un paso — referencia después la ruta que elegiste de la misma forma, p. ej. {{vars.summary}}.
Condition, Switch y Loop on Items también deciden qué camino conectado se ejecuta a continuación — arrastra conexiones distintas desde sus conectores true/false, por caso, o Loop/Done.
Usa Insert Variable para explorar lo que está disponible en lugar de escribir rutas a mano. El panel Test de cada paso tiene dos niveles: Connect Test solo comprueba que tus campos son válidos; Run test ejecuta el paso de verdad y rellena Insert Variable con las salidas reales para cada paso posterior.
Run test es una ejecución real, no una simulación — en pasos de apps conectadas, correo, SMS, HTTP y CRM puede crear o cambiar datos reales.
Classify Text → Test pide cargar datos de ejemplo en el activador. Revisa la entrada antes de ejecutar la acción; una prueba real consume créditos.
No está en vivo — los activadores nunca inician una ejecución. Seguro para seguir editando.
Live
Activo — los eventos de activador que coinciden inician ejecuciones reales.
Paused
Desactivado temporalmente. Vuelve a ponerlo en Live para reanudarlo.
Archived
Retirado. Reactívalo de la misma forma que Paused si vuelves a necesitarlo.
Una automatización que falla cinco ejecuciones seguidas se pausa automáticamente, para que un grafo roto no siga disparándose. Revisa la pestaña Runs para ver el error, corrígelo y vuelve a ponerla en Live.
Cómo se mueve una automatización entre estos estados:
Abre una automatización y pídele a Milian, el copiloto de IA, que la construya o la modifique en lenguaje natural — añadir un activador y pasos, conectar las ramas true/false de una condición, renombrarla o volver a etiquetarla, cambiarla a Live, o depurar una ejecución fallida — lo mismo que harías a mano. Prueba con «añade un paso de correo después del activador», «añade una rama de condición y conecta true/false», o «depura la última ejecución fallida».Cuando Milian aplica un cambio directamente se muestra Milian saved changes; cuando actualiza el lienzo sin guardar se muestra Milian updated the canvas — click Save to persist, y el cambio queda como borrador hasta que hagas clic en Save.