> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Editor de canvas

> Diseña workflows en el Flowker Canvas arrastrando nodos Trigger, Executor Call, Conditional y Action, y luego conectando y configurando cada uno.

El **Workflow Canvas** es un editor visual de arrastrar y soltar para diseñar workflows en Flowker. Es una superficie interactiva donde puedes agregar, conectar y configurar nodos para definir el flujo de ejecución de tus procesos automatizados.

## Acceder al Canvas

***

El canvas se abre automáticamente cuando creas o editas un workflow. Ve a **Flowker → Workflows**, y luego crea un workflow nuevo o haz clic en **Edit Workflow** en uno existente.

## Conceptos básicos del canvas

***

El canvas tiene las siguientes interacciones:

* **Desplazar**: haz clic y arrastra en el fondo del canvas para moverte.
* **Zoom**: usa la rueda de desplazamiento o el gesto de pellizco para acercar y alejar.
* **Seleccionar**: haz clic en un nodo para seleccionarlo y ver su resumen.
* **Configurar**: haz doble clic en un nodo para abrir su panel de configuración en el lado derecho.
* **Conectar**: arrastra desde el conector de salida de un nodo hasta el conector de entrada de otro nodo para crear una conexión.
* **Eliminar**: selecciona un nodo o una conexión y presiona la tecla de eliminar, o usa el menú contextual.

## Tipos de nodo

***

Los workflows de Flowker tienen cuatro tipos de nodo.

### Nodo Trigger

El **nodo Trigger** define el evento que inicia el workflow. Un workflow activo debe tener al menos un nodo disparador. Un workflow en draft puede estar vacío u omitir un disparador mientras lo diseñas. La validación de guardado en el nivel de nodo sigue aplicando.

Cuando haces doble clic en un nodo disparador, se abre el panel **Configure Trigger** con los siguientes campos:

| Campo       | Descripción                                                                                                                                |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| **Name**    | Una etiqueta descriptiva para el disparador (por ejemplo, "Webhook Trigger").                                                              |
| **Trigger** | Una lista desplegable para seleccionar qué tipo de disparador usar. Las opciones se cargan de forma dinámica desde el catálogo de Flowker. |

Después de seleccionar un tipo de disparador, pueden aparecer campos de configuración adicionales según el esquema del disparador. Para el disparador de webhook, esos campos son el path, el método y el contrato de entrada. Consulta [Configurar un disparador de webhook](/es/products/flowker/configuring-a-webhook-trigger) para ver qué acepta cada contrato. Para el disparador de programación, son la expresión cron, la zona horaria y el flag de habilitado. Consulta [Ejecutar un workflow según una programación](/es/products/flowker/running-a-workflow-on-a-schedule).

Los tipos de disparador disponibles incluyen:

| Disparador   | Descripción                                                                                                                                                                                                     |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Webhook**  | El workflow empieza cuando Flowker recibe una solicitud HTTP externa en el path y el método configurados.                                                                                                       |
| **Schedule** | El workflow empieza según una programación por tiempo definida por una expresión cron estándar de 5 campos (granularidad mínima de 1 minuto), con una zona horaria IANA opcional (UTC de forma predeterminada). |

<Note>
  Los tipos de disparador vienen del catálogo de Flowker y pueden variar según la configuración de tu entorno. La lista de arriba refleja los disparadores disponibles de forma predeterminada.
</Note>

### Nodo Executor Call

Los **nodos Executor Call** hacen operaciones específicas llamando a ejecutores registrados en el catálogo de Flowker. Cada ejecutor es una integración ya construida con productos Lerian o servicios externos.

Cuando haces doble clic en un nodo de llamada a ejecutor, se abre el panel **Configure Executor Call**. Sus dos primeros campos forman una cascada: la configuración de proveedor que eliges primero decide qué ejecutores ofrece el segundo campo.

| Campo        | Descripción                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Provider** | El primer campo, y el que define la conexión. Lista las configuraciones de proveedor guardadas en la página [Providers](/es/products/flowker/console/providers-overview), cada una mostrada por su nombre con su proveedor del catálogo al lado. Elegir una vincula el paso a esa conexión — su URL base y sus credenciales — y acota la lista desplegable **Executor** de abajo al mismo proveedor. Cuando la organización todavía no tiene ninguna configuración de proveedor, la lista desplegable muestra **No connections yet — create one in Flowker → Providers**. Un workflow no se guarda mientras un nodo de llamada a ejecutor no tenga configuración de proveedor. |
| **Executor** | El segundo campo. Lista los ejecutores del catálogo del proveedor al que pertenece la configuración seleccionada, y sigue deshabilitado hasta que eliges un **Provider**, mostrando **Select a provider first**. Cuando la configuración seleccionada se construyó a partir de tu propia spec OpenAPI, este campo se reemplaza por **Operation**, que lista las operaciones de esa spec — consulta [Conectar tu propia API](/es/products/flowker/connecting-your-own-api).                                                                                                                                                                                                     |
| **Name**     | Se completa automáticamente con la categoría del ejecutor después de la selección, pero es editable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

Después de seleccionar un ejecutor, aparecen campos de configuración adicionales según el esquema del ejecutor (por ejemplo, parámetros de mapeo de datos).

Los ejecutores disponibles incluyen:

| Ejecutor                 | Descripción                                                |
| ------------------------ | ---------------------------------------------------------- |
| **Create Account**       | Crea una cuenta nueva en Midaz.                            |
| **Create Transaction**   | Crea una transacción nueva en Midaz.                       |
| **Get Account**          | Obtiene los detalles de una cuenta desde Midaz.            |
| **Get Account Balance**  | Obtiene el saldo de una cuenta específica.                 |
| **List Validations**     | Lista las validaciones de transacciones de Tracer.         |
| **Validate Transaction** | Valida una transacción con las reglas de riesgo de Tracer. |

<Note>
  Los ejecutores vienen del catálogo de Flowker y pueden variar según `OPENAPI_NATIVE_PROVIDERS`, la política de fixtures y la resolución correcta del proveedor y de la especificación. La tabla es ilustrativa. Inspecciona el catálogo en ejecución para ver los ejecutores disponibles en tu despliegue.
</Note>

La configuración del nodo se valida de forma local y remota (a través del backend de Flowker) contra el JSON Schema del ejecutor del catálogo antes de guardar. Si la configuración es inválida, aparecerá un mensaje de error en el panel.

### Nodo Conditional

Los **nodos Conditional** ramifican el workflow según condiciones evaluadas en tiempo de ejecución.

Un nodo condicional tiene una condición estructurada formada por **cases**. Cada case tiene una o más reglas y enruta la ejecución por su propio camino de salida cuando coincide. El nodo condicional evalúa los cases en orden, y gana el primer case que coincide. Un camino **default** opcional captura las ejecuciones que no coinciden con ningún case. Así, un nodo condicional tiene una conexión de salida por case, más el camino default cuando está habilitado.

Cuando haces doble clic en un nodo condicional, se abre su panel de configuración con el **condition builder** visual, donde defines los cases y las reglas dentro de cada case (el valor que se prueba, un operador de comparación y el valor con el que se compara).

<Note>
  Los workflows guardados con una expresión de condición de texto libre heredada conservan los caminos de salida **true**/**false** originales. Los condicionales nuevos usan el condition builder.
</Note>

<Tip>
  Usa etiquetas de case y nombres de nodo descriptivos (por ejemplo, "High Value Check") para que el workflow siga siendo legible.
</Tip>

### Nodo Action

Los **nodos Action** hacen una acción en el nivel del workflow sin llamar a un servicio externo. El tipo de acción disponible es `set_output`, que define la salida final de la ejecución. Es útil como paso terminal de un workflow, sobre todo con [respuestas de webhook síncronas](/es/products/flowker/integration-guide#synchronous-response-mode).

Los valores de salida admiten referencias `${...}` que se resuelven contra el contexto del workflow (por ejemplo, `${workflow.<field>}` para el payload del disparador, o `${execution.id}`). Para los workflows disparados por un webhook síncrono, un nodo `set_output` también puede llevar un `responseStatusCode` (entero, `200`–`599`) para anular el estado HTTP de la respuesta sync.

## Configurar nodos

***

Para configurar cualquier nodo, haz doble clic en él en el canvas. Un panel de configuración se desliza desde el lado derecho.

Cada tipo de nodo tiene su propia disposición de panel:

* **Trigger**: campo Name + lista desplegable de tipo de disparador + campos de esquema propios del disparador.
* **Executor Call**: lista desplegable Provider + lista desplegable Executor + nombre completado automáticamente + campos de esquema propios del ejecutor.
* **Conditional**: campo Name + el condition builder visual (cases y reglas).
* **Action**: campo Name + la configuración de salida `set_output`.

Después de completar la configuración, haz clic en **Save & Close** para aplicar los cambios y volver al canvas.

## Conexiones

***

Las conexiones definen el orden en que se ejecutan los nodos. Cada conexión forma una arista dirigida desde la salida de un nodo hasta la entrada de otro nodo.

* Un nodo puede tener varias conexiones de salida (por ejemplo, los nodos condicionales tienen una por case, más el camino default cuando está habilitado).
* Un nodo puede recibir entrada de varias fuentes.
* Las conexiones circulares (bucles) no se admiten.

<Tip>
  Mantén tus workflows legibles ordenando los nodos de izquierda a derecha o de arriba abajo. Usa nombres de nodo descriptivos para dejar claro qué hace cada paso.
</Tip>
