Google Sheets como hub de datos
Usa Google Sheets como base de datos central para tus automatizaciones.
Google Sheets es mucho más que una hoja de cálculo. Cuando lo combinas con Zapier, se convierte en una base de datos flexible y accesible que puede alimentar y recibir datos de cientos de aplicaciones. En esta lección aprenderás a usar Sheets como el centro neurálgico de tus automatizaciones.
Por qué Sheets como hub de datos
| Ventaja | Beneficio |
|---|---|
| Familiar | Todos saben usar hojas de cálculo |
| Accesible | Múltiples usuarios pueden ver y editar |
| Flexible | Fácil agregar columnas y modificar estructura |
| Visual | Los datos son fáciles de visualizar y filtrar |
| Gratuito | Sin costos adicionales para la mayoría de usos |
| Integrado | Funciona nativamente con todo Google Workspace |
Estructura ideal para automatizaciones
Para que Sheets funcione bien como base de datos, sigue estas reglas:
1. Una fila de encabezados clara
| ID | Nombre | Email | Fecha_Registro | Estado | Origen |
2. Naming conventions consistentes
- Sin espacios: usa guiones bajos (
Fecha_Registro) - Sin caracteres especiales
- Nombres descriptivos y cortos
3. Tipos de datos consistentes
- Fechas: siempre en formato YYYY-MM-DD
- Estados: valores predefinidos (Activo, Inactivo, Pendiente)
- IDs: únicos y secuenciales
4. Una pestaña por tipo de dato
- Pestaña "Leads"
- Pestaña "Clientes"
- Pestaña "Transacciones"
Triggers de Google Sheets
Zapier ofrece tres triggers principales:
New Spreadsheet Row
Se activa cuando se agrega una nueva fila (manualmente o vía Zapier).
Uso ideal: Procesar nuevos registros
Nueva fila en Sheets → Enviar email de bienvenida
New or Updated Spreadsheet Row
Se activa cuando una fila es creada o modificada.
Uso ideal: Reaccionar a cambios de estado
Fila actualizada (Estado = "Aprobado") → Enviar notificación
New Spreadsheet
Se activa cuando se crea una nueva hoja de cálculo.
Uso ideal: Procesos de inicialización
Nueva hoja creada → Agregar plantilla de columnas
Acciones de Google Sheets
Create Spreadsheet Row
Agrega una nueva fila al final de la hoja.
Ejemplo: Registrar leads desde formulario
Typeform submission → Create row in "Leads" sheet
Mapeo:
- Nombre: {{answer_1}}
- Email: {{answer_2}}
- Fecha: {{submitted_at}}
Update Spreadsheet Row
Actualiza una fila existente basándose en un criterio.
Ejemplo: Actualizar estado de pedido
WooCommerce order status changed → Update row where ID = {{order_id}}
Mapeo:
- Estado: {{new_status}}
- Fecha_Actualizacion: {{timestamp}}
Lookup Spreadsheet Row
Busca una fila que coincida con criterios específicos.
Ejemplo: Verificar si un cliente existe
New email received → Lookup row where Email = {{from_email}}
Si existe → Etiquetar email como "Cliente existente"
Si no existe → Crear nuevo registro
Create Spreadsheet
Crea una nueva hoja de cálculo completa.
Ejemplo: Reporte mensual automático
Schedule trigger (1st of month) → Create new spreadsheet "Ventas - {{month_name}}"
Caso práctico 1: Sistema de seguimiento de leads
Construyamos un sistema completo de gestión de leads usando Sheets como base de datos.
Estructura del Sheet
Crea una hoja llamada "CRM Simple" con estas columnas:
| ID | Nombre | Telefono | Origen | Fecha_Registro | Estado | Ultima_Actividad | Notas |
|---|
Zap 1: Captura de leads desde formulario
Trigger: Typeform - New Entry
Action: Google Sheets - Create Spreadsheet Row
Mapeo:
- ID: =ROW() (fórmula en Sheets)
- Nombre: {{Typeform.nombre}}
- Email: {{Typeform.email}}
- Telefono: {{Typeform.telefono}}
- Origen: "Typeform"
- Fecha_Registro: {{Typeform.submitted_at}}
- Estado: "Nuevo"
Zap 2: Enriquecimiento automático
Trigger: Google Sheets - New Row in "CRM Simple"
Filter: Estado = "Nuevo"
Action 1: Clearbit - Enrich Person
Input: {{email}}
Action 2: Google Sheets - Update Row
- Empresa: {{Clearbit.company}}
- Cargo: {{Clearbit.title}}
- LinkedIn: {{Clearbit.linkedin}}
Zap 3: Notificación al equipo de ventas
Trigger: Google Sheets - New or Updated Row
Filter: Estado changed to "Calificado"
Action: Slack - Send Channel Message
Channel: #ventas
Message: "Nuevo lead calificado: {{Nombre}} de {{Empresa}}"
Caso práctico 2: Control de inventario
Usa Sheets para mantener tu inventario sincronizado con tu tienda online.
Estructura del Sheet
| SKU | Producto | Stock_Actual | Stock_Minimo | Precio | Ultima_Venta | Proveedor |
|---|
Zap 1: Actualizar stock por ventas
Trigger: Shopify - New Order
Action: Google Sheets - Update Spreadsheet Row
Lookup column: SKU
Lookup value: {{line_items.sku}}
Stock_Actual: {{Stock_Actual}} - {{quantity}}
Ultima_Venta: {{created_at}}
Zap 2: Alerta de stock bajo
Trigger: Google Sheets - New or Updated Row
Filter: Stock_Actual < Stock_Minimo
Action: Email - Send Outbound Email
To: compras@empresa.com
Subject: "Alerta: Stock bajo de {{Producto}}"
Body: "El producto {{Producto}} (SKU: {{SKU}}) tiene {{Stock_Actual}} unidades. Mínimo requerido: {{Stock_Minimo}}. Proveedor: {{Proveedor}}"
Zap 3: Reporte semanal
Trigger: Schedule - Every Monday at 9am
Action 1: Google Sheets - Get Many Spreadsheet Rows
Filter: Stock_Actual < Stock_Minimo
Action 2: Email - Send Email
Subject: "Reporte semanal de inventario"
Body: Lista de productos con stock bajo
Funciones avanzadas
Lookup con múltiples criterios
Para buscar con más de un criterio, combina valores en una columna auxiliar:
En Sheets, crea una columna "Clave_Busqueda":
=CONCATENATE(A2, "-", B2) // Resultado: "SKU001-Almacén1"
En Zapier, busca usando esa columna combinada.
Formateo de datos
Usa Formatter de Zapier antes de escribir en Sheets:
Trigger: Form submission
↓
Formatter: Format Date
Input: {{submitted_at}}
Output format: YYYY-MM-DD
↓
Google Sheets: Create Row
Prevenir duplicados
Antes de crear una fila, verifica si ya existe:
1. Lookup Row (buscar por email)
2. Filter: Only continue if row NOT found
3. Create Row
O actualiza si existe:
1. Lookup Row (buscar por email)
2. Path A (existe): Update Row
3. Path B (no existe): Create Row
Límites y consideraciones
| Aspecto | Límite | Solución |
|---|---|---|
| Filas máximas | 10 millones de celdas | Archivar datos antiguos |
| Velocidad | 100 filas/minuto aprox | Usar batch operations |
| Lookup | Solo una columna | Crear columna combinada |
| Fórmulas | No se ejecutan vía Zapier | Usar Formatter de Zapier |
Mejores prácticas
Nombra tus hojas descriptivamente: "2024_Ventas" en lugar de "Sheet1"
Congela la fila de encabezados: Evita confusiones al scroll
Usa validación de datos: Define listas desplegables para campos de estado
Crea respaldos automáticos: Un Zap semanal que copie la hoja a otra ubicación
Documenta la estructura: Mantén una pestaña "README" con la descripción de cada columna
Limpia datos regularmente: Archiva registros antiguos para mantener performance
Solución de problemas
"Row not found" en Lookup
- Verifica que el valor buscado coincida exactamente (mayúsculas, espacios)
- Usa Formatter para limpiar el valor antes de buscar
Datos aparecen en columnas incorrectas
- Revisa que los encabezados no hayan cambiado
- Reconecta el Zap si modificaste la estructura
El trigger no detecta cambios
- Asegúrate de que "New or Updated Row" está configurado, no solo "New Row"
- Verifica que el cambio no sea solo de formato
Ejercicio práctico
Crea un sistema de gestión de proyectos simple:
- Sheet "Proyectos": ID, Nombre, Cliente, Estado, Fecha_Inicio, Fecha_Entrega
- Zap 1: Cuando Estado cambie a "Completado", enviar email al cliente
- Zap 2: Alerta 3 días antes de Fecha_Entrega si Estado != "Completado"
- Zap 3: Resumen semanal de proyectos activos a Slack
Resumen
En esta lección aprendiste a:
- Estructurar hojas de cálculo como bases de datos efectivas
- Usar triggers para reaccionar a nuevos datos y cambios
- Crear, actualizar y buscar filas con Zapier
- Implementar sistemas de leads e inventario
- Manejar lookups y prevenir duplicados
Próximos pasos
En la siguiente lección veremos cómo automatizar Google Calendar para crear eventos desde otras aplicaciones, completando la integración con el ecosistema de Google Workspace.
Tip avanzado: Combina Google Sheets con Google Apps Script para crear funciones personalizadas que Zapier pueda invocar mediante webhooks, expandiendo las posibilidades de automatización.
¿Completaste esta lección?
Marca esta lección como completada. Tu progreso se guardará en tu navegador.