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

# Condition

> Configura un paso del flujo de trabajo que ramifica la ejecución en una ruta TRUE o FALSE según una expresión booleana sobre las variables del flujo de trabajo

# Condition

Usa **Condition** cuando quieras que un flujo de trabajo tome una ruta diferente según el valor de la salida de un paso anterior o de una entrada inicial. El paso Condition evalúa una expresión booleana y enruta la ejecución por una rama **TRUE** o **FALSE**. Ambas ramas deben volver a unirse eventualmente en un único paso de fusión antes de que el flujo de trabajo pueda continuar.

Recurre a este paso cuando necesites lógica if/else, pasos condicionados (por ejemplo, enviar un correo solo cuando una puntuación esté por encima de un umbral) o divisiones A/B ligeras dentro de un flujo de trabajo.

## Configuración

| Opción             | Requerido | Descripción                                                                                                                                                                 |
| ------------------ | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Name               | No        | Etiqueta del paso en el lienzo del flujo de trabajo.                                                                                                                        |
| Condition          | Sí        | La expresión booleana que decide qué rama se ejecuta. Se construye en el **Condition builder** como una o más filas, opcionalmente anidadas en grupos `AND` / `OR` / `NOT`. |
| Branches rejoin at | —         | Solo lectura. Se muestra una vez que ambas ramas convergen en un paso de fusión.                                                                                            |

Agrega este paso desde el grupo **Utilities** en **Search steps...**. En el selector de pasos, la etiqueta es **Condition**.

Cuando insertas una Condition, Fetch Hive crea automáticamente una rama **TRUE** vacía y una rama **FALSE** vacía que inicialmente apuntan a cualquier paso que solía seguir el punto de inserción. Usa los controladores `+` en cada rama para agregar pasos a ese lado de la rama desde el lienzo.

### Operadores

El **Condition builder** admite estos operadores:

* Operadores de grupo: `AND`, `OR`, `NOT` — combinan varias filas o niegan una subexpresión.
* Operadores de hoja:
  * `equals`, `does not equal`
  * `>`, `>=`, `<`, `<=`
  * `contains`, `starts with`, `ends with`
  * `is one of`
  * `exists`, `is empty` — toman solo un operando izquierdo

### Operandos

Cada cláusula compara un operando **izquierdo** con un operando **derecho** (excepto `exists` y `is empty`, que solo toman un operando izquierdo).

Los operandos son:

* Una **variable del flujo de trabajo** — haz clic en **Insert Variable** para referenciar una entrada inicial (`{{variable_name}}`) o la salida de un paso anterior (`{{step_2.output.score}}`).
* Un **valor literal** — escribe directamente una cadena, número, booleano o arreglo en el campo de la derecha.

## Salida

Haz clic en **Run** en el encabezado del paso para probar la Condition. Fetch Hive muestra el resultado booleano evaluado y un seguimiento de los operandos izquierdo/derecho resueltos en **Output** después de que se complete la ejecución.

Durante una ejecución real del flujo de trabajo, solo se ejecuta una rama — la que coincide con el resultado booleano. La referencia base del paso es:

```text theme={null}
{{STEP_IDENTIFIER.output}}
```

Que se resuelve como `true` o `false` para pasos posteriores que quieran referenciar la decisión de la rama en sí.

## Ejemplo

Agrega **Condition** desde el grupo **Utilities** en **Search steps...**.

Establece **Name** en algo como `Score above threshold`.

En el **Condition builder**:

1. En el operando izquierdo, haz clic en **Insert Variable** y elige `{{step_2.output.score}}`.
2. Elige el operador `>`.
3. En el operando derecho, elige **Literal** y escribe `70`.

Haz clic en **Run** para confirmar que la expresión se evalúa como esperas con la última salida de prueba. Luego agrega el paso «enviar correo» en la rama **TRUE** del lienzo para que solo se ejecute cuando la puntuación esté por encima de 70. La rama **FALSE** puede permanecer vacía (se vuelve a unir directamente al paso de fusión) o puedes agregar una ruta alternativa.

{/* Add screenshot: Condition settings sheet with the expression builder */}

## Notas

* La expresión debe estar completa antes de guardar. Cada fila necesita un operando izquierdo y derecho (excepto `exists` / `is empty`, que solo toman un operando izquierdo).
* El evaluador es flexible con cadenas que parecen numéricas — comparar `"70"` con `70` funciona como esperarías.
* Una Condition solo se puede eliminar cuando ambas ramas están vacías. Eliminar una Condition cascadea la eliminación de cada paso dentro de las ramas TRUE y FALSE, así que limpia las ramas primero si quieres conservar esos pasos.
* Ambas ramas deben converger en un único paso de fusión para que el flujo de trabajo sea válido. Fetch Hive muestra una advertencia si las ramas no se vuelven a unir.
* Las Conditions aún no se pueden anidar dentro de la rama de otra Condition.

Consulta también: [Creación y edición](../../creating-and-editing), [Pruebas e iteración](../../testing-and-iteration) y [Manejo de errores](../../error-handling)
