MyBotBoxMyBotBox
Architecture

Ejecución y Flujo de Datos

Cómo una ejecución de flujo de trabajo avanza desde el disparador hasta los manejadores, los registros y la medición de costos.

Un flujo de trabajo atraviesa el mismo ciclo de vida sin importar si es disparado por un botón, un webhook, una programación o una consulta entrante.

Ciclo de vida

flowchart LR
    classDef step fill:#00D4AA,stroke:#0F766E,color:#06302B
    classDef data fill:#3B82F6,stroke:#1E40AF,color:#fff
    classDef gate fill:#FF6B35,stroke:#C2410C,color:#fff

    S1["Build<br/>canvas"]:::step --> S2{"Validate<br/>reference checks"}:::gate
    S2 --> S3["Save<br/>blocks + edges"]:::data
    S3 --> S4["Deploy<br/>immutable version"]:::step
    S4 --> S5["Bind trigger<br/>webhook · schedule · poll"]:::step
    S5 --> S6["Execute<br/>resolve inputs → handlers"]:::step
    S6 --> S7["Logs + cost<br/>per-block metering"]:::data

Qué ocurre durante una ejecución

sequenceDiagram
    participant T as Trigger
    participant A as API
    participant S as Serializer
    participant X as Executor
    participant H as Handler
    participant L as LLM / Integration
    participant D as Database

    T->>A: Fire (webhook / schedule / manual)
    A->>S: serialize(workflow)
    S->>S: Build graph + topological sort
    S-->>A: Execution plan
    A->>X: execute(plan)
    loop For each block
        X->>H: handle(block, inputs)
        alt AI / Integration block
            H->>L: Provider call
            L-->>H: Result
        else Data block
            H->>D: Query / insert
            D-->>H: Rows
        end
        H-->>X: Block output (stored in context)
    end
    X->>D: Write execution log + cost
    A-->>T: Result (streamed when applicable)

Propiedades clave

  • Ejecución topológica — los bloques se ejecutan en orden de dependencia; los bloques parallel y loop generan sub-contextos aislados que comparten un ID de traza.
  • Despacho tipado — cada bloque se resuelve en uno de los 30 manejadores detrás de una única interfaz, de modo que el motor puede incorporar nuevos tipos de bloques sin cambios en el núcleo.
  • Streaming — los bloques de IA transmiten tokens mediante Server-Sent Events; el editor muestra la salida en tiempo real a medida que avanza una ejecución.
  • Medición de costos — cada bloque registra los tokens de entrada/salida y el costo en el registro de ejecución, que la página de Uso consulta.

Síncrono vs asíncrono

Las ejecuciones iniciadas por el usuario se realizan de forma síncrona dentro de la solicitud. Los flujos de trabajo disparados y de larga duración se envían a Cloud Tasks y se ejecutan en una función en segundo plano, por lo que no están limitados por el tiempo de espera de la solicitud.

Las ejecuciones síncronas están limitadas por el tiempo de espera de la solicitud de la plataforma. Para flujos de trabajo que puedan ejecutarse durante más tiempo, se recomienda usar un webhook o un disparador programado, que se despachan de forma asíncrona.