Gestionar flows¶
Un flow es una máquina de estados conversacional: nodos (steps) + transiciones. El flow-engine ejecuta un flow por conversación y persiste su estado en DynamoDB.
Vista de listado¶
/flows muestra todos los flows del tenant:
┌─────────────────────────────────────────────────────────────┐
│ Flows [+ Nuevo] │
├─────────────────────────────────────────────────────────────┤
│ Nombre │ Versión │ Estado │ Última publicación │
│ Bienvenida │ v3 │ Publicado │ 2026-05-14 10:21 │
│ Soporte L1 │ v7 │ Borrador │ — │
│ NPS post-chat │ v1 │ Publicado │ 2026-05-10 16:03 │
└─────────────────────────────────────────────────────────────┘
Crear un flow¶
- Clic en + Nuevo.
- Ingresa nombre y descripción.
- Se abre el editor con un step inicial
textvacío.
Editor¶
El editor usa Monaco (mismo motor que VS Code) en modo JSON con
validación contra el schema Zod de packages/flow-schema.
Step types soportados¶
| Tipo | Uso |
|---|---|
text |
Envía mensaje al usuario |
condition |
Bifurca según expresión sobre el contexto |
set-context |
Setea variables del contexto de conversación |
handoff |
Transfiere a agente humano (Five9, Amazon Connect) |
encuesta |
Lanza FSM de NPS post-conversación |
http |
Llama endpoint externo (con timeout y retry) |
llm |
Invoca LLM (Bedrock / OpenAI) con prompt parametrizado |
Detalles del schema y semánticas en developers/flow-engine.
Validación en vivo¶
El editor marca en rojo:
- Referencias a steps inexistentes.
- Variables de contexto no declaradas.
- Expresiones de
conditionque no parsean.
Probar el flow¶
Botón Probar (icono play) abre un panel lateral con un widget simulado. Las llamadas no salen a producción: usan el mock router del flow-engine.
Publicar¶
- Guardar como borrador: persiste sin afectar el flow activo.
- Publicar: crea una nueva versión inmutable y la marca como activa. El flow anterior queda disponible para rollback durante 30 días.
Versionado y rollback¶
- Cada publicación incrementa la versión (
v1,v2, ...). - En el detalle del flow → Historial puedes ver el diff y hacer rollback con un clic.
- El rollback no borra la versión actual; crea una nueva versión que duplica el contenido de la anterior.
Importar flow legacy¶
Si vienes del legacy ZEngine V1, usa Importar legacy → pega el JSON
del flow viejo. El transpiler (packages/flow-transpiler) lo convierte al
schema v2. Resultado se valida contra el Parity Gate.