Inteligencia Artificial en WhatsApp Business con N8N

Asesoría:

Contacto: datogedon[at]gmail.com
WhatsApp: https://iimm.biz/baldo

Vídeo tutorial

[PENDIENTE]

Paso 1: Crear Webhook y Validarlo

Crea un nuevo «Workflow» en n8n, nombralo como quieras.

Crea un Trigger llamado «Webhook«, este generará un endpoint único.

Elige en «Respond» la opción «Using ‘Respond to Webhook’ Node«

Responder el Token de verificación

Facebook enviará un token de verificación, es irrelevante el contenido. Lo que hará facebook es validar que lo que se envió sea igual a lo que recibirá como respuesta.

Entonces antes de enviar la verificación, agregamos un nodo mas. Este lo encontramos como «Respond to Webhook» y cambiamos el tipo de respuesta a «Text» y en el body respondemos el token de verificación.

{{ $json.query['hub.challenge'] }}

Así es como debería quedar

Hemos finalizado el Webhook para validar.

Paso 2: Conversación

Agrega un nuevo webook:

  • Usa método POST
  • Asignale el mismo path que al anterior Trigger

Agrega un nodo «IF«

Agrega un nodo «IF» y valida que el objeto de «messages» exista.

Aquí lo que hacemos es que si por alguna razón se envía un mensaje vacío, el flujo no se completará. Evitando que se haga uso de recursos innecesarios.

{{ $json.body.entry[0].changes[0].value.messages[0] }}

Agrega un nodo «Edit Fields»

Usamos este nodo para reducir el tamaño de las rutas

usamos:

  • body: contendrá el mensaje que escribe el usuario
  • number: contendrá el número de WhatsApp del usuario
  • prompt: indicamos al Modelo de Lenguaje cómo responder.
{{$json.body.entry[0].changes[0].value.messages[0].text.body}}
{{$json.body.entry[0].changes[0].value.contacts[0].wa_id}}

Agregamos el nodo «AI Agent» y lo conectamos al Modelo de Lenguaje

  • OpenAi(Chat GPT)
  • Mistral Cloud
  • Ollama
  • Antropic
  • Google Gemini
  • Azure OpenAI
  • Groq
{{$json.body}}

Agregamos un nodo de memoria/contexto

Elegiremos el nodo «Window Buffer Memory» con sus opciones predeterminadas.

Agrega las «tools» que necesites

Las herramientas son fuentes de datos que necesitas para que el Modelo de lenguaje sepa que va responder. Esto se basa en solo texto plano.

Las «tools» pueden ser funciones javascript o python que devuelven una respuesta.

Usaremos «Custom Code Tool» y también puedes usar un Workflow

Para este ejemplo simplemente retornamos un texto, pero aquí puedes hacer un fetch a un endpoint y obtener datos a una API en tiempo real.

El nombre y descripción son relevantes. En ellos describimos que es y que obtendrá. Así, el Modelo de lenguaje sabrá que herramienta usar según el mensaje del usuario.

Paso 3: Responder por WhatsApp Business Cloud

Aquí vamos a seleccionar el número de telefono con el que se responderá.

Llenamos el número de WhatsApp al que se responderá al usuario y el mensaje de respuesta enviado por el Modelo de lenguaje.

{{ $('Edit Fields').item.json.number }}
{{ $json.output }}

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *