Convertí Google Sheets en una aplicación web completa usando Claude

Hace unas semanas les mostré cómo crear un dashboard en HTML conectado a Google Sheets usando Claude y Apps Script. En los comentarios alguien preguntó algo que se quedó rondando: ¿y si también quiero un sistema para alimentar esa hoja, no solo para leerla? Me pareció un reto justo, así que me fui a probarlo, y en este post te resumo cómo le pedí a Claude un CRUD completo (alta, baja y actualización de registros) conectado al mismo archivo de Google Sheets.

Le pedía a Claude un sistema de Alta, Baja y Actualización de registros

Convertí Google Sheets en una aplicación web completa usando Claude

🎁 Descarga los archivo para practicar

Escribe tu correo electrónico para recibir gratis el archivo para practicar.


Primero, un repaso rápido del dashboard

Imagen 1. Dashboard HTML que construimos con Cluade.

Si no viste el video anterior, aquí va el resumen: le pedí a Claude un dashboard en HTML que se conecta a un archivo de Google Sheets usando Apps Script como Web App. Ese dashboard solo lee los datos, no los modifica. Para replicarlo tienes que:

  1. Crear una copia del archivo de Google Sheets con la misma estructura de encabezados.
  2. Ir a Extensiones > Apps Script y pegar el código que Claude generó para el dashboard (el que trae los datos con doGet).
  3. Ir a Implementar > Nueva implementación, elegir tipo Web App, ejecutar como tú mismo y dar acceso a todos.
  4. Copiar el link que te da la implementación y pegarlo en el dashboard.

Con eso el dashboard se conecta y, cada vez que actualizas, jala los datos frescos de la hoja.

Ahora sí, el CRUD

Imagen 2. CRUD creado con Claude (lectura, alta, baja y actualización de registros)

Con el dashboard ya funcionando, fui a Claude y le adjunté el HTML del dashboard, el link de la Web App y la estructura de mis datos en CSV (sin datos sensibles, ojo con esto: nombre, apellido y salario los omití, porque si tu modelo no tiene licencia corporativa no deberías subir información sensible).

Le expliqué también que el campo de antigüedad en meses se calcula con una fórmula (en este caso usando SIFECHA), para que no me generara ese campo como editable en el formulario de alta. Y le pedí que el CRUD conservara el mismo diseño del dashboard.

Claude hizo algo que me pareció clave: antes de ponerse a programar, preguntó si el Web App actual solo leía datos o si ya tenía métodos para crear, editar y eliminar. Como solo tenía doGet (lectura), Claude entendió que había que programar el backend completo. También preguntó cómo debía generarse el ID de cada nuevo registro, y le dije que fuera automático con el siguiente consecutivo.

Con esa información Claude armó dos piezas:

  • El código de backend en Apps Script (con doPost para crear, editar y eliminar), que reemplaza o se combina con el que ya tenías.
  • El HTML del CRUD, con el mismo diseño del dashboard, conectado a ese backend.

Lo que sí tienes que hacer manualmente

Aquí no todo fue automático, y vale la pena que lo sepas antes de intentarlo:

  • Tienes que pegar el nuevo código de Apps Script y ajustar el nombre de la hoja (sheetName) para que coincida con tu pestaña real.
  • Después de pegar el código, hay que ir a Implementar > Administrar implementaciones > Editar > Nueva versión > Implementar. Esto mantiene el mismo link, no genera uno nuevo.
  • Es normal que salgan ajustes finos en el camino. A mí me pasó con el formato de fecha (el CRUD guardaba fecha y hora, cuando en la hoja solo necesitaba la fecha) y con la fórmula de antigüedad, que no se copiaba automáticamente en los registros nuevos. Ambas cosas se corrigen pidiéndole a Claude el ajuste puntual, mostrándole la diferencia entre lo que esperabas y lo que estaba pasando.

Un detalle importante sobre el “baja”: cuando eliminas un registro desde el CRUD, no desaparece de la hoja. Lo que hace es cambiar su estatus a “baja”. Así que si buscas ese registro después, lo vas a seguir viendo, solo que con otro estatus.

Una aclaración necesaria

Este ejercicio es educativo. Sirve para comprobar que sí se puede construir un CRUD funcional conectado a Google Sheets con ayuda de Claude, pero si vas a manejar información sensible o procesos reales de tu empresa, esto no es la opción ideal. Lo ideal en ese caso es un sistema con usuarios, contraseñas y restricciones de acceso. Si decides implementarlo tal cual para tus procesos, es bajo tu responsabilidad.

Dicho esto, para prototipos rápidos, herramientas internas sencillas o para entender qué tan lejos puedes llegar pidiéndole cosas concretas a una IA, el resultado me sorprendió: filtros, búsqueda, paginación, alta, edición y baja lógica, todo conservando el diseño original del dashboard.

Si quieres ver el proceso completo, con cada prompt y cada ajuste, el video está disponible en el canal. Y si te interesa ir más a fondo en automatización con Excel, Power Query, Power BI e inteligencia artificial aplicada a tu trabajo diario, te espero en Deztaca.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top