ChakraHQChakraHQ

Conecta el agente de IA de n8n

Pasos para conectar el agente de IA de n8n a WhatsApp mediante los webhooks y las API de Chakra

Conectar un bot de IA de n8n a WhatsApp

En este artículo, veremos cómo conectar un bot o agente de IA de n8n a WhatsApp. Para ello, usaremos las API de WhatsApp y los webhooks que proporciona Chakra Chat.

Al finalizar, podrás tener un agente de chat completo de n8n que responderá las consultas de los usuarios en tu número de WhatsApp conectado a la nube.

Requisitos previos

A) Supondremos que ya tienes una cuenta de n8n Cloud o que tienes n8n alojado en algún lugar accesible desde la internet pública.

B) También necesitas una cuenta de Chakra Chat y haber conectado WhatsApp. Si aún no lo has hecho, sigue estos pasos:

  1. Regístrate en Chakra Chat
  2. Conecta WhatsApp

Ten en cuenta que también puedes crear este bot con una cuenta gratuita de Chakra Chat. 🎉

C) También necesitarás una cuenta de OpenAI y una clave de OpenAI, ya que usaremos OpenAI como proveedor de IA. Puedes registrarte para obtener una cuenta de desarrollador de OpenAI desde esta página.

1. Configura el activador de webhook en n8n

1.1 Inicia sesión en tu cuenta de n8n

Crea un flujo de trabajo haciendo clic en el botón "Create Workflow" en la esquina superior derecha del panel principal de n8n.

Create n8n Workflow

1.2 Agrega el primer paso

Haz clic en el nodo "Agregar primer paso" y selecciona el activador "Al recibir una llamada de webhook" .

First Step

1.3 Configura la URL del webhook de prueba

1.3.1 La página de configuración del activador de webhook debería estar abierta. Haz clic en la URL del webhook de prueba para copiarla al portapapeles.

Test Webhook URL

1.3.2 Abre tu cuenta de Chakra Chat y ve a la página Configuración de WhatsApp ; haz clic en la pestaña Más .

WhatsApp Setup More Tab

1.3.3 Desplázate hacia abajo y haz clic en el interruptor debajo de "Habilitar webhook de paso".

Enable Pass Through Webhook

1.3.4 Pega la URL del webhook de prueba de n8n que copiaste en el campo de entrada debajo de "URL del webhook de paso".

Pass Through Webhook URL

1.3.5 Haz clic en el botón Guardar en la esquina superior derecha de la página de configuración de WhatsApp para guardar la configuración.

Save Configuration

1.4 Prueba nuestra integración

1.4.1 Vuelve a n8n y cambia el método HTTP del activador a POST desde la página de configuración del webhook.

HTTP Method to POST

1.4.2 Haz clic en el botón "Escuchar evento de prueba".

Listen to Test

1.4.3 Debemos enviar un mensaje al número de WhatsApp desde el número de WhatsApp de otro usuario para que se genere un evento de webhook de prueba.

Send Test message

1.4.4 Ahora deberías ver en la página de configuración del activador de n8n el evento de webhook correspondiente al mensaje que acabas de enviar, como se muestra en la siguiente captura de pantalla. Si no ves ningún evento, revisa todos los pasos anteriores y verifica la configuración.

Review Setup

1.4.5 Muy bien, ahora estamos listos para configurar un agente de IA. Haz clic en "Volver al lienzo" y guarda rápidamente todo el progreso que llevas en el flujo de trabajo.

2. Configura un agente de IA

Ahora configuraremos un agente de IA de OpenAI en n8n.

2.1 Haz clic en el botón más junto al activador de webhook en el editor de flujos de trabajo de n8n. Se abrirá un panel a la derecha con opciones de nodos. Haz clic en "IA" para ver todas las opciones de nodos de IA.

Click AI

2.2 Haz clic en Agente de IA para seleccionar y agregar un nodo de agente de IA.

Add AI Agent

2.3 La página de configuración del nodo de agente de IA debería estar abierta.

Configure AI Node

2.4 Haz clic en el menú desplegable de "Fuente para el prompt (mensaje del usuario)". De forma predeterminada, está configurado para recibir una entrada de chat, pero debemos conectarlo a la entrada del activador de webhook. Haz clic en la opción "Definir abajo".

Prompt Configuration

2.5 La pestaña Entrada del lado izquierdo muestra el objeto JSON completo enviado mediante el webhook. Busca el mensaje que enviaste en la entrada del lado izquierdo, y haz clic en él y arrástralo hasta el cuadro de texto del prompt.

Prompt Message

2.6 Ahora configuremos el modelo de chat. Haz clic en el botón más debajo de la opción "Modelo de chat" en la parte inferior de la página.

Chat Model Configuration

2.7 Se abrirá un submenú a la derecha con una lista de modelos de IA disponibles. Busca OpenAI y haz clic para seleccionarlo.

Select OpenAI model

2.8 Ahora debería estar abierta la página de configuración del subnodo de OpenAI. Aquí debemos configurar las credenciales de OpenAI. Si ya están disponibles, selecciónalas; de lo contrario, haz clic en crear credenciales nuevas e ingresa una clave de API de OpenAI.

OpenAI Credentials

Create New Credentials

2.9 Ahora podemos volver al lienzo haciendo clic en "Volver al lienzo" y hacer clic en "Ejecutar flujo de trabajo" para probar la configuración hasta ahora. Esto hará que el flujo de trabajo empiece a escuchar eventos en el webhook de prueba.

Execute Workflow

2.10 Abre tu cuenta de WhatsApp de usuario final y envía un mensaje a tu número de WhatsApp conectado. No recibirás una respuesta, pero deberías ver los registros de la respuesta de OpenAI en el nodo de agente de IA. El nodo también debería aparecer con un borde verde, lo que indica que se ejecutó correctamente.

Si no ves una ejecución correcta, revisa la configuración siguiendo de nuevo los pasos anteriores.

Review Steps

3: Envía la respuesta de IA al usuario

Ahora que nuestro agente de IA puede responder las consultas de chat entrantes, empecemos a enviar las respuestas por WhatsApp.

3.1 En el editor de flujos de trabajo de n8n, haz clic en el botón + a la derecha del nodo de agente de IA. Se abrirá el menú de selección de nodos. En la barra de búsqueda, escribe "solicitud HTTP" y haz clic en el tipo de nodo Solicitud HTTP .

HTTP Request

3.2 Configura el nodo de solicitud HTTP para enviar un mensaje mediante la API de envío de mensajes de WhatsApp.

Puedes encontrar información sobre esta API en esta documentación de la API. La configuración debería ser similar a la siguiente:

  • Método: POST
  • URL: https://api.chakrahq.com/v1/ext/plugin/whatsapp/{{chakraPluginId}}/api/v22.0/{{whatsappPhoneNumberId}}/messages

POST Method

  • Encabezados:

Authorization: Bearer {{chakraAccessToken}}

Authorization Header

  • Cuerpo: Debe ser de tipo JSON

Body Type

  • Cuerpo: El objeto JSON completo debería tener este aspecto

Body JSON

Los datos de entrada necesarios para configurar la API anterior se encuentran en tu cuenta de Chakra Chat. A continuación, encontrarás una breve descripción:

Encuentra chakraPluginId

En la página de configuración de Chakra Chat - WhatsApp, ubica el ícono de tres puntos junto al botón Guardar, en la esquina superior derecha. Haz clic en él y luego en el botón "Copy Plugin Id". El ID del plugin se copiará y podrás pegarlo donde lo necesites.

Encuentra whatsappPhoneNumberId

En la página de configuración de Chakra Chat - WhatsApp, haz clic en el ícono de engranaje junto a "📞 WhatsApp Phone Numbers". En el panel que se abre, encontrarás el ID de Meta de cada número de teléfono en la columna del número de teléfono.

Obtén chakraAccessToken

Para poder usar las API de Chakra, primero debes crear una clave de API para tu caso de uso en la sección API Keys de Chakra Chat.

Crea una clave de API

Para crear una clave de API, debes proporcionar la siguiente información:

  • Nombre: nombre de la clave. Usa un nombre descriptivo. Esto facilita la administración de las claves.
  • Descripción (opcional): descripción de las claves de API
  • Rol de acceso: elige un role para la nueva clave de API. La clave de API heredará los privilegios del rol asignado y estará limitada por ellos. Asegúrate de que las claves de API expuestas públicamente tengan el rol con los menos privilegios necesarios para realizar la tarea.

Después de crear una clave de API, encontrarás chakraAccessToken en la sección "Access Tokens" de la clave de API creada.

3.3 Después de configurar la solicitud HTTP, vuelve al Canvas y haz clic en el botón para ejecutar el paso, ubicado sobre el nodo de solicitud HTTP. Si todo está configurado correctamente, el nodo debería ejecutar el paso sin problemas y recibirás el resultado de prueba de OpenAI en la cuenta de WhatsApp del usuario final 🥳

4. Publica el flujo de trabajo

4.1 Guarda tu flujo de trabajo y márcalo como activo.

Save Workflow Active

4.2 Haz doble clic en el webhook y haz clic en Production URL, debajo de webhook URLs. Luego, haz clic en la URL para copiarla.

Copy Production URL

4.3 Ahora abre tu cuenta de Chakra Chat y ve a la página de configuración de WhatsApp. Luego, haz clic en la pestaña More. Pega la URL del webhook que copiaste en el cuadro de entrada debajo de "URL del webhook de transferencia".

Pass through webhook URL

4.4 Haz clic en Guardar en la esquina superior derecha de la página para guardar esta configuración. Ahora, los eventos de WhatsApp se enviarán a la URL del webhook de producción.

Conclusión

¡Eso es todo! Ahora puedes probar tu bot y luego modificar el agente para resolver casos de uso más complejos. El agente de IA descrito anteriormente es bastante básico. Para casos de uso prácticos, tendrás que agregar otros elementos, como memoria o procesamiento de imágenes. Pero el principio básico sigue siendo el mismo.

Apéndice

A. Agrega una condición if para filtrar los eventos que no sean mensajes

El webhook de transferencia suele recibir muchos eventos de WhatsApp; algunos son eventos de mensajes y otros pueden ser eventos de estado o de facturación. Lo ideal sería agregar un nodo de condición if después del nodo Webhook para filtrar los eventos que no sean mensajes.

Después de hacer lo anterior, asegúrate de cambiar la expresión del mensaje del usuario en el nodo AI Agent para seleccionar correctamente los datos del webhook. Ahora debería verse más o menos así:

{{ $('Webhook').item.json.body.entry[0].changes[0].value.messages[0].text.body }}

B. Usa la memoria para llevar un registro de una conversación

En algún momento, querrás usar la memoria para llevar un registro de una conversación con un usuario. Los eventos de mensajes también contienen el número de teléfono del usuario final; este número es una excelente clave para agrupar todos los mensajes.

C. Accede a los archivos multimedia enviados por los usuarios

Es posible que quieras procesar imágenes o documentos enviados por tus usuarios. En ese caso, los eventos del webhook de WhatsApp generalmente incluirán un ID de WhatsApp Media. Puedes obtener el archivo multimedia asociado a este ID mediante esta API para mostrar archivos multimedia.

En esta página