Lección 8 de 33Integraciones con Google Workspace

Google Sheets como hub de datos

Usa Google Sheets como base de datos central para tus automatizaciones.

15 minutos

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 Email 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

  1. Nombra tus hojas descriptivamente: "2024_Ventas" en lugar de "Sheet1"

  2. Congela la fila de encabezados: Evita confusiones al scroll

  3. Usa validación de datos: Define listas desplegables para campos de estado

  4. Crea respaldos automáticos: Un Zap semanal que copie la hoja a otra ubicación

  5. Documenta la estructura: Mantén una pestaña "README" con la descripción de cada columna

  6. 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:

  1. Sheet "Proyectos": ID, Nombre, Cliente, Estado, Fecha_Inicio, Fecha_Entrega
  2. Zap 1: Cuando Estado cambie a "Completado", enviar email al cliente
  3. Zap 2: Alerta 3 días antes de Fecha_Entrega si Estado != "Completado"
  4. 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.