# If Else

Flowise te permite dividir tu chatflow en diferentes ramas dependiendo de una condición If/Else.

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-f1c0f754287b28b4f8dbfb37ab337c1079e4a1c9%2Fimage%20(5)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(2).png?alt=media" alt=""><figcaption></figcaption></figure>

### Variables de Entrada

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-96a22bd6bcced3f9ca915dd57c97b68f40e4661c%2Fimage%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

Como se observa en la imagen anterior, acepta cualquier nodo que tenga una salida `json`. Algunos ejemplos son: Custom Function, LLM Chain Output Prediction, Get/Set Variables.

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-2969ad4e2ea346d6cb2eb6fc86ce3e3a5687f302%2Fimage%20(2)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(2)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

Luego puedes asignar un nombre de variable:

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-7c8b4107ad9539b8821986945927724a93c02392%2Fimage%20(3)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

Esta variable puede ser utilizada en la [If Function](#if-function) y [Else Function](#else-function) con el prefijo `$`. Por ejemplo:

```
$output
```

### Nombre del If Else

Puedes nombrar el nodo para una mejor visualización de su función.

### If Function

Este es un fragmento de código JS que se ejecuta en el sandbox de Node. Debe:

* Contener la declaración `if`
* Retornar un valor dentro de la declaración `if`

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-2e75402816a4cb635d29463e13722890e3968d3c%2Fimage%20(5)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(2)%20(1).png?alt=media" alt="" width="312"><figcaption></figcaption></figure>

Esto proporciona mucha más flexibilidad a los usuarios para realizar comparaciones complejas como regex, comparación de fechas y mucho más.

### Else Function

Similar a la If Function, debe retornar un valor. Esta función solo se ejecutará si la [If Function](#if-function) no retorna un valor.

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-52dbd74e0cded1b0d83964438d06b92f068b0c9c%2Fimage%20(6)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(2)%20(1)%20(1).png?alt=media" alt="" width="317"><figcaption></figcaption></figure>

### Salida

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-f4815f46668b28eb03ef2c0753a7e99755bea108%2Fimage%20(8)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(2)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

Cuando la [If Function](#if-function) retorna exitosamente un valor, este se pasará al punto de salida **True** como se muestra arriba. Esto permite a los usuarios pasar el valor al siguiente nodo.

De lo contrario, el valor retornado por la [Else Function](#else-function) se pasará al punto de salida **False**.

Los usuarios también pueden consultar la plantilla If Else en el marketplace:

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-6cf7ae39372c918a017b95cda7fcc4de69125af0%2Fimage%20(9)%20(1)%20(1)%20(1)%20(1)%20(2)%20(1)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>
