Paso: WhatsApp Flow

Envía un Flow de WhatsApp publicado, pasa datos iniciales y guarda las respuestas como variables.

WhatsApp Flow sirve para recopilar información estructurada dentro de WhatsApp: formularios, direcciones, pedidos, métodos de pago o datos de perfil. En un flujo de trabajo, este paso envía el Flow, espera a que el cliente lo complete y guarda sus respuestas para los pasos siguientes.

Requisitos

  • El Flow debe existir en Autochat.
  • Debe tener una revisión publicada para poder seleccionarlo en el flujo de trabajo.
  • El número de WhatsApp que envía debe estar disponible para tu organización.
  • El Flow debe estar diseñado para guardar respuestas con nombres claros.

Configuración

CampoQué haceEjemplo
Flow publicadoSelecciona la revisión que se enviará al cliente.`Solicitud de dirección`, `Datos de factura`.
Número que envíaDefine qué línea de WhatsApp enviará el Flow.Usar la línea predeterminada o una línea específica.
EncabezadoTexto opcional arriba del mensaje.`Confirmar pedido`.
Texto principalMensaje que explica por qué debe abrir el Flow.`Completa este formulario para continuar`.
Texto del botónCTA que abre el Flow.`Abrir formulario`, `Confirmar datos`.
Pie de mensajeTexto opcional al final.`Tus datos se usan para gestionar esta solicitud`.
Datos inicialesValores que el flujo de trabajo envía al Flow antes de abrirlo.`nombre` desde `${contact.name}`, `menu_slots` desde VectorPOS.
Prefijo de variablesNombre base para guardar respuestas del Flow.Con prefijo `flow`, la respuesta `direccion` queda como `${flow.direccion}`.
RamasSalidas para completado, inválido, timeout y fallo de envío.Enviar recordatorio si hay timeout o asignar a agente si falla el envío.

Datos iniciales y respuestas

Los datos iniciales sirven para abrir el Flow con información que ya conoces. Cada fila tiene un nombre dentro del Flow, un tipo y un valor que viene del flujo de trabajo. Si el Flow usa `data.nombre`, configura una fila con clave `nombre` y valor `${contact.name}`.

TipoCuándo usarloEjemplo
TextoNombres, direcciones, notas o IDs.`Ana`, `${contact.name}`.
NúmeroCantidades o montos.`3`, `${pedido.total}`.
BooleanoVerdadero/falso.`true` para mostrar una sección.
JSONListas u objetos que el Flow debe leer.Opciones dinámicas.
ImagenImágenes en base64 para componentes dinámicos.Imagen de menú.
Menu VectorPOSEstructura especial para menús de VectorPOS.Productos agrupados enviados al Flow.

Ejemplos

Recoger dirección de entrega

El cliente completa un Flow con dirección, método de pago y notas.

  1. Paso anterior: `Enviar mensaje` explicando que se pedirá la dirección.
  2. Paso: `WhatsApp Flow` con Flow publicado `Datos de entrega`.
  3. Prefijo de variables: `flow`.
  4. Paso siguiente: `VectorPOS` o `HTTP Request` usando `${flow.direccion}` y `${flow.metodo_pago}`.

Las respuestas quedan estructuradas y listas para crear un pedido o actualizar el CRM.

Menú dinámico con VectorPOS

Cargar productos de VectorPOS y mostrarlos dentro de un Flow.

  1. Paso 1: `VectorPOS` en modo productos.
  2. Paso 2: `WhatsApp Flow` con dato inicial `menu_slots`.
  3. Valor: `${vectorpos.products.flow_json}`.
  4. Tipo: `Menu VectorPOS`.
  5. Paso siguiente: guardar la selección y confirmar el pedido.

El cliente ve opciones actualizadas sin que el equipo tenga que editar el Flow manualmente cada vez.

Límites y validaciones

  • Debes seleccionar un Flow publicado y su revisión.
  • El texto principal no puede superar 1024 caracteres.
  • El texto del botón debe tener 30 caracteres o menos.
  • El prefijo de variables solo puede usar letras, números y guion bajo, y debe empezar con letra o guion bajo.
  • Las claves de datos iniciales usan el mismo formato: letras, números y guion bajo.
  • Si un dato inicial es JSON literal, debe ser JSON válido.
  • Si activas timeout o fallo de envío, conecta esas salidas en el canvas.

Buenas prácticas

  • Usa nombres de respuesta cortos y claros dentro del Flow.
  • Mantén el mensaje que abre el Flow directo y específico.
  • Prueba el Flow publicado antes de conectarlo a un flujo de trabajo activo.
  • Define un prefijo único para evitar confundir variables de varios Flows.
  • Agrega ramas para timeout y fallo si el Flow es obligatorio para continuar.