---
title: Si
description: "##### **Descripción General** ¿Quieres que tu robot digital tome decisiones inteligentes? Con el comando \"Si\", puedes crear flujos de trabajo que se adapten a diferentes situaciones. Imagina que tienes un robot que clasifica correos electrónicos. Puedes usar \"Si\" para que…"
url: "https://www.stela.ai/wiki/si/"
updated: "2025-10-16"
category: Comandos de Decisiones
---

# Si

##### **Descripción General**

¿Quieres que tu robot digital tome decisiones inteligentes? Con el comando "Si", puedes crear flujos de trabajo que se adapten a diferentes situaciones. Imagina que tienes un robot que clasifica correos electrónicos. Puedes usar "Si" para que el robot envíe un correo a una carpeta específica si contiene una palabra clave determinada.

##### **Ejemplo de Uso Rápido**

Supongamos que requieres programar un flujo de trabajo para priorizar las oportunidades más valiosas. El sistema puede automatizarse para que, si el Valor Total supera los $10.000, entonces desencadene varias acciones críticas: notificar de forma inmediata y automática al Vicepresidente de Ventas, y al mismo tiempo, cambiar el estado del negocio a "Requiere Aprobación Ejecutiva" para asegurar que se aplique la gestión de riesgo y se brinde la atención adecuada a esta oportunidad de alto impacto.

##### Parámetros y Opciones

- **Valor 1 y Valor 2:** Los valores que deseas comparar (pueden ser números o texto). Estos valores pueden ser constantes o variables que contienen datos obtenidos previamente, como el resultado calculado o arrojado por otro comando dentro del flujo de trabajo.
- **Tipo de comparación:** Puedes elegir entre igual, distinto, mayor, menor, mayor o igual, y menor o igual.
- **Expresiones regulares:** Si quieres hacer comparaciones más complejas, puedes usar expresiones regulares en el Valor 2.
- **Vincular OVC:** Conecta el valor 1 o 2 a una variable o constante para hacer comparaciones dinámicas.

![SI](https://www.stela.ai/wp-content/uploads/2022/04/image-13.webp)

##### **Ejemplos de Uso Avanzado**

- **Clasificación de datos:** Clasifica automáticamente datos en diferentes categorías basadas en condiciones.
- **Personalización de respuestas:** Crea respuestas personalizadas en un chatbot en función de las entradas del usuario.
- **Gestión de errores:** Detecta errores en tus flujos de trabajo y toma acciones correctivas.
- **Igual (=):** Cuando una aplicación web realiza una solicitud a un servidor (por ejemplo, para cargar el historial de transacciones), la respuesta no es instantánea. El frontend (lo que el usuario ve) debe estar programado para reaccionar de manera diferente a cada posible **estado de la respuesta** que envía el backend (el servidor). El código en el navegador revisa continuamente el `estado_respuesta` para decidir qué interfaz mostrar al usuario.
  - **Comprobar Éxito (`if = "SUCCESS"`):** Si (estado_respuesta = "SUCCESS") Entonces
    - **Acción:** Ocultar el indicador de carga. Ejecutar la función `renderizar_tabla(datos_recibidos)`. (Muestra la lista de transacciones).
  - **Comprobar Carga (`SINO SI = "LOADING"`):** Sino Si (estado_respuesta == "LOADING") Entonces
    - **Acción:** Mantener la interfaz de usuario en modo de espera. Mostrar un **spinner animado** o un mensaje de "Cargando datos..."
  - **Comprobar Falta de Datos (`SINO SI = "NO_DATA"`)** Sino Si (estado_respuesta == "NO_DATA") Entonces
    - **Acción:** Ocultar el spinner. Mostrar un mensaje amigable: "No encontramos transacciones en este período. Intenta con otra fecha."
- **Distinto (<>):** En cualquier formulario web (registro, pago, solicitud de contacto), ciertos campos no pueden dejarse vacíos. Usamos `if <>` para garantizar que el usuario ingrese algo antes de permitirle avanzar.
  - El usuario intenta enviar un formulario (ej. para abrir una cuenta bancaria).
  - Antes de enviar los datos al servidor, el código del navegador verifica que el campo del nombre (`nombre_ingresado`) **no sea igual** a una cadena vacía (`""`).
  - Si el campo **es distinto** de vacío, se continúa el proceso. Si **es igual** a vacío, se detiene el envío y se muestra un error.
- **Menor (<):** En una tienda en línea, el costo del envío a menudo depende de si el valor total del carrito de compras es **menor que** un umbral específico. Antes de finalizar la compra, el sistema necesita comprobar el `total_carrito` para decidir si aplica el costo de envío estándar o el envío gratuito.
  - **Si es Verdadero**(es menor)**:** Sumar el `costo_envio_estandar` al total final. Mostrar en pantalla: "Añade $5.00 más para obtener **envío gratis**."
  - **SINO**(es igual o mayor)**:** Indicar el costo de envío en cero (`0.00`). Mostrar en pantalla: "**¡Envío Gratuito Aplicado!**"
- **Menor igual (<=):** En un sistema de gestión web que monitorea el número de tareas activas (`threads`) en un servidor. Para prevenir la saturación (colapso), el sistema debe ejecutar una acción (como redirigir tráfico o emitir una alerta) *solo si* el número de tareas activas está dentro de un rango seguro o bajo un límite de rendimiento.
  - **Si es Verdadero**(es más rápido o igual al umbral)**:** Registrar la tarea como **exitosa**y dentro de los límites de rendimiento (SLA). No se requiere acción. Mensaje al Administrador: "Tarea completada en 2.5s. Rendimiento **Aceptable**."
  - **SINO**(es mayor que el umbral, ej. 3.1s)**:** El rendimiento falló. Se activa una **alerta** y un proceso de **escalamiento** (ej., iniciar un nuevo servidor o liberar memoria).
- **Mayor(> ):** Se tiene un sistema de atención al cliente que utiliza una puntuación de **Score** basada en la inteligencia artificial (IA) para clasificar la urgencia de las quejas o comentarios de los clientes en tiempo real. Si la puntuación de sentimiento negativo **supera** un umbral, se requiere una acción inmediata. El sistema debe verificar si esta puntuación es lo suficientemente alta como para calificar como una queja crítica.
  - **Si es Verdadero**(es mayor)**:** Escalar la queja inmediatamente. Asignar automáticamente el ticket a un gerente de nivel superior, cambiar su prioridad a "URGENTE" y enviar una notificación por SMS a un equipo de respuesta rápida.
  - **SINO**(es igual o menor)**:** Asignar el ticket a un agente de soporte estándar con prioridad normal.
- **Mayor o igual (>=):** En un sistema de aprendizaje en línea (LMS) o una plataforma de gestión de capacitación corporativa, el acceso a los módulos avanzados o a un examen final solo se debe otorgar si el usuario ha completado un porcentaje suficiente del contenido anterior.
  - **Si es Verdadero**(es mayor o igual)**:** Desbloquear la función. Mostrar el botón "Iniciar Examen Final" de forma interactiva (en lugar de atenuado). Mensaje al Usuario: " ¡Felicidades! Has completado el 80% del curso. El examen final está disponible."
  - **SINO** (es menor)**:** Mantener el acceso bloqueado. Mensaje al Usuario: " Progreso insuficiente (80%). Debes alcanzar el 75% para desbloquear el examen."

##### **Errores Comunes y Soluciones**

- **Sintaxis incorrecta:** Asegúrate de escribir correctamente los nombres de los parámetros y utilizar los operadores de comparación adecuados.
- **Tipos de datos incompatibles:** Compara valores del mismo tipo (por ejemplo, números con números, texto con texto).
- **Expresiones regulares incorrectas:** Verifica que la sintaxis de tu expresión regular sea correcta.

##### **Casos de Uso**

- **Automatización de tareas repetitivas:** Simplifica tareas tediosas que requieren tomar decisiones.
- **Creación de chatbots inteligentes:** Desarrolla chatbots que pueden mantener conversaciones más naturales.
- **Análisis de datos:** Extraer información valiosa de grandes conjuntos de datos.
