Service Account de Google en n8n: Guía Completa 2026

Por Qué Deberías Usar Service Accounts de Google en n8n (Y Cómo Configurarlos)

¿Necesitas configurar service account de Google en n8n para tus automatizaciones? Si estás usando OAuth para conectarte a Google Sheets, Drive o Gmail, probablemente estés cometiendo un error que te va a costar tiempo (y dolores de cabeza) más adelante.

Cuando empecé a automatizar workflows en n8n, usaba OAuth como todos. Es más fácil, más rápido… hasta que deja de funcionar. Los tokens expiran, las credenciales se invalidan cuando cambias la contraseña, y peor aún: si alguien del equipo se va, todos los workflows conectados a su cuenta mueren.

La solución profesional: configurar service account Google n8n correctamente desde el inicio.

En este tutorial te explico qué son, por qué importan para emprendedores tech, y cómo configurarlos paso a paso.

¿Qué es un Service Account y Por Qué Importa?

Un Service Account es una cuenta especial de Google diseñada para aplicaciones y automatizaciones, no para humanos.

Diferencias clave con OAuth:

OAuth (el método «fácil»):

  • Conectado a un usuario específico
  • Requiere reautorización periódica
  • Si cambias la contraseña de Google, se rompe
  • Si el usuario pierde acceso, los workflows fallan

Service Account (el método profesional):

  • Independiente de usuarios humanos
  • Sin reautorizaciones (credenciales permanentes)
  • Funciona aunque cambies contraseñas
  • Ideal para producción y equipos

Para emprendedores y startups: Si estás automatizando procesos críticos de tu negocio (CRM, facturación, reportes), necesitas estabilidad. Los Service Accounts te dan eso.

Cuándo Usar Service Accounts en n8n

Usa Service Accounts si:

  • Automatizas procesos de negocio críticos
  • Trabajas con Google Sheets como base de datos
  • Necesitas que workflows corran sin supervisión
  • Compartes workflows entre varias personas
  • Quieres evitar re-autenticaciones cada pocos meses

Casos de uso reales:

  • CRM automatizado: Sincronización de leads entre formularios y Google Sheets
  • Reportes automáticos: Generación diaria de reportes en Sheets desde tu base de datos
  • Gestión de archivos: Subir/mover archivos en Google Drive automáticamente
  • Emails transaccionales: Enviar correos desde Gmail sin depender de una cuenta personal

Paso 1: Crear un Proyecto en Google Cloud Console

Primero necesitas un proyecto de Google Cloud. Es gratis para uso básico.

Instrucciones:

  1. Ve a Google Cloud Console
  2. Inicia sesión con tu cuenta de Google (puede ser personal o de workspace)
  3. Haz clic en el dropdown de proyectos (arriba a la izquierda)
  4. Selecciona «Nuevo Proyecto»
  5. Dale un nombre descriptivo (ejemplo: «n8n-automations»)
  6. Haz clic en Crear

Tip: Si ya tienes un proyecto para otras cosas, puedes usar el mismo. Yo recomiendo uno dedicado para n8n para mantener orden.

Paso 2: Activar las APIs Necesarias

Google requiere que actives explícitamente cada API que vas a usar.

APIs comunes para n8n:

  • Google Sheets API
  • Google Drive API
  • Gmail API
  • Google Calendar API

Cómo activarlas:

  1. En el menú lateral, ve a «APIs y servicios» > «Biblioteca»
  2. Busca «Google Sheets API»
  3. Haz clic en la API y luego en «Habilitar»
  4. Repite para cada API que necesites

¿Cuáles activar? Depende de tus workflows. Si usas Google Sheets, activa Sheets + Drive (Drive es necesario para permisos de archivos).

Paso 3: Crear el Service Account

Ahora sí, vamos a crear la cuenta de servicio.

Instrucciones:

  1. Ve a «APIs y servicios» > «Credenciales»
  2. Haz clic en «Crear credenciales» > «Cuenta de servicio»
  3. Completa los campos:
  4. Nombre: Algo descriptivo (ejemplo: «n8n-service-account»)
  5. ID: Se genera automáticamente (déjalo así)
  6. Descripción: Opcional (ejemplo: «Service account para workflows de n8n»)
  7. Haz clic en Crear y continuar
  8. Función (Role): Déjalo en blanco por ahora (lo manejaremos con permisos de Sheets)
  9. Haz clic en Continuar y luego Listo

Importante: El Service Account tiene su propio email (algo como nombre@proyecto.iam.gserviceaccount.com). Lo necesitarás después.

Paso 4: Generar la Clave JSON

El archivo JSON contiene las credenciales que n8n usará para autenticarse.

Instrucciones:

  1. En la lista de cuentas de servicio, haz clic en la que acabas de crear
  2. Ve a la pestaña «Claves»
  3. Haz clic en «Agregar clave» > «Crear clave nueva»
  4. Selecciona formato JSON
  5. Haz clic en Crear

El archivo se descarga automáticamente. Guárdalo en un lugar seguro. Es como una contraseña: quien tenga ese archivo puede actuar como tu Service Account.

Estructura del archivo:

{
  "type": "service_account",
  "project_id": "tu-proyecto",
  "private_key_id": "...",
  "private_key": "-----BEGIN PRIVATE KEY-----\n...",
  "client_email": "nombre@proyecto.iam.gserviceaccount.com",
  "client_id": "...",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "...",
  "client_x509_cert_url": "..."
}

Paso 5: Compartir Google Sheets con el Service Account

Aquí está el truco que muchos se pierden.

El Service Account tiene su propio email. Para que pueda acceder a tus Google Sheets, tienes que compartirle el documento explícitamente.

Instrucciones:

  1. Abre el Google Sheet que quieres usar en n8n
  2. Haz clic en Compartir (arriba a la derecha)
  3. Pega el email del Service Account (el que termina en @....iam.gserviceaccount.com)
  4. Dale permisos:
  5. Editor: Si n8n va a escribir/modificar datos
  6. Lector: Si solo va a leer
  7. Desmarca «Notificar a las personas» (no tiene caso, es un bot)
  8. Haz clic en Compartir

Repite esto para cada Sheet/Drive que uses en n8n.

Paso 6: Configurar la Credencial en n8n

Ahora vamos a conectar n8n con tu Service Account.

Instrucciones:

  1. En n8n, ve a Credentials (menú lateral)
  2. Haz clic en «Add Credential»
  3. Busca «Google Service Account»
  4. Abre el archivo JSON que descargaste con un editor de texto
  5. Completa los campos en n8n:

Campos obligatorios:

  • Service Account Email: Copia el valor de client_email del JSON
  • Private Key: Copia el valor completo de private_key (incluyendo -----BEGIN PRIVATE KEY----- y -----END PRIVATE KEY-----)

Campos opcionales (dejar en default):

  • Impersonate a User: OFF (solo activa si necesitas actuar como un usuario específico de Google Workspace)
  • Set up for use in HTTP Request node: OFF (solo si planeas usarlo para hacer requests HTTP autenticados)
  • Allowed HTTP Request Domains: «All» (o «None» si no usarás HTTP Request)
  • Dale un nombre descriptivo (ejemplo: «Google Service Account – Producción»)
  • Haz clic en Test connection para verificar
  • Si aparece «Connection tested successfully ✅», haz clic en Save

Tip: Puedes usar el mismo Service Account para múltiples nodos (Sheets, Drive, Gmail, etc.). No necesitas uno por servicio.

¿Cuándo usar «Impersonate a User»?
Solo si trabajas con Google Workspace y necesitas que el Service Account actúe como un usuario específico de tu organización (por ejemplo, para acceder a su Gmail o Drive privado). Para uso normal con Sheets compartidos, déjalo en OFF.

Estructura del archivo JSON:

{
  "client_email": "tu-service-account@proyecto.iam.gserviceaccount.com",
  "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvg...\n-----END PRIVATE KEY-----\n"
}

Captura de pantalla de la configuración completa en n8n:

Configuración de Google Service Account en n8n

Paso 7: Usar el Service Account en Workflows

Ahora que tienes la credencial configurada, úsala en tus nodos de Google.

Ejemplo con Google Sheets:

  1. Agrega un nodo Google Sheets
  2. En Credential to connect with, selecciona tu Service Account
  3. Configura la operación (Read, Append, Update, etc.)
  4. Ingresa el Sheet ID (lo sacas de la URL del Sheet)
  5. ¡Listo!

Diferencia clave: Con Service Account no te pedirá autorización en el browser. Funciona directo.

Errores Comunes y Cómo Solucionarlos

Error: «The caller does not have permission»

Causa: No compartiste el Google Sheet con el Service Account.

Solución: Repite el Paso 5. Comparte el Sheet con el email del Service Account.

Error: «API has not been used in project»

Causa: Olvidaste habilitar la API en Google Cloud Console.

Solución: Repite el Paso 2. Ve a la Biblioteca de APIs y habilita la que necesitas.

Error: «Connection test failed»

Causa: Copiaste incorrectamente el client_email o el private_key del JSON.

Solución:

  • Verifica que copiaste el email completo (termina en @....iam.gserviceaccount.com)
  • Asegúrate de copiar el private_key completo, incluyendo -----BEGIN PRIVATE KEY----- y -----END PRIVATE KEY-----
  • No agregues espacios o saltos de línea adicionales

El workflow se ejecuta pero no lee/escribe datos

Causa: El Service Account tiene permisos de «Lector» pero el workflow intenta escribir.

Solución: En Google Sheets, cambia los permisos del Service Account a «Editor».

Bonus: Service Accounts vs OAuth — Comparación Técnica

Característica OAuth Service Account
Setup inicial Más fácil (1 clic) Más complejo (6 pasos)
Estabilidad Tokens expiran Credenciales permanentes
Vinculación Usuario específico Independiente
Permisos Heredados del usuario Configurables por recurso
Uso en producción No recomendado Ideal
Cambio de contraseña Rompe la conexión Sin efecto

Mi recomendación: OAuth para prototipos rápidos y pruebas. Service Accounts para todo lo que corre en producción.

Seguridad: Protege Tu Archivo JSON

El archivo JSON es sensible. Quien lo tenga puede actuar como tu Service Account.

Mejores prácticas:

  • No lo subas a GitHub (agrega *.json a .gitignore)
  • Guárdalo en un gestor de contraseñas (1Password, Bitwarden, etc.)
  • Usa variables de entorno si trabajas en equipo
  • Rota las claves cada 6-12 meses (opcional pero recomendado)
  • Nunca lo compartas por email/Slack sin encriptar

Si crees que se comprometió:

  1. Ve a Google Cloud Console
  2. Elimina la clave comprometida
  3. Genera una nueva
  4. Actualiza la credencial en n8n

Conclusión: Service Accounts = Automatizaciones Profesionales

Si estás construyendo automatizaciones serias para tu negocio, configurar service account Google n8n correctamente no es opcional, es obligatorio.

Sí, el setup es más largo que OAuth. Pero te ahorras:

  • Re-autenticaciones cada pocos meses
  • Workflows rotos por cambios de contraseña
  • Dependencia de usuarios específicos
  • Problemas de permisos en equipos

Configurar service account de Google en n8n te toma 15-20 minutos. Pero la estabilidad que ganas vale meses de dolores de cabeza evitados.

¿Tienes dudas sobre Service Accounts o n8n? Únete a mi comunidad de emprendedores en Cagala – Aprende, Repite — ahí podemos ayudarte entre todos a resolver cualquier duda técnica o de implementación.


Este tutorial es parte de mi serie sobre automatización para emprendedores. Si quieres más contenido técnico y práctico, suscríbete a mi newsletter.

Suscríbete a mi Newsletter

Estrategias de automatización, AI y startups que funcionan. Análisis semanal directo a tu inbox. (Sin spam, prometo intentarlo.)

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.