Botpress + Make: Simplificando Flujos Complejos en Bots
Quiero compartir ustedes un ejemplo de cómo la integración de Make con Botpress puede facilitar la manera en que los bots pueden manejar flujos complejos, haciendo posible que las tareas rutinarias se realicen con mayor rapidez y menos errores.
¿Por qué Botpress?
Botpress es una poderosa herramienta para construir para bots que permite a los desarrolladores construir y manejar bots de manera eficiente. Su capacidad para integrarse con otras herramientas amplía sus funcionalidades, haciendo que sea una opción preferida para quienes buscan personalizar experiencias de usuario a gran escala.
¿Por qué Make?
Make es una plataforma muy fácil de usar, que permite automatizar procesos conectando aplicaciones y servicios sin necesidad de escribir código. Cuando se combina con Botpress, permite a los bots ejecutar flujos de trabajo complejos y manejar datos en tiempo real con facilidad.
Ejemplo Práctico: Manejo de Reclamos y Sucursales
Veremos a continuación como utilizar Make y Botpress en un bot que nos permite ingresar un reclamo o consultar un listado de nuestras sucursales, ambas funcionalidades serán resueltas en flujos que utilizan Make. Puedes descargar aquí la plantilla de este bot en Botpress. El objetivo de este ejemplo es que aprendas a utilizar Make para resolver flujos desde Botpress.
En la imagen podemos ver el flujo implementado en Botpress, tanto el flujo RECLAMO como el flujo SUCURSALES, son resueltos enviando un webhook desde Botpress a Make. En el caso de RECLAMO, simulamos el ingreso de un reclamo enviando un correo al usuario, en el caso de SUCURSALES consultamos una hoja en Google Sheets con la información de las sucursales.
Veamos el detalle de estos flujos:
- Flujo de Reclamos:
- El usuario ingresa un reclamo a través del bot en Botpress.
- El bot envía los datos (nombre, email, y reclamo) a Make usando un webhook.
- Make procesa esta información y automáticamente puede generar un email para confirmar la recepción del reclamo o incluso agregar el reclamo a un sistema de seguimiento de tickets.
- Visualización de Sucursales:
- Un usuario solicita información sobre las sucursales.
- El bot consulta a Make, que a su vez recupera información de un Google Sheet.
- La información es devuelta al bot y presentada al usuario, mostrando ubicaciones y horarios de forma dinámica.
A continuación les comparto el código que utilizo en Botpress para realizar la integración a Make:
Este primer código me permite enviar la información a make, el webhook de make se configura en la variable de ambiente env.MakeWebhook
, a esta función enviamos dos variables: data
es un objeto (json) que puede tener varias variables que necesitamos en nuestro flujo, y flowIdenfier
, una variable que envío a Make para que sepa resolver que función necesita llamar:
/**
* Envía la solicitud a Make y obtiene la respuesta.
* @param {Object|string} data - El objeto que contiene los datos a enviar o la pregunta como string.
* @param {string} flowIdentifier - El identificador del flujo.
* @returns {Promise<string>} - Retorna la respuesta obtenida del webhook.
*/
async function sendToMake(data, flowIdentifier) {
try {
// Si data es un string, lo convierte en un objeto
const payload = typeof data === 'string' ? { question: data } : data
payload.flowIdentifier = flowIdentifier
const response = await fetch(`${env.MakeWebhook}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(payload)
})
if (response.ok) {
const responseBody = await response.text() // Asumiendo que la respuesta es un texto plano
return responseBody
} else {
console.error('Error enviando a Make:', response.status, response.statusText)
return 'Hubo un error al enviar la solicitud. Por favor, intenta nuevamente más tarde.'
}
} catch (error) {
console.error('Error enviando a Make:', error)
return 'Hubo un error al enviar la solicitud. Por favor, intenta nuevamente más tarde.'
}
}
Luego utilizamos esta función para enviar la información a Make del flujo que necesitamos activar, SUCURSALES o RECLAMO:
Podemos visualizar en el código que se llama al webhook en Make con la variable flowIdenfier
con el valor del flujo que corresponda, y en data podemos ingresar todas las variables que necesitaremos en Make para resolver la información. En Make el flujo parte con un Router que consulta por el valor de la variable y luego vienen las integraciones necesarias para resolver el flujo:
Beneficios de esta Integración
- Automatización de Flujos e Integraciones: Reduce la necesidad de intervención manual, ya que no necesitamos tocar el código del bot para resolver o mejorar/cambiar integraciones.
- Flexibilidad: Una vez resuelto el flujo del bot no necesitamos programar y resolver las integraciones con código en Botpress, enviamos estos flujos a Make donde resolvemos con sus capacidades flujos que pueden ser muy complejos.
- Escalabilidad: Maneja un alto volumen de interacciones y datos sin afectar el rendimiento del bot.
Conclusión
La integración de Make con Botpress es un claro ejemplo de cómo las herramientas correctas pueden facilitar la gestión de flujos complejos en bots. Esta sinergia no solo mejora la experiencia del usuario final sino que también potencia las capacidades operativas de cualquier negocio.
¡En Mente Digital, seguimos comprometidos con la búsqueda de soluciones innovadoras que transformen la interacción digital! Para más detalles sobre cómo implementar soluciones similares, no dudes en visitar nuestro sitio y suscribirte a nuestra newsletter.