Google Sheets es uno de los almacenes de datos más versátiles del mundo: gratuito, colaborativo y accesible desde cualquier lugar. Cuando se combina con n8n, se convierte en un potente backend para CRMs ligeros, registros de eventos, paneles de informes y pipelines de datos.
En esta guía cubrimos la configuración de credenciales (tanto OAuth2 como Cuenta de Servicio), todas las operaciones de nodos, los triggers y cuatro flujos de trabajo completos del mundo real que puedes importar y adaptar hoy mismo.
Visita Scriflow, describe tu automatización de Google Sheets en inglés sencillo y obtén un archivo JSON de n8n listo para importar, sin necesidad de configuración manual.
Configuración de las credenciales de Google Sheets
Tienes dos formas de autenticarte con Google Sheets desde n8n:
| Método | Ideal para | Complejidad de la configuración |
|---|---|---|
| OAuth2 (cuenta de Google) | Acceder a hojas de cálculo en tu cuenta personal o de GSuite | Media: requiere un proyecto de Google Cloud + pantalla de consentimiento de OAuth |
| Service Account | Automatización de servidor a servidor, sin necesidad de interacción del usuario | Media: requiere compartir la hoja de cálculo con el correo electrónico de la cuenta de servicio |
Opción A: Configuración de OAuth2
- Ve a console.cloud.google.com → Crea un nuevo proyecto (o selecciona uno existente).
- Habilita la Google Sheets API y la Google Drive API.
- Ve a APIs & Services → Credentials → Create OAuth 2.0 Client ID.
- Establece el tipo de aplicación en Web Application. Añade la URL de callback de n8n como URI de redireccionamiento autorizado.
- Descarga el ID de cliente y el secreto de cliente.
- En n8n: Credentials → New → Google Sheets OAuth2 API → introduce el ID de cliente y el secreto → Conectar.
Opción B: Configuración de la cuenta de servicio
- En Google Cloud Console → Credentials → Create Service Account.
- Descarga el archivo de clave JSON para la cuenta de servicio.
- En n8n: Credentials → New → Google Service Account → pega el contenido de la clave JSON.
- Importante: Comparte tu hoja de cálculo de Google con el correo electrónico de la cuenta de servicio (
name@project.iam.gserviceaccount.com) con acceso de Editor.
Utiliza Service Account para flujos de trabajo automatizados del servidor (sin caducidad del token, sin necesidad de interacción con la interfaz de usuario). Utiliza OAuth2 cuando necesites actuar como un usuario específico o acceder a hojas de cálculo privadas de tu propiedad.
Resumen de las operaciones de los nodos
El nodo n8n Google Sheets cubre todas las operaciones CRUD más la gestión a nivel de hoja de cálculo:
Lectura de filas de una hoja
Para leer datos, necesitas el ID de la hoja de cálculo (que se encuentra en la URL: docs.google.com/spreadsheets/d/[ID]/edit) y el nombre de la hoja:
Cada fila se convierte en un elemento n8n separado. Los encabezados de las columnas en la fila 1 se convierten en los nombres de los campos JSON en la salida:
Añadir filas
La operación Append Row es el caballo de batalla de la automatización de Google Sheets. Asigna automáticamente los campos JSON entrantes a los encabezados de las columnas:
Los nombres de las columnas en el nodo deben coincidir exactamente con la fila de encabezado en tu hoja de cálculo (distingue entre mayúsculas y minúsculas). Si la hoja tiene una columna "First Name", utiliza First Name, no firstName o first_name.
Actualización de filas
Para actualizar una fila, debes identificarla. La forma más fiable es utilizar el row_number devuelto por una operación anterior de Get Rows:
Triggers de Google Sheets
El nodo Google Sheets Trigger sondea tu hoja de cálculo en busca de cambios y activa tu flujo de trabajo cuando se añaden o actualizan datos. Esto permite la automatización reactiva sin un servicio de webhook de terceros.
Google Sheets no admite de forma nativa los webhooks. El nodo de trigger sondea la hoja cada minuto (o el intervalo que hayas configurado). Para reacciones casi en tiempo real, combina un webhook de envío de Google Forms con el nodo Sheets para las escrituras.
Ejemplos de flujos de trabajo reales
Flujo de trabajo 1: Envíos de formularios → CRM de Google Sheets
Captura automáticamente los envíos de formularios del sitio web en un CRM de Google Sheets:
- Webhook Trigger: recibe el envío del formulario desde tu sitio.
- Set Node: normaliza y enriquece los datos (añade la marca de tiempo, el estado predeterminado).
- Google Sheets → Append Row: añade el lead a la hoja "Leads".
- Gmail/SendGrid: envía un correo electrónico de bienvenida al nuevo lead.
- Slack: notifica al equipo de ventas en
#new-leads.
Flujo de trabajo 2: Hoja de cálculo para informes por correo electrónico
Cada lunes por la mañana, extrae los datos de ventas de la semana pasada y envía por correo electrónico un informe formateado:
- Schedule Trigger: lunes a las 8 AM.
- Google Sheets → Get Rows: lee todas las filas de la hoja "Sales" donde la fecha corresponde a los últimos 7 días.
- Code Node: agrega los totales (suma los ingresos, cuenta los acuerdos, calcula la tasa de conversión).
- Gmail → Send Email: envía un informe con formato HTML al equipo.
Flujo de trabajo 3: Sincronización de la base de datos → Google Sheets
Mantén una hoja de Google sincronizada con una base de datos PostgreSQL o MySQL para la visibilidad de las partes interesadas:
- Schedule Trigger: se ejecuta cada hora.
- Postgres Node: consulta los registros más recientes.
- Google Sheets → Clear: borra el rango de datos (no los encabezados) para evitar duplicados.
- Google Sheets → Append Row: escribe todas las filas de datos nuevos en bloque.
Flujo de trabajo 4: Typeform → Sheets → Notificación de Slack
- Typeform Trigger: se activa con cada respuesta a la encuesta.
- Google Sheets → Append Row: registra la respuesta con la marca de tiempo y la puntuación.
- IF Node: comprueba si la puntuación NPS es ≤ 6 (detractor).
- Slack (rama verdadera): alerta al equipo de éxito del cliente para que haga un seguimiento.
Consejos para grandes conjuntos de datos
- Utiliza filtros en la lectura: Siempre filtra en el nivel del nodo Sheets en lugar de leer todas las filas y filtrar en n8n. Esto reduce el uso de la cuota de la API.
- Añade por lotes: La operación Append Row puede procesar varios elementos en una sola llamada a la API. n8n gestiona esto automáticamente cuando los nodos ascendentes producen varios elementos.
- Archiva los datos antiguos: Google Sheets tiene un rendimiento deficiente más allá de ~50k filas. Utiliza una operación Delete Row o mueve las filas antiguas a una hoja de archivo periódicamente.
- Utiliza rangos con nombre: Define rangos con nombre en Google Sheets (por ejemplo, "SalesData") y haz referencia a ellos por su nombre en lugar de rangos de celdas codificados como
A:Z. - Supervisa la cuota de la API: La API de Google Sheets tiene un límite de 300 solicitudes de escritura por minuto. Añade nodos Wait si estás escribiendo muchas filas en rápida sucesión.
Preguntas frecuentes
batchUpdate de la API de Google Sheets con una solicitud addSheet. Esto te da control total sobre la creación, el nombre y el posicionamiento de las pestañas.row_number. Pasa esto al campo Número de fila de la operación Update Row para modificar solo esa fila específica.