Cómo funciona un flujo
Un flujo es un grafo: nodos (los pasos) unidos por aristas (las salidas de cada paso).
La conversación empieza en
entry_node_id. Al cerrar cada turno, las aristas del nodo actual se evalúan en este orden:
- Las condiciones
tool_resultyvariable, que no necesitan al modelo, porpriority(la mayor primero). - Todas las condiciones
llm_decision, en una sola llamada al modelo: el modelo elige la salida que corresponde, guiado por ladescriptionde cada una. - La arista
always, que es el «si no» explícito. - Si nada aplica, la conversación se queda donde está.
global_nodes) se puede entrar desde cualquier etapa con su global_condition, y al terminar la conversación regresa a la etapa de la que venía. Sirven para «el cliente pide hablar con una persona» o «el cliente quiere cancelar».
Un flujo mínimo
Calificar a quien llama, agendar si quiere y despedirse:Flow de la referencia de la API.
Leer el flujo
GET /v1/agents/{id} lo devuelve en config.flow, y GET /v1/agents/{id}/versions/{version} en flow. Vale null cuando el agente no tiene flujo.
Cambiar el flujo
Manda el grafo completo enflow con PATCH /v1/agents/{id}. Reemplaza al actual: no hay forma de mandar un solo nodo, así que primero lee el flujo, cámbialo y devuélvelo entero.
"flow": nullquita el flujo, y el agente vuelve a funcionar con su prompt.- Como cualquier cambio de configuración, se guarda como una versión borrador. Publícala con
POST /v1/agents/{id}/publishpara que las llamadas la usen. - Manda
expected_version(elcurrent_versionque leíste) para no pisar un cambio que alguien hizo en el Constructor mientras tanto.
always en una etapa, un llm_decision desde un paso que no conversa, una description en blanco, una tool que el agente no tiene), la respuesta es 400 invalid_flow y no se guarda nada, ni el name ni el status que vengan en la misma petición. Un nodo sólo puede nombrar tools del agente: las nativas y las que la versión trae en tool_ids.
Desde el servidor MCP y la CLI
- MCP:
get_agentdevuelve el flujo yupdate_agentaceptaflowcon las mismas reglas. Tu cliente de IA puede leer el flujo, cambiarlo y devolverlo entero. - CLI:
ryvo agents get <id>enseña una líneaflowcon el número de nodos y la etapa de entrada; agrega--jsonpara ver el grafo completo. Para cambiarlo, pasa el cuerpo con--data: