Mira lo que tengo en pantalla: un dashboard de People Analytics con gráficos, indicadores y filtros, que se actualiza automáticamente cada cierto tiempo. Los datos vienen de un archivo de Google Sheets y el dashboard se actualiza conforme esos datos cambian. Lo hice con Claude, la IA de Anthropic, y en este artículo te cuento exactamente cómo.
Claude ya puede crear Dashboards que se actualizan solos
🎁 Descarga los archivo para practicar
Escribe tu correo electrónico para recibir gratis el archivo para practicar.
*Al enviar mi correo electrónico, acepto recibir noticias y ofertas. Puedo darme de baja en cualquier momento.
La pregunta del millón

Si quieres hacer un dashboard, ¿qué es mejor: hacerlo en Excel, hacerlo en Power BI, o que la inteligencia artificial lo haga por ti? Honestamente no hay una respuesta correcta. Todo es depende. En este tutorial vamos a ver cómo crear un dashboard sin pasar por Excel y sin pasar por Power BI: le vamos a pedir a Claude que nos genere una página HTML independiente, conectada a un archivo de Google Sheets.
Paso 1: crear un proyecto en Claude
Entra a Claude, despliega el panel de la izquierda y entra a Proyectos. Crea un proyecto nuevo (yo le llamé “Dashboard HTML”). ¿Por qué proyecto y no una conversación normal? Porque quiero seguir trabajando en él los próximos días, y porque ahí puedo subir archivos y continuar la conversación cuando lo necesite.
Mis datos están en un Google Sheets de Recursos Humanos: ID de empleado, nombre, género, departamento, puesto, ciudad, modalidad, fecha de ingreso, antigüedad, salario, fecha de baja y estatus.
Paso 2: el primer prompt (pide que analice antes de generar)
Le pedí un dashboard HTML independiente —nada de artifacts de Claude, nada que dependa de Claude para funcionar— pero antes de generar cualquier cosa, le pedí que analizara mi tabla y me diera solo una sugerencia, sin construir nada todavía.
Le pegué cinco filas con encabezado desde mi Google Sheets. Claude respondió que con esos datos tenía sentido un dashboard enfocado en cuatro bloques: panorama general de la plantilla, composición organizacional, desempeño y compensación, y rotación y antigüedad. Me preguntó si quería esos cuatro bloques o prefería priorizar alguno. Le dije que lo dejara así.
¿Por qué pedir análisis antes que resultado? Porque cuando le pides algo directo a la IA, normalmente te entrega algo de inmediato. Yo quería que primero pensara en mis datos.
Paso 3: el segundo prompt (conectar a Google Sheets)
Aquí está la parte importante. Le dije que mis datos estaban en Google Sheets y que se conectara vía Google Apps Script Web.
¿Por qué Apps Script y no el método típico? Si te conectas desde Power Query o Power BI, normalmente publicas el Sheet como CSV desde Archivo → Compartir → Publicar en la web. Pero para conectar un HTML independiente a través de Claude, la vía es Extensiones → Apps Script. Esto lo investigué antes de grabar.
En el mismo prompt le pedí:
- Opción de actualización automática con selección de intervalos (30 segundos, 1 minuto, 10 minutos) además de un botón manual de “Actualizar”
- Filtros que apliquen a todos los gráficos
- Los colores de marca de Deztaca: navy, verde, cian, fondo blanco y gris claro (le pasé los códigos hexadecimal)
- Que antes de darme el HTML, me dijera qué tenía que configurar en Apps Script
Paso 4: configurar Apps Script
Claude me dio el código para pegar en Google Sheets → Extensiones → Apps Script. Este es el código:
javascript
/**
* @OnlyCurrentDoc
*/
function doGet(e) {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Hoja 1'); // ajusta el nombre de tu pestaña
const data = sheet.getDataRange().getValues();
const headers = data[0];
const rows = data.slice(1).map(row => {
const obj = {};
headers.forEach((h, i) => obj[h] = row[i]);
return obj;
});
return ContentService.createTextOutput(JSON.stringify(rows))
.setMimeType(ContentService.MimeType.JSON);
}
Importante: cambia 'Hoja 1' por el nombre exacto de tu pestaña. En mi caso tuve que agregar unas líneas extra arriba del código que Claude generó, porque ya había probado antes que sin ellas la conexión no funciona igual de bien —esto lo aprendí conectando Excel a Google Sheets en otro momento.
Después:
- Click en Implementar → Nueva implementación
- Selecciona tipo Aplicación web
- Ejecutar como: tú
- Quién tiene acceso: cualquier usuario
- Implementar, autoriza los permisos y copia la URL que te entrega
Verifica que funcione pegando esa URL directo en el navegador. Deberías ver un JSON con tus datos.
Paso 5: confirma los detalles con Claude
Antes de construir el HTML, Claude me hizo un par de preguntas de confirmación: si la columna “Fecha baja” viene vacía cuando el empleado está activo (afecta el cálculo de antigüedad y rotación), y si los intervalos de actualización que le pedí eran correctos. Contesté con base en mis datos reales y le pedí también un cuadro de texto en el HTML para pegar el link de Apps Script.
Paso 6: genera el dashboard (y corrige el error)
Claude entregó un archivo HTML independiente, listo para abrir en el navegador o subir a cualquier hosting. Al abrirlo, pegué la URL de Apps Script, di clic en “Conectar” y apareció un error: Chart is not defined. Copié el error tal cual, se lo pasé a Claude, descargué el archivo corregido y en el segundo intento conectó sin problema.
El resultado: tarjetas de empleados activos y bajas, antigüedad, salario, gráficos de empleados por departamento, distribución por género, empleados por ciudad y modalidad, desempeño, antigüedad y rotación. Los filtros funcionan sobre todos los gráficos al mismo tiempo.
La prueba de fuego
Para confirmar que la actualización automática funciona de verdad, agregué un registro nuevo directo en Google Sheets y activé el intervalo de 30 segundos en el dashboard. Esperé, y sin tocar nada más, el contador pasó de 13 a 14 empleados solo. Tienes tu archivo en Google Sheets, el dashboard se conecta, y no necesitas reconstruir nada cada vez que cambian tus datos.
Lo que aprendí (y que aplica sin importar la herramienta)
Te confieso algo: antes de este resultado, le pedí otros dashboards a Claude y me dio otras cosas, menos útiles. Mi prompt inicial fue genérico —le dije “sugiéreme un dashboard” y básicamente dejé que Claude decidiera por mí. Lo correcto es que tú definas qué KPIs necesitas, qué filtros tienen sentido para tu negocio y qué preguntas debe responder ese dashboard.
Excel, Power BI o IA es lo de menos. Lo que no se reemplaza es tu criterio: saber qué preguntarle a la herramienta, evaluar lo que te entrega y decidir tú, con base en tu necesidad, cuál es la opción correcta para ese caso específico.
Si quieres ir más a fondo con Excel, Power BI, Macros o los talleres en vivo de inteligencia artificial que hacemos en Deztaca, entra a deztaca.com/cursos y revisa qué programa se ajusta a lo que necesitas resolver ahora mismo.



