*Workflows › Construir*

# Condiciones y operadores

> Una condición compara una variable con un valor. El paso Condición lleva el run por uno de dos caminos; el paso Switch elige el primero de varios.

## Una condición es una sola comparación

Una condición tiene tres partes: una variable, un operador y un valor. Nada más. No hay y/o, ni agrupación, ni anidamiento, ni variable en el lado derecho, ni función en ninguno de los dos lados.

- El valor de la derecha es un literal: un verdadero/falso, un número, una fecha o un texto. Un texto puede mencionar variables, así que "Order {order number}" funciona como texto.
- Para combinar pruebas, anida condiciones (una condición dentro del carril Entonces de otra es un AND; un switch con varias ramas que hacen lo mismo es un OR), o calcula un verdadero/falso con funciones en un paso Definir variable y compara eso.
- La misma condición de una sola comparación se usa en el paso Condición, en cada rama de un Switch, en el Bucle, en los filtros de lista y en el filtro "Solo cuando" de un trigger de evento.

## Operadores

Los operadores que se ofrecen dependen del tipo de la variable que elijas. La página de referencia de cada tipo lista sus operadores: [texto](https://docs.filmo.io/es/workflows/reference/types/string#operators), [number](https://docs.filmo.io/es/workflows/reference/types/number#operators), [fecha](https://docs.filmo.io/es/workflows/reference/types/date#operators), [true/false](https://docs.filmo.io/es/workflows/reference/types/boolean#operators), [enumeración](https://docs.filmo.io/es/workflows/reference/types/enum#operators), [lista](https://docs.filmo.io/es/workflows/reference/types/list#operators) y los tipos estructurados ([registro](https://docs.filmo.io/es/workflows/reference/types/record#operators), [estructura](https://docs.filmo.io/es/workflows/reference/types/shape#operators), [tupla](https://docs.filmo.io/es/workflows/reference/types/tuple#operators) y [archivo](https://docs.filmo.io/es/workflows/reference/types/file#operators), que solo se pueden comparar por igualdad). Mientras no se elige ninguna variable, se ofrecen todos los operadores. Los dos operadores de lista, "tiene al menos un elemento" y "está vacía", no llevan valor; las fechas ofrecen "es posterior a" y "es anterior a" donde los demás dicen mayor y menor.

### Las comparaciones de texto son exactas

`contains`, `starts with` y `ends with` distinguen mayúsculas de minúsculas: "Invoice" no contiene "invoice". La igualdad en texto también es exacta.

### Fechas

Las fechas se comparan como texto en formato ISO, así que ambos lados deben tener la misma forma: una fecha (`2026-09-04`) contra una fecha, un instante (`2026-09-04T10:30:00.000Z`) contra un instante. Una fecha contra un instante da una respuesta errónea sin ningún error. El editor ofrece el valor con la misma forma que la variable.

## El paso Condición

Tiene dos carriles, «Entonces» y «Si no». La condición es verdadera: los pasos de «Entonces» ejecución. En caso contrario, los pasos de «Si no» ejecución. El «Si no» carril puede estar vacío, lo que significa "no hacer nada". Tras el carril, la ejecución continúa con el paso que sigue a la condición.

## El paso Switch

- Un switch tiene cualquier número de ramas («Rama»), cada una con su propia condición y sus pasos, y una «Por defecto» lane.
- Las ramas se prueban en orden y gana la primera que es cierta; el resto ni siquiera se evalúa. Si ninguna es cierta, se ejecuta el carril por defecto.
- Una rama no puede coincidir con varios valores. Para decir "open, waiting or repairing", añade una rama por valor con los mismos pasos. Las plantillas lo hacen así.
- Un Switch añadido por su cuenta nace sin ramas; el que viene emparejado con un clasificador de IA nace con una rama por categoría. Cambiar después las categorías de un clasificador de IA no reconstruye las ramas: una etiqueta que no tiene rama cae en la vía por defecto.

## Valores ausentes

Una condición sobre una variable que no existe en este run (por ejemplo, una creada en una rama que no se ejecutó) se comporta de una manera que conviene conocer:

| Condición | Falta la variable |
| --- | --- |
| es igual a | False |
| es distinto de | True |
| tiene algún elemento / está vacía / contiene / empieza por / termina por | El paso falla con "the expression could not be evaluated" |
| Aún no has elegido ninguna variable | False, sin evaluar; la ejecución toma la rama Si no. Puede que el editor no lo señale como campo obligatorio que falta, así que puede pasar inadvertido. |

> **true o false estrictos:** Una condición que no se puede evaluar no va por el carril Si no: hace fallar el paso y, con él, el run. Solo una comparación que se evalúa como false toma Si no.

## Ejemplo

*Un presupuesto que sigue pendiente*

```text
Condition: Quote status  is equal to  pending
  Then:  Ask the AI for the customer's history
         Create a task for the salesperson
  Else:  (nothing)
```

Un workflow completo construido con este patrón: [Avisar a ventas cuando un presupuesto se ve y no se firma](https://docs.filmo.io/es/workflows/guides/quote-viewed-no-signature).

---

URL canónica: https://docs.filmo.io/es/workflows/conditions  
Última actualización: 2026-10-09