En esta lección, vamos a construir paso a paso la base de nuestro agente de IA para WhatsApp. Nos enfocaremos en configurar la comunicación inicial entre N8n y Evolution API, dos herramientas fundamentales que ya deberías tener instaladas en tu servidor si has seguido el curso de Instalar una infraestructura de programas Open Source para usar la IA, si no lo has hecho, te recomiendo que lo hagas para tener instaladas estas herramientas en tu servidor VPS.
Objetivos de esta lección:
- Crear el flujo de trabajo en N8n que recibirá los mensajes de WhatsApp.
- Configurar una instancia en Evolution API y vincularla a un número de teléfono.
- Establecer la conexión entre ambas plataformas para que N8n reciba los datos correctamente.
Recurso Adicional: No olvides que la plantilla completa de este flujo de trabajo la tienes para descargar. Aun así, te recomiendo encarecidamente que sigas el video y construyas el flujo desde cero para comprender a fondo la lógica de N8n y cómo interactúan los nodos.
¡Comencemos!
Paso 1: Crear el Webhook en N8n como Punto de Entrada
Nuestro primer paso es crear el disparador (trigger) que escuchará los mensajes entrantes de WhatsApp. Para ello, usaremos un Webhook.
- En tu panel de N8n, crea un nuevo flujo de trabajo (workflow).
- Asígnale un nombre descriptivo. Por ejemplo: AI Agent WhatsApp – EvoAPI.
- Haz clic en el + para añadir el primer nodo y busca Webhook.
- En la configuración del nodo, realiza los siguientes ajustes:
- Nombre del Webhook: Cámbialo por algo claro, como recibe_whatsapp.
- HTTP Method: Por defecto está en GET. Haz clic y selecciona POST. Este es el método que Evolution API utilizará para enviar la información.
- Path: Define una ruta URL única para este webhook. Esto hace que tu URL sea más fácil de recordar y gestionar. Usaremos prueba_evoapi como ejemplo, pero puedes elegir el que prefieras.
- Haz clic en Guardar para aplicar los cambios en el flujo.
¡Perfecto! Ya tenemos nuestro punto de entrada en N8n. Ahora vamos a configurar la otra pieza del puzle: Evolution API.
Paso 2: Configurar una Nueva Instancia en Evolution API
Evolution API será el puente que conectará nuestro número de WhatsApp con el agente en N8n.
- Abre tu Evolution Manager.
- Haz clic en el botón verde «Crear Nueva Instancia» en la esquina superior derecha.
- Rellena los campos del formulario:
- Nombre: Puedes usar el que quieras. Para mantener la coherencia, usaremos el mismo que en la ruta del webhook: prueba_evoapi
- Channel: Elige la opción baileys.
- Token: lo dejamos como está.
- Número: Puedes dejarlo en blanco.
- Presiona el botón Guardar.
- Una vez creada, haz clic en el botón de Ajustes (Settings) de tu nueva instancia.
Paso 3: Ajustes y Vinculación con WhatsApp
Dentro de la configuración de la instancia, debemos activar una opción clave y luego vincular nuestro teléfono.
Ajuste de la Instancia:
- En el panel de la instancia, ve al apartado de configurations y a la pestaña Settings.
- Busca y activa la opción Sync Full History (Sincronizar el historial de chat completo)
- Haz clic en el botón Guardar (Save) en la esquina inferior derecha.
¡Atención! Es recomendable no activar otras opciones en esta sección a menos que sepas exactamente lo que haces, ya que podrían comprometer la seguridad de tu número y aumentar el riesgo de ser baneado por Meta.
Vincular tu Número de WhatsApp:
Este proceso es idéntico a cuando inicias sesión en WhatsApp Web.
- Ten a mano tu teléfono móvil con el número de WhatsApp que deseas conectar.
- En la app de WhatsApp, ve a Ajustes > Dispositivos Vinculados > Vincular un dispositivo.
- Te va a solicitar la contraseña del movil.
- En Evolution API, Ve a Dashboard y haz clic en el botón Get QR Coce (Generar Código QR).
- Escanea el código QR que aparece en la pantalla con tu teléfono. Recuerda que el código caduca en 30 segundos.
- Una vez escaneado, asigna un nombre al dispositivo en tu teléfono (ej. «agente_n8n_prueba») y guárdalo.
- Importante: Deja la aplicación de WhatsApp abierta en tu teléfono durante 1-2 minutos para asegurar una sincronización completa y correcta.
Al terminar, Evolution API mostrará automáticamente la información de la cuenta, como el nombre, el número y la cantidad de chats y mensajes.
Paso 4: Conectar Evolution API con el Webhook de N8n
Ahora es el momento de decirle a Evolution API a dónde debe enviar la notificación de cada mensaje nuevo.
- En el menú izquierdo de tu instancia de Evolution API, ve a Events (Eventos) > Webhook.
- Regresa a N8n un momento. Abre tu nodo Webhook y copia la Test URL (URL de Prueba). Es crucial usar esta URL de prueba durante el desarrollo.
- Vuelve a Evolution API y configura lo siguiente:
- Activa el interruptor principal del Webhook en la parte superior.
- Pega la URL de prueba de N8n en el campo Webhook URL.
- Activa la opción Webhook base64. Esto es fundamental para poder procesar archivos multimedia como imágenes, audios y documentos más adelante.
- Desplázate hacia abajo hasta la sección de Eventos y activa únicamente el evento MESSAGES_UPSERT. Este es el evento que se dispara cada vez que se recibe un mensaje.
- Verifica que todo esté correcto y presiona Guardar (Save).
Paso 5: Probar la Conexión y Recibir los Primeros Datos
Vamos a asegurarnos de que todo funciona como debería.
- En N8n, dentro del nodo Webhook, haz clic en el botón «Execute workflow» para ejecutar la automatización. El nodo se quedará esperando recibir datos.
- Desde otro número de WhatsApp o desde el mismo, envía un mensaje (por ejemplo, «Hola») al número que acabas de conectar.
- Verás que N8n recibe el evento de inmediato.
Al inspeccionar los datos recibidos, verás toda la información que Evolution API nos envía en formato JSON. Entre los datos más importantes se encuentran:
- event: El tipo de evento (messages.upsert).
- instance: El nombre de tu instancia (prueba_evoapi).
- remoteJid: El número de teléfono del remitente en un formato que utiliza WhatsApp web.
- fromMe: Nos indica si nos mandamos un mensaje a nosotros mismos.
- id: el id de ese mensaje
- pushName: El nombre de la cuenta que nos envió el mensaje.
- conversation: El contenido del mensaje de texto.
- messageType: El tipo de mensaje (cuando es texto Evolution Api lo marca como conversation).
- instanceId: El id de la instancia.
- date_time: la fecha.
- destination: destino de la url.
- apikey: API key de la instancia.
¡Felicidades! Has configurado con éxito la conexión entre WhatsApp y N8n.
Resumen de la Lección:
En esta sesión, hemos sentado las bases de nuestro agente. Creamos un Webhook en N8n para recibir datos, configuramos una instancia en Evolution API, la vinculamos a un número de WhatsApp y establecimos la comunicación para que N8n reciba los mensajes en tiempo real.
Próximos Pasos:
En la siguiente lección, tomaremos estos datos «en crudo» y los procesaremos utilizando el nodo «Set»Edit Fields» para limpiarlos y estructurarlos, preparándolos para la lógica de nuestro agente. ¡Nos vemos allí!