Crear un chatbot de asistencia con WhatsApp y BuilderBot

0

ChatBot

Los chatbots son asistentes virtuales que realizan alguna o muchas tareas de atención al público por medio de alguna herramienta de comunicación.

En este blog te voy a enseñar cómo hacer un chatbot para que interactúe con el usuario por medio de WhatsApp.

Paso 1: Cuenta en BuilderBot - inicio de sesión

Vamos a utilizar un SaaS, que en sí hay muchos en internet; en mi ejemplo voy a utilizar BuilderBot.

Iniciamos creando una cuenta si no la tienes; si la tienes, inicias sesión y nos aparecerá la pantalla principal.


Luego damos clic en Nuevo.

Paso 2: Configuramos los flujos.

Tenemos que tener un flujo de conversación; en este caso va a ser un ejemplo sencillo de preguntar sobre el requerimiento que tiene el usuario. 






Finalmente, ese dato lo direccionamos en otro flujo para guardar en la hoja de cálculo de Google (Sheets). Utilizamos una solicitud tipo HTTP y en el body enviamos las variables. En la url del post enviamos la implementación web que vamos a realizar en script.




Código de script para guardar los datos en la hoja de sheets:

 // ID de la hoja de cálculo de Google Sheets (reemplaza con tu propio ID)
var spreadsheetId = ''; // Aquí colocas el ID de tu hoaja de cálculo
var sheetName = ''; // El nombre de la hoja

function doPost(e) {
  try {
    // Obtener los datos de la solicitud POST
    var datos = JSON.parse(e.postData.contents);
   
    var sheet = SpreadsheetApp.openById(spreadsheetId).getSheetByName(sheetName);
   
    // Obtener última fila
    var ultimaFila = sheet.getLastRow() + 1;
   
    var fechaHora = new Date(); // variable fecha creada dentro de script
    sheet.getRange(ultimaFila, 1).setValue(fechaHora).setNumberFormat("dd/MM/yyyy HH:mm:ss");
    sheet.getRange(ultimaFila, 2).setValue(datos.nombre); // variable nombre
    sheet.getRange(ultimaFila, 3).setValue(datos.requerimiento); // variable requerimiento

   
    // Retornar respuesta en el formato solicitado
    return ContentService.createTextOutput(JSON.stringify({
      "messages": [
        {
          "type": "to_user",
          "content": "Datos insertados correctamente"
        }
      ]
    })).setMimeType(ContentService.MimeType.JSON);
   
  } catch (error) {
    // En caso de error, mantener el mismo formato de respuesta
    return ContentService.createTextOutput(JSON.stringify({
      "messages": [
        {
          "type": "to_user",
          "content": "Error: " + error.toString()
        }
      ]
    })).setMimeType(ContentService.MimeType.JSON);
  }
}


VIDEO DEMOSTRATIVO






Tal vez te interesen estas entradas

No hay comentarios