Cómo usar alertas y prompts en Google Apps Script para Google Sheets

¿Te gustaría que tus scripts de Google Sheets fueran más amigables y conversacionales? Hoy te muestro cómo puedes llevar la interacción con tus usuarios al siguiente nivel usando alertas y prompts en Google Apps Script. Vas a ver lo sencillo que es pedir información, confirmar acciones y mostrar mensajes personalizados, todo sin salir de tu hoja de cálculo. ¡Esto es algo que uso muchísimo para que mis automatizaciones sean más seguras y claras para quienes las usan!

Si prefieres ver el paso a paso en video, aquí te lo dejo a continuación:

¿Qué son las alertas y prompts en Google Apps Script?

Las alertas (msgBox) y prompts (inputBox) son cuadros de diálogo emergentes que aparecen directamente en la interfaz de Google Sheets (o cualquier app de Google con Apps Script). Sirven para mostrar mensajes, pedir confirmaciones y solicitar datos al usuario antes de ejecutar acciones importantes. Son perfectos para evitar errores, pedir información y hacer que tu sistema sea mucho más conversacional y seguro.

¿Por qué deberías usarlos?

  • Prevención de errores: Pide confirmación antes de borrar o modificar datos importantes.
  • Solicitar datos: Permite que el usuario ingrese información sin tener que editar celdas manualmente.
  • Feedback inmediato: Muestra mensajes personalizados cuando se completa una acción o hay un error.
  • Automatización segura: Puedes validar la información antes de continuar con el flujo del script.

Cómo crear una alerta en Google Apps Script

Para mostrar una alerta básica, usamos Browser.msgBox(). Este método lanza un cuadro de diálogo con un mensaje y un botón «Aceptar». Es ideal para notificaciones rápidas y simples.

Ejemplo de alerta simple

Así es como yo suelo mostrar un mensaje sencillo al usuario:

function mostrarAlerta() {
  Browser.msgBox("¡Hola! Este es un mensaje de alerta.");
}

Cuando ejecutas esta función desde el editor de Apps Script, te aparecerá el mensaje «¡Hola! Este es un mensaje de alerta.» en pantalla. Útil para avisar que un proceso terminó o que hubo un error.

Alertas con botones de confirmación (Sí/No)

Si quieres que el usuario tome una decisión, puedes mostrar botones de Sí y No. Aquí te dejo cómo lo hago:

function alertaConBotones() {
  var respuesta = Browser.msgBox("¿Deseas continuar?", Browser.Buttons.YES_NO);
  
  if (respuesta == "yes") {
    Browser.msgBox("Has seleccionado Sí.");
  } else {
    Browser.msgBox("Has seleccionado No.");
  }
}

Este script muestra la pregunta y, según la respuesta, lanza un mensaje diferente. Ojo: El valor que retorna puede ser “yes”, “no” o “cancel”, así que si quieres cubrir todos los casos, deberías validar también “cancel”.

Una pregunta frecuente en los comentarios es: ¿Puedo cambiar los textos de los botones? Lamentablemente, no se puede personalizar el texto de los botones en msgBox. Solo puedes elegir entre las opciones predeterminadas (Aceptar, Cancelar, Sí, No).

Cómo crear un prompt en Google Apps Script

Si necesitas pedirle información al usuario, usa Browser.inputBox(). Es la manera más directa de solicitar un dato sin tener que crear formularios externos o editar celdas manualmente.

Ejemplo de prompt simple

Este es el método que yo uso para pedir, por ejemplo, el nombre del usuario y saludarlo:

function solicitarNombre() {
  var nombre = Browser.inputBox("Por favor, ingresa tu nombre:");
  Browser.msgBox("Hola, " + nombre + "!");
}

El usuario escribe su nombre y, enseguida, el script le responde con un saludo personalizado. Súper útil para personalizar flujos o registros internos.

Prompt con validación de datos

Muchas veces no basta con pedir un dato: hay que asegurarse de que sea válido. Por ejemplo, si pides la edad, deberías validar que sea un número positivo. Así lo hago yo:

function solicitarEdad() {
  var edad = Browser.inputBox("Ingresa tu edad:");
  
  if (isNaN(edad) || edad <= 0) {
    Browser.msgBox("Por favor, ingresa una edad válida.");
  } else {
    Browser.msgBox("Tu edad es " + edad + " años.");
  }
}

Si el usuario escribe algo que no es un número o pone un valor negativo o cero, el script le avisa que la entrada no es válida. Así evitas errores y mantienes limpio tu flujo de datos.

¿Cómo manejar la cancelación?

Algo que me preguntan mucho: ¿Qué pasa si el usuario cancela el cuadro de diálogo? Tanto msgBox como inputBox devuelven “cancel” si el usuario cierra el cuadro o presiona Cancelar. Puedes agregar una validación así:

function solicitarDatoSeguro() {
  var dato = Browser.inputBox("¿Cuál es tu código?");
  if (dato == "cancel") {
    Browser.msgBox("No ingresaste ningún dato.");
    return;
  }
  // Continúa con el flujo normal aquí
}

De esta forma, tu script no se rompe si el usuario decide cancelar el proceso.

Casos prácticos y recomendaciones

Las alertas y prompts son ideales para:

  • Confirmar antes de eliminar filas o columnas.
  • Pedir datos para filtrar o buscar información en la hoja.
  • Solicitar claves de acceso antes de ejecutar scripts sensibles.
  • Lanzar mensajes de éxito o error después de una automatización.

Recuerda que estos cuadros de diálogo solo funcionan si ejecutas el script manualmente (desde el menú o el editor). No aparecerán si el script se ejecuta automáticamente por un trigger programado.

Conclusión

Las alertas y prompts de Google Apps Script son pequeños trucos que pueden marcar una gran diferencia en la experiencia de tus usuarios. Te ayudan a validar información, evitar errores y hacer tus automatizaciones mucho más interactivas y seguras. La próxima vez que hagas un script para Google Sheets, no dudes en incluirlos para mejorar la comunicación con tus usuarios.

¿Quieres profundizar más en automatización, Apps Script y trucos avanzados para Google Sheets? Te recomiendo mi curso completo de Google Apps Script desde cero donde vas a aprender desde los conceptos básicos hasta integraciones avanzadas.

Si quieres aprender a usar Google Forms y Google Sheets desde cero, te invito a tomar un curso gratis de 2 horas.

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

JuanSGuzman
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.