> 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/componentes-de-whatsapp/pregunta-de-whatsapp.md).

# Pregunta de WhatsApp

### Visión General

El **Componente de Pregunta de WhatsApp** es un nodo de acción enfocado en la recopilación de datos, el filtrado y la construcción de diálogos estructurados. Su función principal es enviar una pregunta directamente al cliente y esperar una respuesta en tiempo real. El flujo de automatización entra en estado de espera (*standby*) en este componente hasta que el usuario responda con un dato válido, permitiendo almacenar la respuesta proporcionada y ramificar el árbol de automatización de acuerdo con la elección o el contenido escrito.

### Parámetros de Configuración

La parametrización del componente define la estructura de visualización de la pregunta y las reglas de almacenamiento de datos:

* **Tipo:** Determina la mecánica de interacción de la pregunta enviada:
  * `Texto`: Envía un mensaje de texto simple y espera una respuesta escrita manualmente por el cliente.<br>
  * `Interactive`: Envía formatos nativos de botones o listas interactivas de la API de WhatsApp.<br>
* \_*Mensaje (* Campo obligatorio):\_\* El contenido o enunciado de la pregunta que se mostrará al cliente.<br>
* **Posee variable (clave de alternancia - Toggle Switch):** Cuando se activa, habilita el almacenamiento de la respuesta. Puede operar en modo *Fixed* (variable estática de la plataforma) o *Expression* (expresión dinámica).<br>
* \_*Variable (* Obligatorio si está activo):\_\* Define el nombre del contenedor interno (ej: `response`) que recibirá el valor de la respuesta.<br>
* **Destino de la respuesta:** Permite mapear y guardar el dato recibido directamente en campos nativos o personalizados del contacto, como `Nombre`, `Correo electrónico`, `Dirección`, `NPS`, `CSAT` o un `custom_field` (campo personalizado).<br>
* **Omitir si el objetivo se cumple (clave de alternancia - Toggle Switch):** Si el contacto ya tiene el campo destino completado previamente en su perfil, el componente omite la pregunta automáticamente y avanza al siguiente nodo sin molestar al usuario.<br>
* **Aceptar respuesta:** Filtro de validación de datos que establece qué es una respuesta válida. Para preguntas del tipo *Texto*, restringe la entrada a formatos como: `Texto`, `Número`, `Número de teléfono`, `Correo electrónico`, `Ubicación` o `Audio`. Si el usuario envía algo fuera del formato (ej.: enviar una imagen cuando se espera un correo electrónico), el sistema rechaza y repite la pregunta.<br>

### Constructor Visual

La interfaz del constructor se adapta y expande dinámicamente según las propiedades seleccionadas en el campo *Tipo*:

#### Configuración para el tipo `Interactive`

Al cambiar el tipo a interactivo, el componente muestra el campo **Tipo de respuesta** para definir el diseño de los botones:

* **Opción Botones (Quick Replies):** Permite construir botones de respuesta rápida que aparecen debajo del mensaje. La interfaz limita la creación a **como máximo 3 botones**.<br>
* **Opción Lista (List Messages):** Transforma la interacción en un menú de opciones limpio. Al seleccionar esta modalidad, el formulario visual se expande y exige los siguientes campos obligatorios:
  * `Botón para abrir lista *`: El texto que aparecerá en el botón principal de clic (ej.: "Seleccionar").<br>
  * `Título de la sección *`: El encabezado de la ventana que agrupa los elementos.<br>
  * `Lista`: Bloque repetidor donde el administrador usa el botón **+ Agregar elemento** para incluir las opciones nominales de elección (*Botón*) y textos de apoyo (*Descripción*). La interfaz limita la creación a **como máximo 10 elementos de lista**.<br>
* **Múltiples salidas:** Clave de alternancia que, si se activa, genera un puerto físico de salida en el editor gráfico para cada botón o elemento de lista creado, permitiendo dibujar caminos totalmente personalizados para cada respuesta del usuario.<br>

### Operadores especiales

Las propiedades lógicas de este componente manejan la validación de tipos de datos (*validación de datos*) y gestión de estado de inputs:

* **Validador de Regex y tipos nativos:** Cuando se configura para aceptar solo `Correo electrónico` o `Número de teléfono`, el componente ejecuta un script de validación sintáctica sobre la respuesta del cliente. Si la validación falla, el motor bloquea el avance del flujo y repite el mensaje de la pregunta.<br>
* **Mapeo de metadatos interactivos:** En preguntas del tipo `Interactive` estructuradas como lista, el campo *Aceptar respuesta* cambia su alcance predeterminado al modo `Datos válidos`. El sistema valida si el texto pulsado corresponde exactamente a uno de los IDs estructurados en la lista del constructor, ignorando textos aleatorios escritos por el usuario durante esa etapa del menú.<br>

### Ejemplos Prácticos

La tabla a continuación muestra escenarios clásicos de aplicación de este componente para guiar interacciones inteligentes vía WhatsApp:

| **Tipo seleccionado**     | **Configuración del constructor**                                                                                                                       | **Destino de la respuesta / variable**                                                                                                 | **Caso de Uso Práctico**                                                                                                                                 |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Texto`                   | <p><strong>Mensaje:</strong> "¿Cuál es tu correo electrónico?"<br><br><br><br><strong>Aceptar respuesta:</strong> <code>Correo electrónico</code></p>   | <p><strong>Destino:</strong> <code>Correo electrónico</code><br><br><br><br><strong>Variable:</strong> <code>email\_cliente</code></p> | Capturar y validar el correo electrónico del cliente. Si escribe algo sin `@`, el sistema repite la pregunta hasta recibir un correo electrónico válido. |
| `Interactive` *(Botones)* | <p><strong>Mensaje:</strong> "¿Ya eres cliente?"<br><br><br><br><strong>Botones:</strong> \[Sí] , \[No]</p>                                             | <p><strong>Variable:</strong> <code>ja\_e\_cliente</code><br><br><br><br><strong>Múltiples salidas:</strong> Activado</p>              | Crear un menú de filtrado inicial rápido con 2 botones, ramificando el flujo hacia diferentes caminos según el clic del usuario.                         |
| `Interactive` *(Lista)*   | <p><strong>Mensaje:</strong> "Elige una opción de servicio"<br><br><br><br><strong>Elementos (Máx. 10):</strong> \[Soporte], \[Ventas], \[Finanzas]</p> | <p><strong>Destino:</strong> <code>custom\_field</code><br><br><br><br><strong>Múltiples salidas:</strong> Activado</p>                | Presentar un menú de opciones robusto en formato de lista (Menú de opciones) para dirigir al cliente a los departamentos correctos de la empresa.        |


---

# 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/componentes-de-whatsapp/pregunta-de-whatsapp.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.
