---
url: https://docs.ogmabox.com/es/app/workflows.md
description: >-
  Crea flujos de trabajo reutilizables de Ogma para procesamiento pasivo,
  acciones activas y conversión de datos.
---

# Flujos de trabajo {#workflows}

Los flujos de trabajo son procesos de automatización reutilizables que procesan tráfico capturado, ejecutan pasos activos o transforman datos sin que tengas que escribir scripts independientes.

## Tipos de flujos de trabajo {#workflow-types}

| Tipo | Se activa mediante | Uso habitual |
|------|-------------|------------|
| Pasivo | Tráfico capturado nuevo | Marcar patrones interesantes, etiquetar solicitudes y crear hallazgos automáticamente. |
| Activo | Ejecución manual | Enviar solicitudes de seguimiento, encadenar acciones y ejecutar pruebas de varios pasos. |
| Convertir | Entrada de prueba, acciones de conversión o Buscar y reemplazar | Transformar texto o bytes, como dar formato a JavaScript o normalizar JSON. |

Los flujos de trabajo pasivos se ejecutan continuamente en segundo plano. Los activos se ejecutan bajo demanda sobre un conjunto de solicitudes seleccionado.

## Lienzo del flujo de trabajo {#the-workflow-canvas}

Abre **Flujos de trabajo** y selecciona un flujo para abrir su lienzo.

* Los nodos aparecen en el panel central. Cada nodo tiene puertos de entrada y salida tipados.
* Conecta un puerto de salida a uno de entrada haciendo clic y arrastrando entre ellos.
* Haz clic en un nodo para abrir su panel de configuración a la derecha.
* La barra de herramientas superior contiene los controles de ejecución, habilitación/deshabilitación e importación/exportación.

## Tipos de nodos {#node-types}

| Nodo | Descripción |
|------|-------------|
| Inicio / Fin | Nodos de entrada y salida adecuados para el tipo de flujo de trabajo pasivo, activo o de conversión. |
| Condiciones | Si / Si no, Si / Si no JS, Coincidencia HTTPQL, Coincidencia de alcance, Contiene cadena y Coincidencia de expresión regular. |
| Codificación | Codificación/decodificación Base64, URL, Hex y HTML. |
| Formato y hashes | Minimizar/Formatear JSON, MD5, SHA-1 y SHA-256. |
| Operaciones de texto | Recortar, Unir, Dividir, Buscar y reemplazar, Transformación JQ y Extracción Grep. |
| JavaScript | Lógica personalizada mediante el SDK de flujos de trabajo; puede leer tráfico, operar con archivos y crear hallazgos. |
| Integración | Registro, Webhook, Invocar flujo de trabajo, Enviar solicitud y Regla de Buscar y reemplazar. |

Utiliza la paleta de nodos para consultar los puertos y la configuración reales. Haz clic en una conexión para trabajar con ese enlace en lugar de eliminar un nodo para reconectar el grafo. Guarda con **Guardar** o **Ctrl+S** (Command+S en macOS).

## Uso compartido y ámbito {#sharing-and-scope}

Los flujos de trabajo se comparten de forma predeterminada entre los proyectos del mismo espacio de trabajo. Activa **Específico del proyecto** para conservar una definición con su proyecto. Compartir definiciones no significa compartir el tráfico, los resultados o las notas de todos los proyectos. Exporta/importa el JSON del flujo de trabajo al trasladarte a otro espacio de trabajo o instalación.

## Pruebas antes del uso en directo {#testing-before-live-use}

Los flujos de trabajo pasivos y activos tienen una sección **Prueba HTTP** con datos de prueba de URL, Solicitud sin procesar y Respuesta sin procesar. Habilita el flujo, rellena esos campos y haz clic en **Probar flujo de trabajo**. La prueba guarda los cambios antes de ejecutarse. Los valores de prueba se conservan por flujo de trabajo al salir de la página y volver.

Un flujo de conversión tiene, en su lugar, **Entrada de prueba** y salida. Empieza con una entrada representativa pequeña y después prueba un recurso de tamaño realista. Los datos de prueba no vuelven inofensivos los nodos JavaScript arbitrarios ni los de Enviar solicitud: el código del flujo puede seguir realizando las acciones configuradas.

### JavaScript y archivos {#javascript-and-files}

El JavaScript de los flujos de trabajo admite el SDK de Ogma e importaciones compatibles de `fs`/`path`. Utiliza `sdk.fs.readFile`, `writeFile`, `appendFile`, `exists`, `readDir`, `mkdir` y `unlink` para operaciones de archivos, y `sdk.path` para rutas adaptadas a la plataforma. Son utilidades de Ogma, no toda la biblioteca estándar de Node.js.

Para un exportador de recursos, lee `response.getBody().toText()`, elige un destino con `sdk.path.join`, crea su directorio padre y comprueba `sdk.fs.exists` si no quieres sobrescribir un archivo existente. Revisa las rutas del sistema de archivos antes de ejecutar: las utilidades de archivos de los flujos se ejecutan en el host de Ogma, a diferencia de `sdk.fs` de los plugins, limitado a su directorio privado. Consulta el [SDK de plugins](../plugins/README.md#sdk-fs) para conocer ese entorno de ejecución distinto.

## Importar un flujo de trabajo {#importing-a-workflow}

1. Haz clic en **Importar** en la barra de herramientas de Flujos de trabajo.
2. Selecciona un archivo JSON de flujo de trabajo.
3. El flujo se abre en el lienzo. Verifica la configuración de los nodos antes de habilitarlo.
4. Guarda el flujo de trabajo.

Los archivos JSON de flujos de trabajo exportados se pueden compartir entre instalaciones de Ogma o almacenar en control de versiones.

## Ejecutar un flujo sobre el historial capturado {#running-a-workflow-on-captured-history}

Los flujos de trabajo activos se pueden volver a ejecutar sobre solicitudes capturadas anteriormente.

1. Abre el flujo de trabajo.
2. Haz clic en **Ejecutar sobre el historial**.
3. En el diálogo de escaneo del historial, introduce un filtro HTTPQL opcional para limitar las solicitudes que procesa el flujo.
4. Haz clic en **Ejecutar**.

Revisa el número de coincidencias e inicia la tarea. El progreso y los errores aparecen en la tarea de escaneo y, cuando el registro está habilitado, en su historial de ejecuciones. Los flujos pasivos ofrecen **Analizar historial** y **Volver a ejecutar sobre la solicitud** para el procesamiento retrospectivo.

Para unos pocos recursos interesantes, selecciona una o varias filas del Historial HTTP, haz clic derecho, elige **Enviar a Flujo de trabajo** y selecciona un flujo activo habilitado. Esto le proporciona las entradas seleccionadas sin cambiar su definición ni procesar todo el historial.

El botón **Asistencia de IA** junto a la entrada de filtro del escaneo del historial genera una expresión HTTPQL a partir de una descripción en lenguaje natural.

## Ejecuciones y resultados de flujos de trabajo {#workflow-runs-and-results}

Activa **Activar registro** en la configuración del flujo cuando necesites detalles de ejecución. Se aplica a los flujos pasivos, activos y de conversión, incluidas las conversiones de Buscar y reemplazar. Cuando está desactivado, el procesamiento se sigue ejecutando, pero no añade registros de ejecución/pasos; vuelve a activarlo y repite una prueba para diagnosticar un problema.

* Haz clic en una ejecución para ver la salida de cada paso por nodo.
* Los nodos que produjeron errores se resaltan.
* Los hallazgos creados durante la ejecución aparecen en la vista [Hallazgos](./findings.md).
* Las variables extraídas durante la ejecución son visibles en el panel de detalles del paso.

**Borrar todo** elimina el historial de ejecuciones almacenado del flujo seleccionado. Descarga los registros antes de borrarlos si necesitas conservar evidencias de depuración. El registro puede almacenar salidas grandes, como cuerpos de scripts completos, por lo que conviene dejarlo desactivado en conversiones de gran volumen salvo que sea necesario.

## Habilitar un flujo de trabajo pasivo {#enabling-a-passive-workflow}

1. Abre el flujo de trabajo.
2. Verifica que la configuración del lienzo esté completa (sin puertos obligatorios desconectados).
3. Activa **Activar** en la barra de herramientas.

Los flujos pasivos habilitados procesan el tráfico nuevo automáticamente. Deshabilita un flujo para pausarlo sin eliminarlo.

## Páginas relacionadas {#related-pages}

* [Hallazgos](./findings.md)
* [Entorno](./environment.md)
* [HTTPQL y StreamQL](../reference/httpql.md)
