Automatización PRO para Negocios

Aprende a conectar Google Forms y Make.com con Webhooks como un profesional.

¿Por qué este método es superior?

Dejaremos de lado el método básico para sumergirnos en la técnica que utilizan los profesionales. Conectar aplicaciones a través de Webhooks y Google Apps Script no solo es más robusto y fiable, sino que te da un control total sobre los datos y abre un universo de posibilidades para conectar casi cualquier servicio web.

Más Robusto

Elimina problemas de sincronización. La información llega al instante.

Más Potente

Envía datos adicionales desde Google Sheets y ten control total.

Universal

Conecta casi cualquier aplicación web, sin límites.

Visualiza el Proceso Completo

Este es el flujo de datos que construiremos. Cada paso es una pieza clave en nuestra automatización. Haz clic en un paso para ir directamente a sus instrucciones en la guía.

1. Google Form
Captura de datos
2. Google Sheets
Registro de respuestas
3. Apps Script
El "cerebro" que envía
4. Webhook (Make)
Receptor de datos
5. Acciones Finales
Email, Tareas, etc.

Guía Detallada: Automatizando la Captura de Clientes

Sigue estos pasos para configurar tu primera automatización profesional. Cada sección contiene las instrucciones exactas que necesitas.

Diseña un formulario de contacto simple. Para este ejemplo, asegúrate de incluir los siguientes campos: `Nombre Completo`, `Email de Contacto`, `Teléfono` y `¿En qué podemos ayudarte?`.

Dentro de tu Google Form, ve a la pestaña "Respuestas". Haz clic en el icono verde de Google Sheets y selecciona "Crear una hoja de cálculo". Esto es fundamental, ya que nuestro script leerá los datos directamente desde esta hoja vinculada.

  1. En Make.com, crea un nuevo escenario.
  2. Añade un módulo de **Webhooks** y selecciona el trigger "**Custom webhook**".
  3. Haz clic en "Add", dale un nombre (ej: "Webhook Clientes Negocio") y guarda.
  4. Make te dará una URL única. **¡Cópiala!** La necesitarás en el siguiente paso. Deja la ventana de Make abierta, en modo "escucha".

Este es el núcleo de la automatización. Le daremos superpoderes a nuestro formulario para que envíe los datos activamente a nuestro webhook.

  1. En tu Google Form, ve al menú de tres puntos (⋮) y selecciona "Editor de secuencias de comandos".
  2. Borra el código por defecto y pega el siguiente script:
function enviarFormularioYDatosDeHojaAlWebhook(e) { const WEBHOOK_URL = "PEGA-AQUI-TU-WEBHOOK"; Logger.log("INICIO: enviarFormularioYDatosDeHojaAlWebhook"); if (!WEBHOOK_URL || WEBHOOK_URL.trim() === "" || WEBHOOK_URL.includes("PEGA-AQUI")) { Logger.log("ERROR CRÍTICO: La URL del Webhook no ha sido configurada."); return; } let payloadFinal = {}; let respuestasDelFormulario = {}; let datosDeLaHoja = {}; let sheetRowId = "No procesado"; let emailEncuestado = "No recopilado"; let timestampEnvio = new Date().toISOString(); try { if (!e) { Logger.log("ERROR: Objeto de evento 'e' no disponible."); return; } const formResponse = e.response; emailEncuestado = formResponse.getRespondentEmail() || "Email no recopilado"; timestampEnvio = formResponse.getTimestamp().toISOString(); const itemResponses = formResponse.getItemResponses(); itemResponses.forEach(itemResp => { const tituloPregunta = itemResp.getItem().getTitle(); let respuesta = itemResp.getResponse(); if (Array.isArray(respuesta)) { respuesta = respuesta.join(', '); } respuestasDelFormulario[tituloPregunta] = respuesta; }); const form = e.source; const spreadsheetId = form.getDestinationId(); if (spreadsheetId) { const spreadsheet = SpreadsheetApp.openById(spreadsheetId); const responseSheet = spreadsheet.getSheets()[0]; sheetRowId = responseSheet.getLastRow(); if (sheetRowId > 1) { const headers = responseSheet.getRange(1, 1, 1, responseSheet.getLastColumn()).getValues()[0]; const rowData = responseSheet.getRange(sheetRowId, 1, 1, responseSheet.getLastColumn()).getValues()[0]; headers.forEach((header, i) => { datosDeLaHoja[header.trim()] = rowData[i]; }); } } else { sheetRowId = "Formulario no vinculado a una hoja."; } payloadFinal = { origen: "Webhook desde Google Form Script", tituloFormulario: form.getTitle(), idRespuesta: formResponse.getId(), timestamp: timestampEnvio, emailRecopilado: emailEncuestado, respuestasFormulario: respuestasDelFormulario, numeroFilaSheet: sheetRowId, datosFilaSheet: datosDeLaHoja }; } catch (error) { Logger.log("ERROR durante el procesamiento: " + error.toString()); payloadFinal = { error: "Ocurrió un error en el script", detalles: error.toString() }; } const options = { method: "post", contentType: "application/json", payload: JSON.stringify(payloadFinal), muteHttpExceptions: true }; try { const httpResponse = UrlFetchApp.fetch(WEBHOOK_URL, options); Logger.log(`Webhook contactado. Código: ${httpResponse.getResponseCode()}`); } catch (fetchError) { Logger.log("ERROR CRÍTICO al enviar al webhook: " + fetchError.toString()); } Logger.log("FIN de la ejecución."); }
  1. **Acción Requerida:** Reemplaza `"PEGA-AQUI-TU-WEBHOOK"` con la URL que copiaste de Make.com.
  2. Guarda el proyecto con el icono del disquete.

Este es el paso que le dice a tu script cuándo ejecutarse. ¡Mucha atención!

  1. En el Editor de Apps Script, ve al icono del reloj ("Activadores").
  2. Haz clic en "+ Añadir activador".
  3. Configúralo EXACTAMENTE así:
    • Función que se debe ejecutar: `enviarFormularioYDatosDeHojaAlWebhook`
    • Implementación: `HEAD`
    • Fuente del evento: `Del formulario`
    • Tipo de evento: `Al enviar el formulario`
  4. Guarda y **acepta todos los permisos** que Google te solicite. Es seguro, es tu propio código.
  1. Asegúrate de que tu webhook en Make.com sigue "escuchando".
  2. Abre tu Google Form en modo vista previa y envía una respuesta de prueba.
  3. En segundos, Make.com debería mostrar el mensaje "Successfully determined". ¡Felicidades, la conexión funciona!

Ahora que los datos llegan a Make.com, el cielo es el límite. Puedes añadir módulos para:

  • Google Sheets: Usa "Add a Row" para registrar los datos en una base de datos central.
  • Gmail: Usa "Send an email" para enviar un correo de bienvenida personalizado.
  • Trello/Asana: Usa "Create a Card/Task" para notificar a tu equipo comercial.

Guía de Supervivencia

Si algo no funciona, respira. El 99% de los errores se resuelven revisando estos puntos.

Problema: No llegan los datos a Make.com.

  • Revisa el Activador: Es la causa más común. Asegúrate de que esté configurado exactamente como en el Paso 5.
  • Revisa la URL del Webhook: ¿La pegaste correctamente en el script? ¿Está entre comillas?
  • Consulta los Registros: En el Editor de Apps Script, ve a "Ejecuciones". Ahí verás los intentos y los mensajes de error (`Logger.log`).

Problema: Error de permisos o autorización.

Significa que el script no tiene permiso para ejecutarse. La solución es eliminar el activador, crearlo de nuevo y completar cuidadosamente el proceso de autorización del Paso 5, aceptando todos los permisos.

¡Ahora te Toca a Ti!

Ahora que dominas la base, elige uno de estos retos para construir y explorar. ¡Lo revisaremos en la próxima sesión!

Reto 1: Respuestas con IA

Añade un módulo de OpenAI a tu escenario. Pídele a ChatGPT que redacte un correo de bienvenida amable y profesional basado en la consulta del cliente.

Reto 2: Marketing con IA

Usa AI Studio (aistudio.google.com) para crear un prompt que genere una publicación de LinkedIn sobre el servicio consultado por el cliente.

Reto 3 (Avanzado): Blog Automatizado

Crea un escenario que se ejecute cada lunes, pida a OpenAI 5 ideas de artículos de blog sobre tu negocio y las guarde en una hoja de Google Sheets.