> For the complete documentation index, see [llms.txt](https://docs.hablla.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hablla.com/hablla-docs-es/flujos-de-automatizacion/todos-los-componentes/otros/definir-variables-globales.md).

# Definir variables globales

### Visión General

El **Componente de Definición de Variables Globales** (identificado internamente en el sistema como `set_global_vars`) es un nodo utilitario enfocado en persistencia de datos y gestión de estado (*gestión de estado*). Su función principal es crear o reasignar claves de memoria personalizadas que quedan disponibles para lectura en cualquier etapa posterior del flujo de automatización, independientemente del canal o de la profundidad de las ramificaciones. Actúa como el repositorio centralizado de datos dinámicos del contacto durante la ejecución del chatbot.

### Parámetros de Configuración

La parametrización del nodo opera a través de una lista dinámica de entradas clave-valor bajo la sección *Variables \**:

* **Clave (Nombre de la Variable):** Campo de entrada de texto (lado izquierdo) donde el administrador define el nombre identificador de la variable (ej: `id_person`, `name`, `phone`). No debe contener espacios ni caracteres especiales.<br>
* **Valor:** Campo de entrada de texto (lado derecho) que define el contenido almacenado en la respectiva clave. Acepta la inserción de textos estáticos brutos (ej: `61999999999`) o referencias dinámicas interpoladas de payloads anteriores.<br>
* **Botón + Añadir elemento:** Control que inserta un nuevo par de campos en blanco (Clave y Valor) para ampliar la lista de mapeo.<br>
* **Ícono de papelera:** Botón de eliminación rápida fijado en el lado derecho de cada fila para eliminar variables obsoletas del nodo.<br>

### Constructor Visual

La interfaz del constructor fue diseñada para facilitar la organización vertical de registros y la herencia de datos:

* **Gestor de Claves en Línea:** El diseño lineal agrupa visualmente cada variable con su respectivo dato de destino, permitiendo configurar múltiples guardados estructurados dentro de un único nodo de acción.<br>
* **Mutabilidad y Reasignación:** El editor permite que el mismo nombre de clave sea utilizado en diferentes nodos de variables globales a lo largo del lienzo. Cuando el contacto pasa por un nuevo nodo que contiene una clave ya existente, el sistema realiza la **reasignación de valor**, sobrescribiendo el dato antiguo por el nuevo contenido en tiempo real.<br>

### Operadores especiales

Las propiedades lógicas de este componente gestionan la sintaxis de lectura de datos y la prevención de errores en tiempo de ejecución:

* **Notación de Lectura Global (`{{$data?.nome_variavel}}`):** Después de que el contacto pase por este componente, cualquier bloque posterior en el árbol de flujos puede leer y mostrar los valores guardados utilizando estrictamente la sintaxis de llaves dobles combinada con el operador de navegación segura, por ejemplo: `{{$data?.name}}` o `{{$data?.phone}}`.<br>
* **Operador de Navegación Segura (`?.`):** El uso del signo de interrogación seguido de punto en las expresiones de lectura garantiza que la plataforma ignore y no bloquee la ejecución del flujo en caso de que la variable consultada esté temporalmente nula o vacía.<br>
* **Resolución Síncrona de Expresiones:** En el momento en que el contacto pasa por el bloque, el motor procesa y calcula las expresiones dinámicas (como `{{$data?.manualStart_4iochbjyt...}}`), registra el resultado final en la memoria global y despacha al usuario de forma instantánea hacia la salida lineal del nodo.<br>

### Ejemplos Prácticos

La tabla de abajo muestra escenarios clásicos de cómo configurar y leer las variables globales para enriquecer la lógica de la automatización:

| **Nombre de la Variable (Clave)** | **Valor Configurado en el Nodo**   | **Sintaxis de Lectura en los Nodos Posteriores** | **Caso de Uso Práctico**                                                                                                                                                                               |
| --------------------------------- | ---------------------------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `name`                            | `{{$data?.manualStart_4iochbjyt}}` | `{{$data?.name}}`                                | Capturar el nombre escrito en un formulario de entrada manual y guardarlo globalmente para saludar al usuario en mensajes futuros.                                                                     |
| `phone`                           | `61999999999`                      | `{{$data?.phone}}`                               | Fijar un número de teléfono estático de contingencia al inicio del flujo para reenviar notificaciones en caso de fallo.                                                                                |
| `status_pagamento`                | `Aprobado` *(Reasignación)*        | `{{$data?.status_pagamento}}`                    | Un nodo al inicio define la variable como "Pendiente". Después de recibir el webhook de confirmación, este componente se activa y reasigna el valor a "Aprobado", alterando el comportamiento del bot. |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.hablla.com/hablla-docs-es/flujos-de-automatizacion/todos-los-componentes/otros/definir-variables-globales.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
