Saltar al contenido
Chatbots de WhatsApp desde cero
Temario Ir al ejercicio →

Diseñar la conversación antes de programar

  • ⏱ 55 minutos
  • 📶 Nivel: básico
  • 🧩 Incluye ejercicio

💡 🎯 Al terminar esta lección podrás…

  • Definir los casos de uso de un bot y separar lo que debe hacer de lo que no debe hacer.
  • Elegir un tono y escribir mensajes de bienvenida, de error y de «no entendí» coherentes.
  • Dibujar un flujo de conversación y convertirlo en un mapa de estados en tabla.
  • Respetar los límites de botones y listas de WhatsApp y decidir cuándo usar cada formato.
  • Diseñar el traspaso a una persona (handoff) y adaptar el diseño a otros negocios.

1.Por qué se diseña antes de programar

La tentación al empezar es abrir el editor y escribir if (texto === "hola"). Funciona los primeros diez minutos; luego aparece el cliente que escribe «buenas, quiero 3 panes y una gaseosa, ¿hacen delivery?» y el código se vuelve un enredo de condiciones.

Un bot es una conversación guiada, y las conversaciones se diseñan igual que una pantalla: primero en papel. Diseñar antes te ahorra reescribir porque respondes preguntas que, si no, te hace el código a las 11 de la noche:

En esta lección no escribirás un bot, sino el plano de uno. En la lección 4 lo convertirás en código, y en la lección 5 el mapa de estados que dibujes aquí se vuelve una estructura de datos.

2.Casos de uso: qué debe y qué NO debe hacer

Un caso de uso es una tarea concreta que el cliente quiere cumplir. Para el minimarket, los más frecuentes son:

Caso de uso ¿Lo automatiza el bot? Por qué
Preguntar horario y dirección Sí Es siempre la misma respuesta; ahorra decenas de mensajes.
Ver el catálogo y los precios Sí Son datos que tú controlas.
Armar un pedido y confirmarlo Sí Es el flujo que genera ventas.
Preguntar por el estado de un pedido Sí (con datos) Se consulta en tu sistema.
Un reclamo por un producto en mal estado No: a una persona Requiere empatía y decisiones.
Negociar un precio por volumen No: a una persona Hay excepciones y criterio comercial.
Dar consejos de salud o legales No El bot no debe aconsejar donde no tiene autoridad.

La regla práctica: automatiza lo repetitivo y predecible; entrega a una persona lo delicado, lo excepcional y lo emocional. Un bot que intenta hacerlo todo falla en lo difícil y arruina la imagen del negocio.

Escribe, antes de seguir, dos listas cortas. Para el minimarket:

⚠️ Importante · Qué no debe pedir nunca el bot

No pidas contraseñas, números completos de tarjeta, claves de banca móvil ni códigos de verificación por WhatsApp. Si necesitas un pago, el bot comparte los datos de pago del negocio o un enlace de una pasarela; nunca recoge datos sensibles en el chat. Lo retomamos en la lección 24.

3.El tono del bot

El tono es cómo «suena» el bot. Es una decisión de marca y se toma una vez para todos los mensajes:

Compara dos versiones del mismo mensaje:

🧪 Ejemplo · Mal tono y buen tono

Mal: «ERROR: OPCIÓN NO VÁLIDA. Vuelva a intentarlo.» Bien: «No entendí esa opción. Puedes escribir 1 para el catálogo, 2 para hacer un pedido o 3 para el horario.»

El primero acusa al cliente y no dice cómo seguir; el segundo asume que fue un malentendido y da una salida.

4.Un flujo de conversación

Un flujo es el camino que sigue la conversación, de la bienvenida al final. Antes de programarlo, dibújalo. Este es el flujo principal del minimarket:

Bienvenidasaluda y ofrece menú
→elige "pedido"
Elegir productoscatálogo y cantidades
→confirma
Datos de entregadirección y forma de pago
→acepta resumen
Pedido registradonúmero y tiempo estimado

Y este es el flujo de los casos informativos, mucho más corto:

Bienvenidamenú
→elige "horario"
Respuesta fijahorario y dirección
→el cliente escribe de nuevo
Bienvenidamenú

Fíjate en que todo flujo vuelve al menú o a un final claro. Una conversación sin salida es una de las quejas más comunes: el cliente queda escribiendo a un bot que ya no sabe qué hacer.

5.Del flujo al mapa de estados

Un flujo dibujado es fácil de entender; para programarlo conviene pasarlo a una tabla de estados. Un estado es «en qué punto de la conversación está este cliente ahora». Por cada estado anotas qué dice el bot, qué acepta como entrada y a qué estado pasa:

Estado El bot dice Entradas aceptadas Siguiente estado
inicio Saludo y menú de 3 opciones pedido, horario, ayuda eligiendo, inicio, humano
eligiendo Catálogo y pregunta «¿qué quieres?» nombre de producto y cantidad, «listo», «cancelar» eligiendo, entrega, inicio
entrega Pide la dirección y la forma de pago texto libre confirmando
confirmando Resumen con total y botones Confirmar / Cambiar confirmar, cambiar final, eligiendo
final Número de pedido y tiempo estimado cualquier mensaje inicio
humano «Te paso con una persona» cualquier mensaje (lo atiende alguien) inicio (cuando se cierra el caso)

Esta tabla es la columna vertebral del bot. Cuando algo falle, preguntarás: «¿en qué estado estaba el cliente y qué entrada recibió?». La lección 5 la traduce a código.

💡 Dibuja los caminos tristes

Para cada estado pregunta: ¿qué pasa si el cliente escribe algo inesperado? ¿si cancela? ¿si desaparece en medio del pedido? Los «caminos tristes» son donde un bot se gana o pierde la confianza del cliente.

6.Botones, listas y texto: qué formato usar

WhatsApp permite mensajes de texto libre y mensajes interactivos, que facilitan la respuesta del cliente porque tocan en lugar de teclear. Los dos que usarás son:

Los límites son estrictos. Si los superas, la API rechaza el mensaje y el cliente no recibe nada. Estas son las cifras que figuran hoy en la documentación oficial de Meta:

Elemento Botones de respuesta Lista
Cantidad máxima 3 botones 10 filas en total (hasta 10 secciones)
Título del botón / de la fila 20 caracteres 24 caracteres
Descripción de la fila no aplica 72 caracteres (opcional)
Texto del botón que abre la lista no aplica 20 caracteres
Identificador (id) 256 caracteres 200 caracteres
Texto del cuerpo 1024 caracteres 4096 caracteres
Pie (footer) 60 caracteres 60 caracteres
Encabezado de texto revisa la documentación 60 caracteres

⚠️ Importante · Verifica este dato

Estas cifras se tomaron de la documentación oficial de Meta (botones de respuesta y mensajes de lista) y pueden cambiar. El límite del encabezado de texto de los botones no aparece indicado en esa página: consúltalo antes de usarlo. Guarda siempre los límites en constantes de tu código, no repartidos por todos los mensajes.

La decisión es mecánica:

Si el cliente debe elegir entre… Usa
1 a 3 opciones cortas Botones
4 a 10 opciones Lista
Más de 10 opciones, o un dato libre (cantidad, dirección) Texto, o filtra por pasos (primero categoría, luego producto)

Y un detalle de ingeniería importante: no todos los clientes ven los mensajes interactivos igual (versiones antiguas de la app, otras plataformas). Un bot robusto siempre puede degradarse a una versión de texto numerada («Responde 1 para…, 2 para…»). En el ejercicio escribirás la función que genera ese texto, junto con las que validan botones y listas antes de enviarlos. Un título de 25 caracteres no debe llegar a Meta: lo recortas tú, con criterio, antes.

Texto
Ejemplo de menú de respaldo:
1. Ver catálogo
2. Hacer un pedido
3. Horario y dirección

7.Mensajes de error y de «no entendí»

Tu bot se va a equivocar y los clientes van a escribir cosas imprevistas. Lo que diferencia a un bot bueno de uno frustrante es cómo maneja ese momento. Estas son las pautas:

  1. No culpes al cliente. «No entendí» (el bot es quien no entendió), no «escribiste mal».
  2. Di cómo seguir. Ofrece las opciones disponibles, no solo el fallo.
  3. Varía el mensaje la segunda vez. Si el cliente falla dos veces, repetir exactamente lo mismo desespera. Cambia el enfoque: «Parece que no estoy ayudando. ¿Quieres hablar con una persona?».
  4. Cuenta los fallos seguidos. Dos o tres «no entendí» consecutivos es la señal para ofrecer una persona.
  5. Que el error nunca deje la conversación muerta. Todo mensaje de error termina en una opción.

Una escalera de respuestas típica:

Fallo consecutivo Respuesta del bot
1.º «No entendí tu mensaje. Puedes escribir catálogo, pedido u horario.»
2.º «Sigo sin entender. Elige una opción: 1. Catálogo 2. Pedido 3. Horario.»
3.º «Parece que no logro ayudarte. ¿Te paso con una persona del minimarket?»

También hay errores propios: el servidor se cae, la base de datos no responde. Al cliente no le muestres jamás un error técnico; dile algo como «Tuve un problema para procesar tu mensaje. Inténtalo en unos minutos o escribe persona para que te atienda alguien». Esto se retoma en la lección 23.

8.El traspaso a una persona (handoff)

El handoff es el momento en que el bot deja de contestar y una persona del negocio toma la conversación. Es parte del diseño, no un parche. Diseña tres cosas:

Botconversación normal
→pide una persona, o falla 3 veces
Estado humanoel bot se calla
→alguien responde
Personaatiende al cliente
→cierra el caso
Botvuelve a atender

Un detalle crítico: mientras el estado es humano, el bot no debe responder a los mensajes del cliente; de lo contrario el bot y la persona hablarían a la vez. Y fuera del horario de atención, el mensaje debe ser honesto: «Nuestro equipo atiende de 8:00 a 21:00. Te escribiremos mañana a primera hora». En la lección 25 lo construirás completo.

9.El mismo diseño sirve para cualquier negocio

Todo lo anterior aplica a cualquier negocio con clientes que preguntan lo mismo cien veces. Esta tabla muestra cómo se ve el diseño en otros rubros. Fíjate en que cambian los datos y los flujos, pero la estructura (menú, flujo principal, información fija, handoff) es la misma:

Negocio Flujo principal del bot Información fija Pasa a una persona cuando…
Ferretería Consultar si hay un producto y su precio; reservar para recoger Horario, dirección, marcas disponibles Piden cotización de obra grande o asesoría técnica
Taller mecánico Pedir cita para revisión o mantenimiento; ver estado del vehículo Servicios, horario, ubicación Diagnóstico de una falla o un presupuesto de reparación
Academia Consultar cursos, horarios y matrícula; reservar una clase de prueba Cursos, precios, sedes Dudas de pago, becas o cambios de grupo
Restaurante Ver la carta, pedir para recoger o delivery; reservar mesa Carta, horario, zona de delivery Alergias, eventos grandes o un reclamo
Peluquería Reservar cita por servicio y estilista; reprogramar Servicios, precios, horario Un servicio especial (novias, color complicado)
Tienda de ropa Ver novedades por categoría; consultar talla y stock; reservar Tallas, cambios, formas de envío Cambios, devoluciones o pedidos al por mayor

Cuando un cliente te pida un bot, esta tabla es el comienzo de la conversación: «¿cuáles son las 10 preguntas que más te hacen?». Ahí está el 80 % del diseño. La lección 26 retoma esto desde el lado comercial.

10.Errores frecuentes

11.Apuntes para llevar

12.Glosario

Término Significado
Caso de uso Tarea concreta que el cliente quiere cumplir con el bot.
Flujo Camino que sigue una conversación, de la bienvenida al final.
Estado Punto de la conversación en el que se encuentra un cliente.
Mensaje interactivo Mensaje con botones o lista para que el cliente toque en vez de escribir.
Botón de respuesta Botón bajo un mensaje; hasta 3 por mensaje.
Lista Menú desplegable con filas agrupables en secciones.
Handoff Traspaso de la conversación del bot a una persona.
Degradación Usar una versión más simple (texto numerado) cuando no se puede mostrar la ideal.

🧠 Comprueba lo aprendido

Elige una respuesta en cada pregunta. Verás al instante si acertaste y por qué.

¿Cuál de estos casos conviene pasar a una persona en lugar de automatizarlo?

¿Qué es un estado en el diseño de un bot?

Quieres que el cliente elija entre 7 categorías de productos. ¿Qué formato corresponde según los límites actuales?

¿Qué debes hacer cuando el cliente falla tres veces seguidas?

Mientras el estado de una conversación es «humano», ¿cómo debe comportarse el bot?

📚 Para profundizar (fuentes oficiales)

Este material lo hace un estudiante con ayuda de IA: ante cualquier duda, manda la documentación oficial.

Tu progreso se guarda en este navegador y se refleja en el índice del curso.

💡 🚀 ¡Ahora te toca!

La práctica fija lo aprendido. Pasa al ejercicio de esta lección.

Ir al ejercicio