Constructor de flujos de trabajo
El Constructor de flujos de trabajo es un editor visual, basado en nodos, para flujos de llamada guionizados. Mientras que el agente abierto deja que el modelo decida qué decir a continuación, un flujo de trabajo le da al agente un camino determinista — una secuencia de pasos que hablan, preguntan, ramifican, llaman a herramientas y enrutan la conversación. Úsalo cuando una llamada necesite seguir un guion definido: calificar un cliente potencial, reservar una cita, clasificar una incidencia de soporte o recopilar una encuesta. Lo abres desde la pestaña Herramientas en el constructor de agentes en /agent/setup, con el botón Abrir Constructor de flujos de trabajo.
Un flujo de trabajo pertenece a un único agente. En el momento de la llamada, un supervisor observa la conversación, decide qué intención está expresando la persona que llama y ejecuta los pasos de esa intención en orden. Las funciones que el agente puede usar dentro de los pasos son exactamente las que has vinculado en la pestaña Herramientas — el flujo de trabajo no puede alcanzar una herramienta que no hayas concedido.
Cómo está estructurado un flujo de trabajo
El Workflow Builder: diseña flujos de llamada deterministas en un lienzo de nodos estilo n8n, con un prompt de supervisor opcional.
Un flujo de trabajo tiene tres niveles anidados:
- Grafo — un flujo de trabajo por agente. Lleva un prompt de supervisor opcional (instrucciones personalizadas para el supervisor de IA que enruta las intenciones). Hasta que creas el grafo, el constructor muestra una pantalla única Crear grafo de flujo de trabajo con el campo del prompt de supervisor.
- Intenciones — las ramas de la conversación. Cada intención tiene un nombre visible, un nombre interno, una descripción (que se muestra al modelo supervisor para que pueda emparejar la intención), una lista de frases desencadenantes, un conmutador de intención predeterminada y una respuesta de reserva opcional que se usa si todos sus pasos fallan. El supervisor elige la intención cuya descripción y frases desencadenantes encajan mejor con lo que dijo la persona que llama.
- Pasos — las acciones ordenadas dentro de una intención. Los pasos se ejecutan de arriba abajo de forma predeterminada, y cada paso tiene un tipo que decide qué hace.
En el lienzo esto se lee como un nodo verde de Inicio que fluye hacia un nodo de Intención por cada rama, con los nodos de Paso de esa intención apilados debajo. Un minimapa, controles de zoom y un fondo punteado te ayudan a navegar por flujos más grandes.
El supervisor compara lo que dice la persona que llama con la descripción y las frases desencadenantes de cada intención, así que escribe las descripciones como si informaras a un colega ("El usuario quiere reservar o programar una cita") y añade algunas frases desencadenantes naturales. Marca una intención como predeterminada para captar las conversaciones que no encajen claramente con ninguna otra.
Tipos de paso
Añade un paso con Añadir paso (tras seleccionar una intención o uno de sus pasos), lo que abre el selector de nodos. El selector agrupa los tipos de paso en Conversación, Lógica, Integraciones y Control de llamada. Hay trece tipos:
- Mensaje — el bot dice una frase a la persona que llama.
- Pregunta — el bot pregunta algo y almacena la respuesta en una variable. Eliges un tipo de validación (Cualquiera, Número, Email, Fecha, Sí / No o Teléfono) y un mensaje de repregunta que se usa cuando la respuesta no supera la validación.
- Condición — ramifica el flujo. Eliges un campo (una variable de sesión), un operador (igual a, distinto de, contiene, no contiene, mayor que, menor que, coincide con regex, está vacío, no está vacío) y un valor, y luego enrutas Si es verdadero y Si es falso a pasos específicos.
- Llamada a herramienta — llama a una función integrada o personalizada vinculada al agente. Seleccionas el tipo de herramienta, la función y un mapeo de entrada opcional (JSON) que asigna las entradas del paso a variables de sesión.
- Cita — ejecuta un subflujo de reserva de citas contra una función de reserva, con su propio mapeo de entrada.
- Webhook — realiza una solicitud HTTP a una URL externa. Defines el método (GET, POST, PUT, PATCH, DELETE), la URL, cabeceras opcionales (JSON), una plantilla de cuerpo y una variable en la que guardar la respuesta.
- Transferencia — pasa la llamada a otro número de teléfono o cola, con un mensaje opcional anunciado antes de la transferencia. Consulta Llamadas y telefonía para saber cómo se comportan las transferencias de llamada de principio a fin.
- Finalizar llamada — cuelga, diciendo opcionalmente primero un mensaje de despedida.
- Retardo — espera en silencio un número determinado de segundos (1–60) antes de continuar.
- Establecer variable — almacena un valor (texto estático o una referencia a otra variable) en una variable de sesión.
- Enviar notificación — envía un mensaje SMS, email o WhatsApp usando una plantilla con nombre y un mapeo de variables (JSON).
- Respuesta estática — dice un bloque de texto fijo. Este es un nodo heredado; prefiere Mensaje para los flujos nuevos.
- Reproducir audio — reproduce un archivo de audio (una URL pública de WAV o MP3) a la persona que llama.
Cada paso se configura en el panel de la derecha que se abre al seleccionar un nodo. El panel muestra solo los campos relevantes para el tipo de ese paso, además del nombre del paso y un selector de tipo.
Un paso de Pregunta o Establecer variable almacena su resultado bajo un nombre que tú eliges. Refiérete a él más adelante — en un Mensaje, el campo de una Condición, el cuerpo de un Webhook o el mapeo de una notificación — con la sintaxis de llaves como {variable_name}. Así es como un flujo recuerda lo que dijo la persona que llama y lo lleva adelante a través de los pasos.
Ramificación y enrutamiento
Los pasos no tienen que ejecutarse en línea recta:
- Un paso de Condición expone salidas True y False. Conecta cada una a un paso de destino (o déjala en Continuar en orden) para ramificar según el valor de una variable.
- Cualquier otro tipo de paso tiene enrutamiento Si tiene éxito y Si falla. De forma predeterminada, un paso continúa con el siguiente en orden; configura estos para saltar a otro lugar — por ejemplo, enruta una Llamada a herramienta fallida a un mensaje de recuperación.
Puedes configurar el enrutamiento de dos maneras: elige el paso de destino en el panel de configuración o arrastra una conexión en el lienzo desde el conector de salida de un paso (el conector verde OK / TRUE o el conector rojo FAIL / FALSE) hasta otro paso. Las conexiones dibujadas en el lienzo se guardan en el flujo de trabajo de inmediato.
Construir y guardar
El constructor conserva los cambios a medida que los haces, en lugar de en un único gran guardado:
- Añadir intención crea una nueva rama; haz clic en ella para rellenar su nombre, descripción y frases desencadenantes, y luego Guardar cambios en el panel.
- Añadir paso inserta un paso del tipo que elijas; configúralo en el panel y Guardar cambios.
- Los galones arriba / abajo de un nodo reordenan intenciones y pasos; eliminar un nodo (mediante su icono de papelera o la tecla Supr) pide confirmación primero.
- El botón Guardar de la barra de herramientas almacena el prompt de supervisor; un punto ámbar marca las ediciones del prompt sin guardar.
Empezar desde una plantilla
En lugar de construir desde cero, el botón Plantillas ofrece flujos listos para usar que puedes cargar y luego editar: Calificación de clientes potenciales, Reserva de citas, Atención al cliente, Encuesta NPS, Recordatorio de pago y Incorporación de clientes. Cada uno incorpora una intención completa con sus pasos, incluyendo preguntas, condiciones y mensajes de despedida. Aplicar una plantilla añade a tu flujo de trabajo existente en lugar de reemplazarlo, de modo que puedas combinar varias o recortar lo que no necesites.
Importar funciones desde una especificación OpenAPI
El botón Importar API convierte una API existente en funciones de agente que puedes llamar desde pasos de Llamada a herramienta. Proporciona una especificación OpenAPI / Swagger — por URL o pegándola (OpenAPI 2.0 o 3.x, JSON o YAML) — y el importador analiza las operaciones. Elige las operaciones que quieres, confirma la URL base, y genera funciones personalizadas para ellas. Esas funciones aparecen luego en la lista de funciones para los pasos de Llamada a herramienta y en la pestaña Herramientas.
Un paso de Llamada a herramienta solo puede usar funciones ya disponibles para el agente — las funciones integradas y cualquier función personalizada vinculada en la pestaña Herramientas, incluidas las generadas por el importador de OpenAPI. Si la función que quieres no aparece en la lista, añádela primero en la pestaña Herramientas.