Chatwoot con WhatsApp por QR: la historia de WayaDe QR Búho a Waya.

Waya empezó como QR Búho: escaneabas un código y tu WhatsApp quedaba disponible como API para cualquier sistema. Los clientes pedían funciones que el QR no tenía, así que partimos de Chatwoot y escribimos lo que faltaba. Esta página cuenta qué incorporamos, con capturas de la aplicación real.

3
Canales propios: dos de WhatsApp por QR y uno de SMS
+80
Funciones activables por cuenta
Chatwoot
El núcleo abierto del que partimos
El menú lateral de Waya con los módulos señalados que Chatwoot no trae: Marcados, Asistente IA y Kanban
Señalado, lo que no existe en Chatwoot: Marcados, Asistente IA, Kanban y las campañas por QR y por SMS.
En operaciones desde 2012 Construida sobre Chatwoot, código abierto WhatsApp por QR con Evolution API y WAHA SMS desde teléfonos Android propios Capturas de la aplicación, con datos de demostración
La historia

Cómo QR Búho se convirtió en Waya.

Fuimos sumando, una por una, las funciones que pedían los clientes de QR Búho.

Un QR que dejaba WhatsApp como API

Con QR Búho escaneabas un código y tu número quedaba conectado a Fastura, a tu ERP o a tu web para enviar comprobantes y avisos, sin cuenta de Meta Business ni plantillas aprobadas.

Lo que pedían los clientes

Que varias personas respondieran desde el mismo número, que Instagram y el correo entraran a la misma cola, que las campañas no pusieran en riesgo el número y que un cliente sin respuesta no se perdiera.

Partimos de Chatwoot

Chatwoot es una plataforma de código abierto para atender clientes, con bandeja compartida, canales, automatizaciones e informes. Usamos esa base probada para no escribir una bandeja desde cero.

Escribimos lo que faltaba

Sumamos los canales por QR, los SMS desde Android, las campañas segmentadas, el evento de espera, los flujos en árbol, el kanban, la ficha de WHMCS y la consola para revender, y al conjunto lo llamamos Waya.

Módulos añadidos a Chatwoot, por familias.

Cada paso muestra la pantalla real. Pulsa uno para ver su captura.

WhatsApp sin cuenta de Meta, y SMS desde tu propio teléfono.

Tres canales que Chatwoot no trae, más mejoras al canal oficial de WhatsApp.

Asistente de creación de bandejas con los tres canales propios señalados: BuhoText SMS, Evolution API y WAHA
Los tres canales propios, junto a los de Chatwoot: BuhoText SMS, Evolution API y WAHA.
Evolution API

Conectas un WhatsApp escaneando un QR

Evolution API aparece como un proveedor más al crear una bandeja, junto a WAHA y BuhoText. No necesitas cuenta de Meta Business, verificación de empresa ni plantillas aprobadas. El número queda operativo en minutos y las conversaciones entran a la bandeja como las de cualquier otro canal.

Asistente de creación de bandejas con los tres canales propios señalados: BuhoText SMS, Evolution API y WAHA
Alta en un paso

Solo pide el número; el resto lo arma Waya

La primera versión pedía nombre de instancia, URL del servidor, clave de API y webhook. Hoy el formulario pide el número con código de país: Waya crea la instancia, genera el webhook y muestra el QR. Al conectar eliges qué importar: contactos, historial y cuántos días atrás.

Formulario del canal Evolution API con el selector de país y el campo del número de teléfono
Viene de QR Búho

Adoptas la instancia que ya usa tu facturador

Si tu número ya está conectado en Fastura o en otro sistema, no vuelves a escanear. El asistente ofrece adoptar la instancia existente con su nombre, su número y su token, y comprueba que el token es válido antes de crear la bandeja. Así pasaron a Waya los clientes de QR Búho.

Formulario para conectar una instancia de Evolution API existente: nombre, número conectado y token
Configuración de instancia

El comportamiento del número, sin salir de Waya

Cada bandeja trae dos pestañas que Chatwoot no tiene: Configuración de instancia y Documentación. En la primera activas o desactivas rechazar llamadas, ignorar grupos, siempre en línea, marcar como leído y sincronizar historial. Si el número se cae, hay tres salidas de menor a mayor impacto: reconectar por QR, reiniciar la instancia o renovarla, con el progreso de cada paso a la vista.

Pestaña Configuración de instancia con el estado de conexión, el token enmascarado, la renovación y los interruptores
WAHA

Un segundo motor para el mismo QR

WAHA conecta WhatsApp por QR con un motor distinto al de Evolution API. Sirve cuando un número se comporta mal en uno de los dos, o para repartir carga entre servidores. Waya crea la sesión y la integración por su cuenta; tú solo escaneas. Para mover una sesión de servidor, Waya la crea primero en el destino y solo después borra la del origen.

Pestaña Configuración de sesión WAHA con el estado, las opciones de la integración y el cambio de servidor
BuhoText SMS

SMS desde un Android con SIM

Instalas la app BuhoText en un teléfono Android, lo vinculas con un código o un QR y desde ahí los SMS salen y entran como cualquier conversación. El remitente es un número local; pagas el plan de la línea y la licencia de BuhoText. El panel muestra estado, batería, SIM, enviados y pendientes, y cada SMS lleva su acuse: enviado, entregado o fallido.

Paso de conexión del dispositivo Android en el asistente de BuhoText, con la descarga del APK
API por bandeja

Cada canal propio trae su documentación ya rellena

Las bandejas de Evolution API, WAHA y BuhoText traen una pestaña Documentación con los endpoints para enviar desde un sistema externo, con la URL y los identificadores reales de esa bandeja. Es lo que hacía QR Búho, ahora dentro de la plataforma: tu WhatsApp sigue funcionando como API para tu sistema.

Pestaña Documentación de la API de una bandeja BuhoText con el endpoint para enviar SMS desde otro sistema
WhatsApp Cloud API, el canal oficial

Correcciones al canal oficial de Meta.

El canal oficial ya venía en Chatwoot, pero usaba versiones viejas de la API y fallaba con archivos grandes, APK y audios.

  • Registro integrado de Meta siempre visible al dar de alta el número, junto a la opción manual.
  • Graph API v22 y versión configurable desde el superadministrador: cuando Meta publique la siguiente, se cambia un campo.
  • Medios por media_id, con reintentos y el tipo MIME de los audios normalizado. Los archivos que manda el cliente llegan completos.
  • Errores con nombre: el código genérico de Meta se traduce a un mensaje que dice qué pasó.
  • Identificadores acotados al negocio: Waya los reconoce para no dejar destinatarios incontactables.
  • Envío masivo por plantillas aprobadas con una herramienta aparte: base desde Excel, vista previa y lotes con pausas.

Envíos masivos por goteo, para cuidar el número.

Salen por WhatsApp QR o por SMS, con segmentación por etiquetas y variaciones del texto hechas con IA.

Diálogo para crear una campaña por WhatsApp QR con título, mensaje, variables, imagen y bandeja de salida
Título, mensaje con variables, imagen opcional, bandeja de salida y programación.
Campañas por QR

Mensaje, imagen, audiencia y hora en un solo diálogo

No usa plantillas de Meta ni necesita aprobaciones previas. Defines el título, la bandeja de salida, el mensaje con variables por contacto, una imagen si hace falta, la audiencia y la fecha de envío. Las variables se insertan con botones o escribiendo una arroba, y cada mensaje enviado abre o continúa la conversación del contacto, así que las respuestas llegan a esa conversación.

Diálogo para crear una campaña por WhatsApp QR con título, mensaje, variables, imagen y bandeja de salida
Segmentación

Incluir, combinar y excluir etiquetas

Eliges si son etiquetas de contacto o de conversación, cómo se combinan (cualquiera, todas o solo esas) y a quién dejas fuera: baja, no molestar, deuda. La exclusión se aplica siempre después de la inclusión. Si la lista viene de una feria o de otro sistema, subes un Excel con número y nombre; Waya quita los duplicados y te dice cuántas filas quedaron fuera.

Lista de campañas por QR con el estado, la bandeja de salida y la fecha de cada una
Editar, clonar, programar

La campaña programada se edita hasta que sale

Cualquier campaña se clona para reutilizar mensaje y segmentación cambiando solo la fecha. Mientras está saliendo, el botón de enviar queda deshabilitado para que no se envíe dos veces por error. Si el proveedor la rechaza, Waya guarda el motivo que devolvió la API.

Acciones sobre una campaña por QR: editar, clonar y eliminar
Campañas de SMS

Lo mismo por BuhoText, donde WhatsApp no llega

Sirve para recordatorios de pago, avisos de corte, confirmaciones de cita y bases antiguas donde no se sabe quién tiene WhatsApp. Eliges el dispositivo y la SIM, la audiencia por etiquetas, por archivo, por contactos o toda la base, y el contador te dice en cuántos SMS saldrá el texto, porque un mensaje largo cuesta como varios.

Formulario para crear una campaña de SMS con dispositivo, tarjeta SIM, audiencia y mensaje
Variables

Un SMS por contacto, con sus datos

Con el envío personalizado activo, cada contacto recibe su propio texto con su nombre, su teléfono o su país. Sin él, el proveedor manda el mismo texto a todos, así que el formulario no deja usar variables en modo masivo. Al enviar, Waya abre la conversación de cada destinatario en la bandeja: cuando alguien responde, la respuesta entra en esa conversación con el mensaje que la originó a la vista.

Variables disponibles en una campaña de SMS con el envío personalizado activo
Cómo salen los mensajes

Envío por goteo, con ritmo irregular.

Un número conectado por QR es, para WhatsApp, un número personal. Si envías cientos de mensajes seguidos, WhatsApp puede bloquearlo. Los intervalos son aleatorios dentro de estos rangos, así que los envíos no siguen un ritmo fijo.

MomentoEspera
Antes del primer mensajeEntre 5 y 12 segundos
Entre un mensaje y el siguienteEntre 8 y 18 segundos, distinto cada vez
Cada 25 mensajesUna pausa extra de 45 a 90 segundos
Selector de segmentación de una campaña: tipo de etiqueta, etiquetas incluidas, modo de combinación y etiquetas excluidas
Tipo de etiqueta, incluidas, modo de combinación y excluidas.
Opción Variaciones con IA de una campaña: cuántas versiones generar, cada una editable antes de enviar
Indicas cuántas versiones quieres y cada una queda editable antes de salir.

Reglas que también reaccionan cuando nadie contesta.

Las reglas de Chatwoot reaccionan cuando algo pasa. Les añadimos un evento para la espera sin respuesta, condiciones por parecido y flujos en árbol.

Regla de automatización con el evento Conversación esperando respuesta y la condición de minutos de espera
El evento y su condición de tiempo. A partir de ahí, cualquier acción: avisar, reasignar, escalar.
Evento nuevo

Conversación esperando respuesta

Se dispara cuando una conversación lleva un tiempo sin que nadie del equipo conteste, medido desde el último mensaje del cliente. Se combina con bandeja, equipo, etiquetas o prioridad, y dispara cualquier acción. Por dentro no hay un proceso barriendo la base: cada mensaje encola un trabajo para el momento exacto en que vencería la espera, y se descarta si el equipo contesta antes.

Regla de automatización con el evento Conversación esperando respuesta y la condición de minutos de espera
Operador nuevo

«Es similar a», para frases con errores y variantes

Las condiciones de texto de Chatwoot son literales: contiene, empieza por, es igual a. Un cliente que escribe «kiero cotizar», «me pasas precios» o «cuánto sale» no coincide con ninguna lista razonable. «Es similar a» compara por parecido con varias frases de referencia, usando la similitud de trigramas de PostgreSQL con un umbral configurable.

Condición Es similar a con varias frases de referencia y la acción Pintar conversación
Acción nueva

Pintar la conversación y la vista Marcados

La regla pone un color de fondo a la conversación en la lista, de forma persistente o hasta la siguiente respuesta, para ver de un vistazo cuáles necesitan atención. Las conversaciones pintadas tienen además su propia vista en el menú, Marcados, que funciona como una bandeja más. La condición «disparado por la automatización» evita que dos reglas se disparen en círculo.

Vista Marcados con las conversaciones que las automatizaciones señalaron con color
Flujos

Flujos de conversación en árbol

Una regla es «si pasa esto, haz aquello». Un flujo saluda, pregunta, espera y sigue por un camino u otro según lo que conteste el cliente. El lienzo trae seis nodos (disparador, condición, acción, esperar respuesta, espera y fin) y el motor ejecuta una instancia aislada por conversación, así que las respuestas de un cliente no se mezclan con las de otro.

Editor visual de flujos con la paleta de nodos a la izquierda, el lienzo al centro y un flujo de bienvenida dibujado
Ramas

Condiciones con varias salidas y tiempo límite

Un nodo de condición tiene tantas ramas como haga falta, cada una con sus condiciones, más una salida «si no». Esperar respuesta detiene el flujo hasta que el cliente escriba, con dos salidas: respuesta o tiempo agotado. Al desactivar un flujo, las conversaciones en curso terminan su recorrido.

Inspector de un nodo de condición con las ramas Ventas y Soporte y la salida Si no
Zoho Cliq

Si nadie responde, Waya avisa por Zoho Cliq

El agente puede estar en el chat interno del equipo y no en Waya. La acción de escalamiento le manda un mensaje directo por Zoho Cliq y, si la conversación sigue sin respuesta, escala al equipo completo. La IA, que es opcional, reformula el aviso y confirma que el cliente espera algo: un «gracias, perfecto» no dispara nada. Fuera de horario, el aviso se reprograma al siguiente inicio de jornada.

Acción Escalamiento sin respuesta por Zoho Cliq con los dos mensajes y los interruptores de control con IA

Vender, recordar y facturar sin salir de la conversación.

Las herramientas que el agente usa dentro del chat y de la ficha del contacto.

Tablero Kanban con las columnas Nuevo, Contactado, Propuesta enviada, Negociación y Ganado, cada una con su total
Una columna por etapa, con el número de negocios y el total por moneda arriba.
Kanban de negocios

Un tablero de ventas alimentado por las conversaciones

Defines tus columnas con su tipo (abierta, ganada o perdida), un catálogo de productos y la moneda de cada negocio. El total de cada columna suma cada moneda por separado, sin convertir entre ellas. Archivar saca el negocio del tablero sin borrarlo, y una columna entera se archiva de una vez al cerrar el trimestre.

Tablero Kanban con las columnas Nuevo, Contactado, Propuesta enviada, Negociación y Ganado, cada una con su total
Desde el chat

Creas el negocio donde el cliente pidió la cotización

El panel de contacto de la conversación tiene su sección de negocios: los que ya existen y un botón para crear uno nuevo sin cambiar de pantalla. Si el negocio va a una columna perdida, se anota el motivo. Los productos se definen una vez en el catálogo, para que no haya tres formas de escribir el mismo servicio.

Ficha de edición de un negocio con título, contacto, producto, valor, moneda, responsable y fecha estimada de cierre
Panel WHMCS

La ficha de facturación y los tickets, dentro del chat

Quien vende hosting o servicios recurrentes lleva la facturación en WHMCS. Waya detecta al cliente por asociación guardada, por correo o por teléfono, muestra su ficha y sus tickets de todos los departamentos, y abre tickets nuevos con el departamento y la prioridad por defecto. Si la API de WHMCS devuelve un error, lo muestra tal cual.

Conversación con una nota fijada arriba y el panel Tickets de WHMCS a la derecha con el cliente asociado
En la conversación

Notas fijadas y mensajes programados

Cualquier nota privada se fija en una tarjeta permanente sobre la conversación, con paginación si hay varias. Un mensaje se escribe ahora y se programa para la fecha y la hora que elijas, público o como nota privada, con adjuntos. Si el canal es WhatsApp oficial, el diálogo calcula la ventana de 24 horas y avisa antes de guardar.

Diálogo Programar mensaje con fecha, hora, la opción de nota privada y la zona de adjuntos
Contactos

Atributos que vencen y disparan etiquetas

«Servicios contratados» guarda tres valores, cada uno con su vencimiento. Es un atributo del tipo «múltiples entradas con fechas»: al vencer un valor, quita una etiqueta o pone otra, por ejemplo «por renovar», para que el contacto entre automáticamente en la próxima campaña. Cada contacto guarda además un enlace a su ficha en el facturador.

Panel de contacto con el enlace externo a la ficha del cliente en el facturador
Etiquetado masivo

Diez mil teléfonos desde un Excel

Puede ser la lista de morosos del facturador o la de asistentes a un evento. Subes el archivo, eliges la hoja y la columna del teléfono, y antes de aplicar ves cuántos coinciden, cuántos ya tenían la etiqueta y cuántos no existen. La coincidencia flexible compara por los últimos nueve dígitos, porque los teléfonos llegan con formatos distintos. Las etiquetas de campaña también pueden tener fecha de caducidad.

Diálogo Asignar etiqueta desde archivo con la etiqueta elegida y la zona para arrastrar el Excel
Asistente IA

Un asistente por cuenta, conectado como un bot más

Desde el menú lateral creas el entorno del asistente y lo administras en un panel embebido. No responde nada por sí solo: lo asocias a la bandeja donde tiene sentido, por ejemplo el chat de la web, y dejas WhatsApp en manos del equipo.

Módulo Asistente IA con la pantalla para crear el entorno del asistente de la cuenta
Panel del cliente de WHMCS asociado a la conversación, con su número, nombre, correo y empresa
El panel dice de dónde salió la asociación: guardada, por correo, por teléfono o manual.
Configuración del vencimiento de un atributo con las etiquetas que se quitan y se asignan al vencer
Al vencer, quita una etiqueta y pone otra. Las dos son opcionales.

La consola de superadministrador, pensada para revender.

Chatwoot autoalojado supone que quien lo instala es quien lo usa. Waya parte de que quien instala revende el servicio a muchas cuentas.

Consola de superadministrador con las funciones de una cuenta agrupadas por categoría y botones de marcado masivo
Cada grupo se pliega y trae su casilla para marcar o desmarcar el bloque entero.
Funciones por categoría

Más de ochenta funciones, ordenadas y con marcado masivo

Las funciones activables por cuenta se agrupan en categorías que se pliegan, cada una con marcado masivo: canales, campañas, IA y automatización, integraciones, equipo y acceso, marca, productividad, reportes.

Consola de superadministrador con las funciones de una cuenta agrupadas por categoría y botones de marcado masivo
Planes

Planes como plantilla, con límites e idioma

Un plan agrupa funciones, límites e idioma. Al asignarlo, la cuenta recibe todo eso y luego ajustas a mano lo que haga falta. Cuando el catálogo cambia, «re-aplicar a las cuentas vinculadas» lleva el cambio a todas de una vez, y el diálogo te dice antes a cuántas afecta.

Formulario de un plan nuevo con nombre, idioma, límites de agentes y bandejas, y funciones por categoría
SMTP y marca

Correo saliente y marca propia, desde la interfaz

El SMTP se configura y se prueba desde la consola, sin variables de entorno ni reinicios; si falla, ves el error que devolvió el servidor de correo. Los logos, el favicon y el nombre de la instalación se cambian en el mismo sitio. La consola está en español e inglés.

Configuración SMTP en la consola de superadministrador con servidor, puerto, credenciales y envío de correo de prueba
  • Licencia de instalación. Un tier, definido fuera de la interfaz, fija el techo de funciones. Quien compra la instalación no puede levantarlo desde la consola.
  • El menú refleja el plan. Una cuenta sin Kanban no ve Kanban ni entra en él desde una URL guardada.
  • Registro de servidores de Evolution API, WAHA y BuhoText, con uno por defecto. Cada bandeja guarda en qué servidor está su instancia, y Waya reconoce el origen de cada webhook.
  • Marca propia. Nombre, logos claro y oscuro, favicon y URL de marca, cada uno con la explicación de para qué se usa.
Panel de licencia de instalación con el tier vigente y las funciones permitidas
El tier vigente y cuántas funciones permite.

Las necesidades que resolvimos sobre Chatwoot.

Cada fila es una necesidad que nos trajo un cliente, lo que faltaba para resolverla y lo que escribimos.

La necesidadLo que faltabaLo que hicimos
WhatsApp sin cuenta de Meta BusinessSolo el canal oficial, con verificación y plantillas aprobadas.Dos motores por QR, Evolution API y WAHA, operativos en minutos.
Avisar a clientes que no tienen WhatsAppSMS solo por operadores externos, con costo por mensaje.BuhoText: tu propio Android y un número local; pagas el plan de la línea y la licencia de BuhoText.
Campañas a una base etiquetadaSin exclusión de etiquetas ni control del ritmo de envío.Inclusión, combinación y exclusión, Excel, variaciones con IA y goteo.
Un cliente que se queda sin respuestaNingún evento para el silencio.«Conversación esperando respuesta» y escalamiento a Zoho Cliq.
Clasificar lo que el cliente escribeCondiciones literales: contiene, empieza por, es igual a.«Es similar a», que compara por parecido.
Una conversación con varias preguntasReglas de una sola línea.Flujos en árbol con ramas, esperas y tiempo límite.
Seguir la venta hasta el cierreExportar a otro CRM.Kanban con productos, monedas y totales, creado desde el chat.
El cliente factura en WHMCSDos pestañas abiertas buscando al mismo cliente.Ficha y tickets dentro de la conversación.
Revender el servicio a muchas empresasConsola en inglés, sin planes ni techo por instalación.Planes plantilla, licencia por tier y consola en español.

Cómo se contrata Waya.

Todo lo de arriba está en las tres modalidades. Cambia de quién son las cuentas, quién pone la marca y quién opera el servidor. Cada modalidad tiene su página, con sus planes y su detalle.

Preguntas sobre el origen de Waya.

¿Waya es Chatwoot?
No. Waya parte de Chatwoot, la base de código abierto sobre la que construimos. Todo lo que ves en esta página (canales por QR, SMS, campañas segmentadas, flujos, kanban, panel de WHMCS, consola multiempresa) lo escribimos nosotros encima. Las funciones estándar de Chatwoot siguen disponibles: bandeja compartida, canales oficiales, informes, macros, centro de ayuda.
Yo usaba QR Búho. ¿Qué pasó con él?
Ese fue el primer Waya. El QR que conectaba tu WhatsApp como API sigue existiendo dentro de la plataforma, en el canal Evolution API, y tu instancia se adopta sin volver a escanear. Alrededor de ese canal tienes ahora la bandeja para tu equipo, las campañas, las automatizaciones y la IA.
¿Puedo traer mi Chatwoot actual a Waya?
Lo vemos con tu caso. Waya parte de Chatwoot, así que revisamos tu instalación, te decimos qué se puede traer y cotizamos la migración según el volumen y la versión de la que partes.
¿Las capturas son reales?
Sí, son de la aplicación tal como corre hoy, tomadas en una cuenta de demostración con datos ficticios: ningún nombre, teléfono ni conversación de un cliente real aparece en ellas.
¿Puedo pedir una función que no existe?
Sí, y así nació casi todo lo que hay aquí. Cuéntanos el problema en una reunión técnica y te decimos si ya está resuelto, si entra en el producto o si conviene construirlo a medida para tu empresa. Mantenemos y extendemos la plataforma. Lo que podemos construir sobre ella está en desarrollo a medida.
¿Dónde veo las funciones estándar y los precios?
Todas las áreas del producto están en Todas las funciones, y los planes en Waya para mi empresa. Si quieres revender o instalar en tu servidor, mira Para revender y Código fuente.

Te mostramos Waya con tus canales.

En la demo revisamos tus casos, uno por uno.

14 días de prueba, sin tarjeta Sin permanencia Soporte por WhatsApp